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
2477Backend/CoreInformationLowold style MySQL extension is abandoned ..Unconfirmed
110.08.201810.08.2018 Task Description

the old php mysql extension is long ago reached its demise, why bother supporting it?

I also see in the database connector that your supporting MySQL/PDO - why not settle on that? If the queries aren’t MySQL specific, it becomes easier to support other DB’s, etc.

2479Backend/CoreInformationLowUser table seems really complexUnconfirmed
110.08.201810.08.2018 Task Description

why not store all the user preferences in preferences or user_prefernces? Then users can just be simple username, email, password?

2480Backend/CoreInformationLowBetter file organizationUnconfirmed
110.08.201810.08.2018 Task Description

Save public files inside public or public_html directories, and non-public files outside of those directories;

config file

vendor directory

setup logic


This goes onto another question/point - why are you deleting files from the vendor directory? It happens during composer install, and again after installation? Those files will just get put back if the user ever runs composer install again...

2482Backend/CoreInformationLowProtect issues by defaultUnconfirmed
110.08.201810.08.2018 Task Description

I get that your project is public and you want people visiting this site to see what issues you’re working on, but most people probably don’t want their bugs list open to the public;

Can this be protected/private by default?

2498TranslationsInformationLowApply variable in language keys to push the local site ...Unconfirmed
118.09.201802.11.2018 Task Description

Hi, in order for us to push our name (rather than flyspray) on emails, notifications, and GUI we had to edit the language file to replace the text “flyspray” with our install site name. That way notifications come from our company name rather than flyspray.

It would be nice if you could take the site name variable and add it to the language files in all keys that face the public user and all notifications. This would not only prevent editing of the lang file but also make setup alot faster.

Thanks so much..

2499User InterfaceBug ReportHighChange recaptcha from using file_get_contents to CurlUnconfirmed
118.09.201802.11.2018 Task Description

The issue with many servers now and the reason that recaptcha does not work is because it requires servers to enable allow_url_fopen which is a huge security risk. That is why you get the warning message when you try to run recaptcha that file_get_contents failed to connect.

So the solution is to use Curl to do that job.

Here is the fixed file, excuse my mess i had not cleaned up my code yet... but recaptcha now works.

this file goes in the includes dir... you can clean up the file if you like again sorry about that.

2527Backend/CoreBug ReportLowDatabase Check »Your mysql supports full utf-8 since 5....Unconfirmed
105.01.201905.01.2019 Task Description

Steps done to create the problem:
Access /index.php?do=admin&area=checks with a MySQL Version >= 5.5.3

Expected behavior:
Flyspray tests for character set and displays »Your mysql supports full utf-8 since 5.5.3. You are using x.x.x and flyspray tables could be upgraded.« when database schema or one table isn’t set to utf8mb4 character set.

Experienced behavior:
Flyspray always shows this note, even though character set is correct.

As far as I can tell from the source, a query gets executed to the database (and if I do that manually the result is “utf8mb4, utf8mb4_unicode_ci” for my database), but the result doesn’t get checket, the note is always shown (line 123)

2531TranslationsFeature RequestLowdetect usage of translation keywordsNew
110.01.201919.03.2019 Task Description

Some translation keywords of Flyspray are used at more than one code location.

To help translators doing the correct translations, it would help to show in what context a translation keyword is used.
Especially when a keyword is used more than once.

As we have our own translation helper integrated into Flyspray, we could show a ‘translation keyword usage counter’ there and maybe show on request in which file
a translation keyword is used.

It would also help to identify ‘abandoned’ translation keywords that are not used anymore by Flyspray source.

Also it would help to identify when a translation is used at more than one location with maybe different context.

I think we can use a regular expression and scan the whole Flyspray source for that.
(and maybe database entries if there are places that have translation keywords stored - I don’t think so, but better check that too first than forget that case)

The regular expression should match that examples case insensitive for the translation keyword report:


