Flyspray - The bug killer!

This is the Bug Tracking System for the Flyspray project. This is not a demo!

2019-04-22: Flyspray 1.0-rc9 released See

ID Category Task Type Severity Summary Status Progress Assigned To Due In Version  desc Opened Last Edited
2544EmailBug ReportLowError when registering new accountUnconfirmed
123.03.201923.03.2019 Task Description

I installed the developer edition.

mysql Ver 14.14 Distrib 5.7.25, for Linux
PHP 7.2.15-0ubuntu0.18.04.1
Ubuntu 18.04.2

Admin settings → Allow users to register and send conf. email.

I DID set up email settings thru google and sent a test email. it did work.

After logging out, I tried to register a new account. I filled in details and got the following error:
Completely unexpected exception: Expected response code 250 but got code “530”, with message “530 5.7.0 Must issue a STARTTLS command first. u13sm3937813iog.80 - gsmtp "
This should never happend, please inform Flyspray Developers

Obviously, the confirmation email was never sent.

I am going to try to manually add a new user. Will update with outcome.

2545User InterfaceInformationLowCan't delete system wide 'Task Statuses'Unconfirmed
320.04.201905.05.2019 Task Description

From the ‘Task Statuses’ menu, when in the global project, the ‘delete’ cases are grayed out, preventing me from deleting them.

This is a problem for me because I would like to only have project specific statuses and I would like to name one of those statuses ‘Assigned’.

For now, I got around it renaming the system wide ‘Assigned’ status.

2549User InterfaceBug ReportLowOauth register template always shows "Username already ...Unconfirmed
06.05.201906.05.2019 Task Description

RC9 running on CentOS LAMP stack

Steps done to create the problem:
Set up google as an oauth provider.
Have a user click “Sign in with Google” in the login box.
User connects their account with Flyspray.
Google redirects the user back to Flyspray
The return screen (on flyspray) asks for a username.

Expected behavior:
No warning about duplicate username should be shown on initial page load since no username was entered yet

Experienced behavior:
A warning about the username being already taken is shown.

It appears there is no logic for showing or hiding that warning in register.oauth.tpl

(It would be great if flyspray was able to just use the email as a username to make the UX even better/simpler.)

2550EmailBug ReportLowException handling sending email notificationUnconfirmed
06.05.201906.05.2019 Task Description

Someone reported this:

Today i tried to report an issue about xxx on the xxx (namely xxx) and the following error message has been displayed:
Completely unexpected exception: Expected response code 250 but got code “451”, with message “451 Error in writing spool file "
This should never happend, please inform Flyspray Developers
The issue itself has been created though.
2551AuthenticationInformationLowLDAP/AD integrationUnconfirmed
315.05.201904.09.2019 Task Description


Please advise if there are known issues when integrating Flyspray with Active Directory using LDAP.

2552EmailBug ReportHighEmail TLS error (was 'Mail Adress encryption')Unconfirmed
330.05.201908.04.2020 Task Description

Official release

Steps done to create the problem:
Insert correct (tested with gmail) data into the notification tab and click on “Test”

SSL and TLS are checked.

Expected behavior:
Send test email and confirm it.

Experienced behavior:
Following error message

Error message:
Warning: stream_socket_enable_crypto(): Peer certificate CN=`*’ did not match expected CN=`mail*’ in /var/www/vhosts/**/flyspray/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php on line 103 Completely unexpected exception: Unable to connect with TLS encryption
This should never happend, please inform Flyspray Developers

2568DocumentationBug ReportMedium[MANUAL] a missing image in "Understanding Permissions:...Unconfirmed
101.09.201902.09.2019 Task Description

In the page , it is written

Shown is an image of the permissions page for the Flyspray project’s Contributors group

but there is no image in there.

I can think of two ways of dealing with that I guess:

  1. add an image
  2. remove the sentence

What do you think?

2582Backend/CoreInformationLowHow to reach internal windows share (was: Internal URL)Unconfirmed
304.11.201905.11.2019 Task Description

I have installed flyspray on an internal server and have problems with the renaming of internal links.

For example:
I want to put this link in the comment section.

it shows the link correct,
but when you hover over the link it shows:

And on clicking on it, of course I can´t access the file, because it´s trying to open an external link.
I dont want it to be renamed from ‘\’ to ‘/’.

Can somebody help me please.

I tryed to find it in the sourcecodes, but I have almost no experience in PHP.

Thank you!

2587Backend/CoreTODOMediumdisplay_errors=1 should not set in release candidateUnconfirmed
18.12.201918.12.2019 Task Description

display_errors = 1 should not set in include/ for releases or releases candidate, because with this it is not possibele to disable the error reporting globaly.

The problem is, if I want to enable full error reporting to logfile via “error_log=…” in php.ini, then the error will also full reported to user. Full error reporting is a hig risk for security.

Did you installed an official release or did you used an inoffical docker?!

Steps done to create the problem:
Create a file in base directory with follow contens:
error_reporting = E_ALL | E_STRICT
log_errors = On
display_errors = Off
error_log = /var/log/php-flyspray-errors.log

Expected behavior:
Errors only to log file

Experienced behavior:
All errors goes also to user.
The option “display_errors = Off” has no effect.

2588Backend/CoreBug ReportLowps_files_cleanup_dir: opendir(/tmp/.priv) failed: Permi...Unconfirmed
118.12.201928.12.2019 Task Description

Sometimes comes this message with a lot of backtrace log.
If you are reporting a bug please provide as much information as possible to help understand and reproduce the problem:

Did you installed an official release or did you used an inoffical docker?!
Official download flyspray-1.0-rc9

mysqlnd 5.0.12-dev
Linux 64bit
PHP Version 7.2.25

Steps done to create the problem:
Wait some weeke and edit a ID.

Experienced behavior:

[18-Dec-2019 13:19:41 Europe/Berlin] PHP Notice:  session_start(): ps_files_cleanup_dir: opendir(/tmp/.priv) failed: Permission denied (13) in /var/foo/htdocs/flyspray/includes/class.flyspray.php on line 1006
[18-Dec-2019 13:19:41 Europe/Berlin] PHP Warning:  session_start(): Cannot send session cache limiter - headers already sent (output started at/var/foo/htdocs/flyspray/includes/class.flyspray.php:1006) in /var/foo/htdocs/flyspray/includes/class.flyspray.php on line 1006
[18-Dec-2019 12:19:41 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /var/foo/htdocs/flyspray/includes/class.flyspray.php:1006) in /var/foo/htdocs/flyspray/index.php on line 96
[18-Dec-2019 12:19:41 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /var/foo/htdocs/flyspray/includes/class.flyspray.php:1006) in /var/foo/htdocs/flyspray/index.php on line 97
[18-Dec-2019 12:19:41 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /var/foo/htdocs/flyspray/includes/class.flyspray.php:1006) in /var/foo/htdocs/flyspray/includes/class.csp.php on line 76
[18-Dec-2019 12:19:41 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /var/foo/htdocs/flyspray/includes/class.flyspray.php:1006) in /var/foo/htdocs/flyspray/includes/class.csp.php on line 80
[18-Dec-2019 12:19:41 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /var/foo/htdocs/flyspray/includes/class.flyspray.php:1006) in /var/foo/htdocs/flyspray/includes/class.csp.php on line 82
2589User InterfaceBug ReportLowTime zone in user settings is confusingUnconfirmed
228.12.201928.12.2019 Task Description


When registering and when later editing users settings it’s possible to specify “Time zone” but the way it’s implemented is confusing. What I see is a drop-down list with GMT[+-]:digit: and this is an odd way to set the timezone for multiple reasons:

1. “GMT” is a word without universally accepted and defined meaning these days, see ;

2. Often time zone specification needs to include the rules when (if ever) to apply DST and what abbreviation is to be used in different cases. See TZ description on .

Taking these two points into account I can’t see how to meaningfully use this feature.

TIA for looking into it.

2595NotificationsFeature RequestLowNotifications to message platforms Unconfirmed
105.03.202026.03.2020 Task Description

Is there any possible implementation in the future of a way to send new tasks and edited tasks in to discord or some messaging software like bots do, for example github bot will post new issues to a channel in discord so users can see and check up on things, especially for big projects which use these types of things and need a way to notify users of updates

2599Backend/CoreInformationLowad post request on new task creationUnconfirmed
30.03.202030.03.2020 Task Description