but also ugly cases like
l(    'report'
El ( "report"

case insensitive.

But not for example

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.

2552EmailBug ReportHighEmail TLS error (was 'Mail Adress encryption')Unconfirmed
130.05.201931.05.2019 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

2553User InterfaceTODOLowintelligent accesskey shortcut helper dependent of OS, ...New
106.06.201929.07.2019 Task Description

The HTML accesskey attribute feature is differently accessible dependent of operating system, web browser and web browser configuration, and users keyboard layout and user language.

By taking advantage of the User-Agent HTTP header value provided by default by web browsers, Flyspray could better know of what kind of keyboard and browser the user sits in front off and show the key combinations for the accesskey feature that best fits the users environment.

1599User InterfaceFeature RequestLowImplement "Tasks not blocked by other tasks"Unconfirmed
2.1111.08.200903.03.2013 Task Description

In the advanced search, there is "Tasks not blocking other tasks"

Implement a related: "Unblocked tasks" (i.e. Tasks not blocked by other tasks)

1608Installer and UpgraderBug ReportLowreserved characters cause database error after installa...Unconfirmed
0% Task Description

the installer does not check for reserved characters when writing to flyspray.conf.php, causing parse_ini_file() to return an invalid database password.

1792Backend/CoreFeature RequestLowChanges from Deprecated 1.0.0New
0% Task Description

Someone should go through all the changes from 1.0.0 and figure out which features should be ported to 1.0 devel and open tickets for them, and/or open tickets for the items that should be done in 2.0

1485User InterfaceFeature RequestLowAdditional extended Printview for the TasksPlanned
0% Task Description

It would be useful to print a list of tasks in a extended version.
e.g. All tasks from a programmer with all the details of it.

1491User InterfaceFeature RequestLowCustom task table columns for individual usersUnconfirmed
2.0301.07.200801.10.2015 Task Description

Allow individual users to define custom views of the task tables much like the project manager can for the entire project; only on a user scale.

An option for the user to "use default" project settings should be possible and should be the default.
Only pro users will change it to their needs, not the average reporter.

Interesting would be the possibility to change it dynamic on the tasklist view, not only on the myprofile setting page.

Open Question: Simple or complex implementation?

  • Simple: A new varchar field for the user table like it is in the project table and provide the same field chooser like on project setting page.
  • Complex: User settings for global tasklist view and each project. Needs extra 'project_user' (or 'user_project' ;-) ) join table. Well, maybe over engineered.
1774Backend/CoreFeature RequestLowEmail LayoutMaybe
0% Task Description

it is possible to change the layout for notification mails?
I'll put our logo into Mail body and I'll format the text in different font-styles.

Thank you!

1783NotificationsFeature RequestMediumCreate account for non-logged user automaticallyPlanned
0% Task Description

Hi, is there function in FS ( wchich allow unregistered user automatically create account? FS is accessible only for our workers.

It would be sth like that:
1. Non-logged user creates ticket.
2. He type his e-mail (
3. FS creates account for that user:
a. user's login: user_name
b. user's password: <generated by FS>
4. User's login and password'll be send on e-mail which was typed in e-mail field.

Is is possible to do it?

1834Backend/CoreFeature RequestLowuser profile pageMaybe
0% Task Description

Should have a page that is a users profile page. so clicking in that users name on a ticket takes you there and you can see what bugs are assigned to them, what they have commented on, and other info about them and about their activity.

1843Backend/CoreFeature RequestLowAttach 1 ticket to multiple projectsMaybe
0% Task Description

As title says

1871Backend/CoreFeature RequestLowRestricted Task Types Based on GroupMaybe
0% Task Description

I have a public bug tracker and would like to have a TODO like task, except restricted so only the developers can set the task type to TODO, while the general reporters can just submit bug reports or feature requests.

2010User InterfaceFeature RequestLoweffort tracking widgetNew
0% Task Description

If effort tracking started by a user on a task, maybe we should add a small widget on the page, so
user sees which tasks are currently running as his own time tracking.

1924Backend/CoreBug ReportLowBetter errors messages on email errorNew
1.1 devel11.07.201406.03.2015 Task Description

When entering the wrong SMTP information and then adding a user through Multiple New Users page, the error message is bad. It just says 'this should never happen'. Instead, we need to detect that it is an SMTP authentication error and report that issue to the user more clearly.

1959User InterfaceFeature RequestLowAdd vote from tasklistPlanned
1.1 devel09.03.201509.03.2015 Task Description

Well, title is self explanatory, but adding a vote button in the overview in task list whould be nice. And that backedup with an option to enable it or not in the admin panel

Idea by Wertandrew

1966User InterfaceFeature RequestLowMy votes on myprofileNew
1.1 devel11.03.201503.11.2015 Task Description
  • On the myprofile page have a section to show all my votes I put on tasks. done!
  • Add the possibility to remove own votes from tasks. done!
  • Implement a limitation of the amount of votes a user can put on tasks for a project. Can be enabled/disabled and amount configured. Done!
  • project based vote limitation
  • When a task is finished/closed, remove the user votes from the task and make that vote again available to the user. Maybe safe the existing historic voting count in an extra field of the task as the votes would drop to 0 on closing the task. removed.

We keep the votes, because a task can be reopened everytime and then the old voters and votes should be visible again. In this case the amount of votes on active task could be a bit greater than allowed, but thats no real problem.
The calculation of done votes and available votes based only on open task and project voting limit.

For example on you have 10 voting points. So you as user has to decide where your priorities are to put your votes.

So all users have more or less the same power to vote for tasks.

1968User InterfaceFeature RequestLowReplace Expand all / Collapse all on Roadmap page by pu...Planned
1.1 devel12.03.201516.03.2015 Task Description

and simplify interface:

  • If the tasks are collapsed, show only the expand all link/button
  • If ths tasks are expanded, show only the collapse all link/button
1976Backend/CoreFeature RequestLowSave sorting for actual projectPlanned
1.1 devel15.03.201515.03.2015 Task Description

"Sorting by columnXYZ" - possibly in $_SESSION?

2005Backend/CoreFeature RequestLowone account, several authenticationsNew
1.1 devel18.07.201518.07.2015 Task Description

Currently it seems a user needs two accounts
to login by normal user-password and oauth2 login with facebook,g+ etc.

Better would be if a normal username-password registered user could connect a oauth2-login with his existing login.

2016User InterfaceTODOMediumheading and h1, h2, h3New
1.1 devel23.07.201523.07.2015 Task Description

We should change the document logic a bit here. For public projects search engines like well structured pages more then others. And we get a consistent structure too in future for Flyspray.

This I have in mind

Project area name ("All Projects" or "Project name")

  • Currently: h1-tag
  • My wish: not a h1-tag anymore here

Admin setting / Project setting pages, title of the sub pages

  • Currently: h3-tag!
  • My wish: h1 tag

Section names in these pages

  • Currently: h4-tags
  • My wish: h2 tags, subsubs then h3,...

Task view page

Task name=summary

  • Currently: h2 tag
  • My wish: h1 tag

Task descriptions then can use structuring their task description starting as h2,h3,h4 (done by dokuwiki renderer for example)

Toplevel project overview /dashboard

  • Currently: h2 for each project name
  • My wish:
  • * keep h2 for each project name
  • * h1 for the page heading (maybe hidden by css)

New Task page

  • Currently: h2 for summary and tags. Wrong logical nesting!
  • My wish: drop the h2 for form field labels

Reports page

  • Currently: h3 tag
  • My wish: h1 tag

Roadmap page

  • Currently: h3 tag for each milestone
  • My wish:
  • * h2 tag for each milestone,
  • * h1 tag for heading (maybe hidden by css)

MyProfile page

  • Currently: h3 tag for each section
  • My wish:
  • * h2 tag for each section
  • *h1 tag for heading (maybe hidden by css)

(Sure the theme.css must be adapted to this change.)

2019User InterfaceFeature RequestMediumtitle -tag Waiting on Customer
1.1 devel26.07.201526.07.2015 Task Description

I vote for removing $fs->prefs['page_title'] from title-tag.

Comments welcome!


When the user has many open flyspray tabs, he cannot distinguish them at the first look, because the tab header is filled with redundant information of the systemwide 'page_title' name.

But the browsers also show the favicon.ico of the website (BTW: we need a better one, with some color - and the big webapp icons too for iPhone & co..)
So the user has indication that the tab is a flyspray tab and the page_title text is redundant and wasted space there.

Also search engines could better represent search results if they group together the results from one website. (google shows most relevant pages together if google is sure the whole website is the best search result for the search query (ranked #1)

flyspray> grep -r 'setTitle' *
includes/class.tpl.php:    public function setTitle($title)
index.php:$page->setTitle($fs->prefs['page_title'] . $proj->prefs['project_title']);
scripts/lostpw.php:$page->setTitle($fs->prefs['page_title'] . L('lostpw'));
scripts/newtask.php:$page->setTitle($fs->prefs['page_title'] . $proj->prefs['project_title'] . ': ' . L('newtask'));
scripts/register.php:$page->setTitle($fs->prefs['page_title'] . L('registernewuser'));
scripts/details.php:$page->setTitle(sprintf('FS#%d : %s', $task_details['task_id'], $task_details['item_summary']));
scripts/depends.php:$page->setTitle(sprintf('FS#%d : %s', $id, L('dependencygraph')));
scripts/index.php:$page->setTitle($fs->prefs['page_title'] . $proj->prefs['project_title'] . ': ' . L('tasklist'));
scripts/admin.php:        $page->setTitle($fs->prefs['page_title'] . L('admintoolboxlong'));
scripts/gantt.php:$page->setTitle($fs->prefs['page_title'] . $proj->prefs['project_title'] . ': ' . L('gantt'));
scripts/roadmap.php:$page->setTitle($fs->prefs['page_title'] . L('roadmap'));
scripts/pm.php:        $page->setTitle($fs->prefs['page_title'] . L('pmtoolbox'));
scripts/reports.php:$page->setTitle($fs->prefs['page_title'] . L('reports'));
scripts/myprofile.php:$page->setTitle($fs->prefs['page_title'] . L('editmydetails'));
scripts/toplevel.php:$page->setTitle($fs->prefs['page_title'] . $proj->prefs['project_title'] . ': ' . L('toplevel'));
scripts/newmultitasks.php:$page->setTitle($fs->prefs['page_title'] . $proj->prefs['project_title'] . ': ' . L('newtask'));
scripts/user.php:$page->setTitle($fs->prefs['page_title'] . L('viewprofile'));
2053Backend/CoreBug ReportLowambiguous user name displayNew
1.1 devel17.09.201517.09.2015 Task Description

With the existence of now two peoples named "Peter" on (I - peterdd , and PeterTheOne)
there are several places where the full names are display instead of usernames and the user can't know who is which "Peter" until he visits the users profile page.

Different solutions possible:

  • more profile image/gravatar usage where user names are shown
  • display username instead of full name
  • display full name and username (where much space available and precision needed)
  • ...
2055Backend/CoreBug ReportLowMake the csv export table fields respect the user permi...New
1.1 devel17.09.201517.09.2015 Task Description

Just moved issue #110 from to here for centralized task tracking.

Maybe just needs testing with current github master.

2118User InterfaceFeature RequestLowShow overview of existing tags for usersNew
1.1 devel09.04.201609.04.2016 Task Description

At several places it could be useful to let the user view available tags:

  1. When editing a task a toggle popup could show a list of selectable and existing tags.
  2. Make the list of tags searchable for the advanced search.
2139User InterfaceFeature RequestVery LowAdd project setting of popular used programming languag...New
1.1 devel17.06.201617.06.2016 Task Description

This is at the moment just a bit brainstorming ..:

Let the project administrator define what source code languages are used/popular in a software project and dependend of that setting prefer/promote that languages at the dokuwiki editor buttonbar.

This requires probably an additional database field in the flyspay_projects table (if just used for dokuwiki that should be ok)

If thinking further like Filter me all software projects that may ontain CSS code on the projects overview, a m:n-table setup is thinkable. But thats maybe overengineering..
Or can we use the existing tag-feature for that and just ‘tag’ projects with tags?

2039Installer and UpgraderTODOLowReview INSTALL, README, documentation files for release...New
30% Task Description

Check if the install, setup and upgrade instruction are correct:

  • dev/github versions (using composer for dependency resolving)
  • release versions (using composer or complete bundled binary releases containing all dependencies (ADODB, oauth2, ..)
2075NotificationsBug ReportHighToo spammy notifications under some circumstancesRequires testing
40% Task Description

danoh on github wants to work on patch. Couldn’t find him here..

2078User InterfaceBug ReportMediumlayout of requested close on small displaysNew
0% Task Description

currently absolute positioning overlapping deny button and not full visible

Possible better solution:

  • cssbased toggle
  • left:50%; width:300px;margin-left:-150px;margin-top:50px;
2221Installer and UpgraderInformationLowNotices on install with PHP7New
50% Task Description
Notice: Only variables should be assigned by reference in /*/setup/index.php on line 883 
Notice: Only variables should be assigned by reference in /*/setup/index.php on line 949
2453Backend/CoreBug ReportMediumvalidate category before storing a new taskNew
0% Task Description

Currently the category_id is not checked if the value is legal for the project when a new task is created.

  • must be unsigned int
  • must be an active category_id of the project or global category.
  • setting a category_id must be allowed - see project settings.

If invalid category_id is sent, deny creating task and show error message and show filled form again.

If no category_id is sent (or empty string) and category select is enabled:

  • either choose a default category


  • implement feature request FS#2451 and show that user should select a category.
2491Backend/CoreBug ReportLowgroup member links if project manager but not adminNew
0% Task Description

When a user has project manager permissions, but not admin permissions, then on the ‘edit group’ pages like index.php?do=pm&area=editgroup&id=8
the links in the list of users of that group are


instead of linking to the users page


and a redirect follows with Error #4: You don’t have administrative rights.

1518NotificationsFeature RequestLowShow last date/time when a reminder was sentUnconfirmed
15.11.200815.11.2008 Task Description

This information is already stored in the table "reminders" in field "last_sent". It might be helpful in some situations, if this date/time would be visible to the user on the reminder list, too.

1521Backend/CoreFeature RequestLowAssignees should be able to see and create reminders fo...Unconfirmed
22.11.200818.04.2009 Task Description

In version (unfortunately I couldn't select this version in the dropdown list on the left), reminders can only be created and edited by Admins and Project Managers. I recommend to give Assignees the permission to create reminders for themselves. To minimize any programming impact, his may be done as part of the "edit own tasks" permission.

This topic has been reported by Engie as part of Bug #713 for version 0.9.8 as well: "Also it would be useful if a user could create reminder for himself." Although that bug is already closed ("fixed in devel"), this part is not yet solved in the current version.

1670User InterfaceFeature RequestLowAssign Key-Shortcuts to form fieldsUnconfirmed
04.12.201004.12.2010 Task Description

Forms should be submittable by using keyboard shortcuts.
S for submit.
Set-able via the accesskey attribute on HTML inputs.

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.

1961User InterfaceFeature RequestLowshow new notifications in flysprayNew
11.03.201511.03.2015 Task Description

similiar to or show new unread notifications on the topbar.

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.

1983Backend/CoreFeature RequestLowExport Roadmap as "Changelog"Unconfirmed
21.03.201521.03.2015 Task Description

It's a little like "text version". So you could use this exported changelog within a new release.

I think good was:

  • Only resolved tasks ordered by date (but of course without displaying the date) and only public accessible tasks
  • Without task number ("FS#...")
  • A download function via button
1991User InterfaceFeature RequestMediumAbillity to drill into progress graph from toplevel vie...New
17.04.201524.04.2015 Task Description

From the overview view for a project the progress charts should be large and show dates so can have a better sense for absolute progress and then when click it should see it full size going back to start of project and showing dates.

2002User InterfaceFeature RequestLowshow user role on autocomplete for verificationNew
22.06.201522.06.2015 Task Description

When adding peoples with the autocompleter the name itself is not always enough, especially with a growing number of registered users.

We now have the avatar icon as helper, but for quick verification it would be easier to see also the role of the user in the current project to identify the right user account.

( The red rectangle at peterdd autocomplete row is from a broken avatar upload, ignore it for this task, see  FS#1979  instead .. )

Showing tasks 201 - 250 of 293 Page 5 of 6<<First - 2 - 3 - 4 - 5 - 6 -

Available keyboard shortcuts


Task Details

Task Editing