I’m currently using flyspray

I want to make a little integration of our flyspray installation into slack.
I want make a POST request when a “new task is created”

Any experiment guy can help here ?
1. Where is the best place to achieve this quickly as “hack hardcode” 2. Im not php developer, is there any php lib in flyspray todo quick POST request without installing any additional lib.

2600Backend/CoreInformationLowError #17 when selecting a projectUnconfirmed
31.03.202031.03.2020 Task Description

When I am at the global projects page at index.php?do=admin&area=editallusers and now select a project from the dropdown menu at the top right, I get an error

FEHLER #17: Ungültiger Projektmanager-Bereich!

(according to the the translation area this is key 813: error17 Invalid PM area.)

If I select the project again, the projects start page will be shown correctly.

2607AuthenticationBug ReportLowWhitespaces in email address fieldUnconfirmed
03.05.202003.05.2020 Task Description

When I try to register at flyspray and add a space before the email address, registering does not work, I get the error message: “You did not enter a valid email address”. But my email progam ignores the space when I do the same there.

2608EmailBug ReportMediumNotification email sent although not requestedUnconfirmed
105.05.202005.05.2020 Task Description

I tried to register a user test3, and in my flyspray Installation the adminstratior disabled the notifications.
So I could only select “None” as text next to “Notifications”. After I pressed the button “Send Code!”, I received the email with the confirmation code. I clicked on the link in the email, and on the appearing website I entered the confirmation code and password and pressed the button “Register this account”.

Then I got the next e-mail message.
This message begins with:

“You have registered at Flyspray. Your details are as follows:”

This e-mail ends with the sentences:

“You are receiving this message because you have requested it from the Flyspray bugtracking system. If you did not expect this message or don’t want to receive mails in future, you can change your notification settings at the URL shown above.”

But this is not true. I have not requested this email. I as user test3 cannot change the notification settings because the notifications are disabled by the administrator.

2609User InterfaceFeature RequestLowAdd an Effort Description fieldUnconfirmed
07.05.202007.05.2020 Task Description

It would be nice to have a description field to put a brief note about the work done for a given effort item. This would help when using effort tracking for the purpose of making invoices to a client.

2610User InterfaceFeature RequestLowEffort pop-up timerUnconfirmed
07.05.202007.05.2020 Task Description

It would be terrific to have a small pop-up window that appears when you click to start tracking of an item. In the window could be:

  • the task name
  • a timer
  • a button to close the timer pop-up and jump to the effort tracking screen, or even to stop the effort timer in FlySpray if possible.

This would help tremendously to remind a developer that he has one or more timers going in FlySpray.

If multiple timers are started, there could be multiple timer windows, each identified by the task name showing as part of the window (title bar or some text near the timer).

1958User InterfaceFeature RequestLowPreselect values for event log viewNew
09.03.201509.03.2015 Task Description

Most (or even all?) of the selectable events should be preselected in the selection list.

1960Backend/CoreBug ReportMediumforeign key relations between versions and tasksNew
209.03.201513.08.2015 Task Description

It seem that when deleting a version entry in a project, that tasks that have this version assigned are still connected to this deleted version. For example FS#1222 (on 2015-03-09).

There are several options to solve such things:

  • Deny deletion of version as long as tasks assigned to this project version.
    • Either by doing a testing SQL query to check this case coded in PHP. Take care to keep this centralized, must also be respected by an eventually later added Flyspray API (XMLRPC or whatever).
    • add SQL foreign key constraints with ON DELETE RESTRICT
      • Pro: some business logic can be directly enforced by SQL.
      • Cons: higher requirements for hosting, if using mysql innodb tables must be available on the hosting
  • Move the tasks of this version to a default fallback version before deleting the version tag.
    • Either doing one transaction doing : 1. move the tasks to its fallback version, 2. delete the version
    • add SQL foreing key constraint with ON DELETE SET $fallbackversionid. Some pros & cons like on the the denying option.

The same for other assignments for tasks.

This issue is similiar to the massop issue: (

1961User InterfaceFeature RequestLowshow new notifications in flysprayNew
11.03.201511.03.2015 Task Description

similiar to or show new unread notifications on the topbar.

1962Backend/CoreFeature RequestLowSMS notification - sending notifications via sms same a...New
211.03.201502.12.2015 Task Description

moved from FS#1697 into a separate task.

1964DocumentationFeature RequestLowOn page documentationNew
11.03.201511.03.2015 Task Description

This is a parent task for all small helping or explaining tooltips that can be maybe added where approriate.

Many people don't like reading external documentations, which sometimes often is also not up to date with the current used version.

If you are doing something in Flyspray and you don't know exactly how it works or have to be done rigth and you must look at documentation, it breaks your workflow.

The best case is if its all perfect intuitive and you don't have to read any help texts. But in the case of more complex operations or things that do many things behind the scene a helping tooltip or explanation can give you a mental map and more trust into what the tool is doing.

1971Backend/CoreFeature RequestLowa field like challenge level or doom levelNew
12.03.201512.03.2015 Task Description

We have severity field.
We have priority field.
We have estimated effort field.

But we don't have a fíeld to see how hard a task is to solve. Something like in doom 3d shooter a face from normal/easy to angry/bloody/very hard.

Imaging you have some people in a company, some base educated, some high educated, some are experts in their field, some do repeating easy tasks.

By adding the ability to set a 'doom level' on tasks this can complete the view over a project in addition to severity,priority,effort.

1985Database QueriesFeature RequestVery LowFor developers - testing with huge flyspray data setsNew
224.03.201516.03.2016 Task Description

Here I will put some sql examples for the current developers to have a base for testings:

Starting with a default installation with its 1 example project and 1 example task:

I hope we can put all this into valuable phpunit tests for automatic testing with travis-ci.

Still TODO, do not use:
After fresh Flyspray install, add some more projects:

INSERT INTO flyspray_projects (project_title,project_is_active,others_view,anon_open) VALUES('Inactive Project', 0, 1, 1);
INSERT INTO flyspray_projects (project_title,project_is_active,others_view,anon_open) VALUES('Active Project Anonymous Reporting', 1, 1, 1);
INSERT INTO flyspray_projects (project_title,project_is_active,others_view,anon_open) VALUES('Deleted Project', 1, 1, 1);
DELETE FROM flyspray_projects WHERE project_title LIKE 'Deleted Project'; -- delete to have an id gap
INSERT INTO flyspray_projects (project_title,project_is_active,others_view,anon_open) VALUES('Active Project NO Others View', 1, 0, 0);
-- There should now be 4 projects with ids (1,2,3,5).
-- Now lets add some extra roles for a few projects
INSERT INTO flyspray_groups (group_name,project_id,manage_project,view_tasks,open_new_tasks,modify_own_tasks,view_own_tasks,view_groups_tasks) VALUES('Project3 Manager', 3, 1, 1, 1, 1, 1, 1 );
INSERT INTO flyspray_groups (group_name,project_id,manage_project,view_tasks,open_new_tasks,modify_own_tasks,view_own_tasks,view_groups_tasks) VALUES('Project3 Reporter', 3, 0, 1, 0, 1, 1, 1 );
INSERT INTO flyspray_groups (group_name,project_id,manage_project,view_tasks,open_new_tasks,modify_own_tasks,view_own_tasks,view_groups_tasks) VALUES('Project5 Developer', 5, 0, 1, 1, 1, 1, 1 );
-- Then create some more users:
INSERT INTO flyspray_users(user_name,real_name,email_address,account_enabled,tasks_perpage,lang_code) VALUES('tester1','T1Developer','',1,100,'en');
INSERT INTO flyspray_users(user_name,real_name,email_address,account_enabled,tasks_perpage,lang_code) VALUES('tester2','T2Reporter_P3Manager','',1,100,'de');
INSERT INTO flyspray_users(user_name,real_name,email_address,account_enabled,tasks_perpage,lang_code) VALUES('tester3','T3Basic_P3Reporter_P5Developer','',1,100,'fr');
-- And put them into a global group and a few into project roles too:
INSERT INTO flyspray_users_in_groups(user_id,group_id) VALUES(2,2);
INSERT INTO flyspray_users_in_groups(user_id,group_id) VALUES(3,3);
INSERT INTO flyspray_users_in_groups(user_id,group_id) VALUES(3,8);
INSERT INTO flyspray_users_in_groups(user_id,group_id) VALUES(4,4);
INSERT INTO flyspray_users_in_groups(user_id,group_id) VALUES(4,9);
INSERT INTO flyspray_users_in_groups(user_id,group_id) VALUES(4,10);
-- And lets fill the Database with 10 different configured task to simulate different cases:
INSERT INTO flyspray_tasks(project_id,task_type,item_status,supertask_id) VALUES(1,1,1,0); -- id2 in first project
INSERT INTO flyspray_tasks(project_id,task_type,item_status,supertask_id) VALUES(2,1,1,0); -- id3 in inactive project
INSERT INTO flyspray_tasks(project_id,task_type,item_status,supertask_id) VALUES(2,1,1,3); -- id4 in inactive project
INSERT INTO flyspray_tasks(project_id,task_type,item_status,supertask_id) VALUES(3,1,0,6); -- id5 status 0,supertask_id6
INSERT INTO flyspray_tasks(project_id,task_type,item_status,supertask_id) VALUES(3,1,0,0); -- id6
INSERT INTO flyspray_tasks(project_id,task_type,item_status,supertask_id) VALUES(3,1,1,6); -- id7
INSERT INTO flyspray_tasks(project_id,task_type,item_status,supertask_id) VALUES(5,1,1,0); -- id8
INSERT INTO flyspray_tasks(project_id,task_type,item_status,supertask_id) VALUES(5,1,1,8); -- id9
INSERT INTO flyspray_tasks(project_id,task_type,item_status,supertask_id) VALUES(5,1,1,9); -- id10
-- And now lets fill the database with many task referencing the 10 base tasks (10k or more rows) by repeating the following until enough (grows exponential x**2 !
INSERT INTO flyspray_tasks (project_id,task_type,item_status, supertask_id, item_summary) SELECT 3,1,1,FLOOR(RAND()*11),RAND() FROM flyspray_tasks;

These Examples can be used for finding bottle necks or problems on huge installations.

1991User InterfaceFeature RequestMediumAbillity to drill into progress graph from toplevel vie...New
1999XMPP/JabberFeature RequestMediumjabber xmpp configurationNew
2002User InterfaceFeature RequestLowshow user role on autocomplete for verificationNew
2007Backend/CoreBug ReportLowtime on project overview activity timelinesNew
2008User InterfaceTODOLowdifference between related tasks and related linksNew
2023NotificationsFeature RequestLowInform users if reminder is disabled in system settingsNew
2028Text RenderingBug ReportMediumupgrade dokuwiki 'plugin'New
2029Backend/CoreFeature RequestLowpossibility to let a user describe himselfNew
2030User InterfaceFeature RequestLowshow votes of a user on user pageNew
2032User InterfaceFeature RequestLowreplace hardcoded ... 'ellipsis'New
2034User InterfaceFeature RequestLowreduced extended search form when applicableNew
2036Backend/CoreBug ReportVery Lowsession timeoutNew
2038Backend/CoreBug ReportLowJscalendar must be replaced with something elseNew
2057Backend/CoreBug ReportLowDo not resubmit forms on browser reload button or F5New
2058Backend/CoreBug ReportLowClosing of 'Issues' featureNew
2059Backend/CoreFeature RequestLowusage of github automated/webhook notificationsNew
2062User InterfaceTODOLowreview do=admin&area=editallusersNew
2063Backend/CoreFeature RequestVery Lowshow closed/open usage count on do=pm&area=XXXNew
2073Backend/CoreBug ReportLowCouldn't edit comment of anonymous reporterNew
2104Backend/CoreBug ReportLowfiltering by one user on tasks with multiple assignees ...New
2105Backend/CoreFeature RequestMediumcountermeasures for 'add task anonymous' spamNew
2114TranslationsTODOMediumStandardize the priority meaning across flyspray transl...New
2127User InterfaceFeature RequestLowoverhaul task detail page layoutNew
2137Backend/CoreBug ReportLowfeature accesskey bad implemented by web browsersNew
2138User InterfaceFeature RequestVery LowOverhaul dokuwiki editor buttonbarNew
Showing tasks 201 - 250 of 316 Page 5 of 7

Available keyboard shortcuts


Task Details

Task Editing