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  desc Assigned To Due In Version Opened Last Edited
2573Backend/CoreTODOLowadd rel nofollow,ugc,.. settingsNew
peterdd114.09.201915.09.2019 Task Description
  1. Find a good configuration name just reuse relnofollow as used by dokuwiki
  2. Find a good translation keyword for that config relnofollow
  3. Find a good translation keyword for config description (title attribute)

Goes into prefs table as it is sitewide configuration.

As first implementation a simple checkbox should be ok. Should be on the tab with other spam handling stuff like captcha configuration.

Is enabled by default (1).
Adapt setup xml files, upgrade procedure.

2128Text RenderingBug ReportLowGeshi (part of dokuwiki plugin for code blocks) uses de...Confirmed
2120.05.201605.05.2019 Task Description

The dokuwiki plugin uses a very old version of geshi for syntax highlighting which uses the deprecated /e modifier in preg_replace in two places rather than preg_replace_callback.

This can trigger warnings such as the following when initially parsing content which uses dokuwiki syntax and includes code:

PHP message: PHP Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/phpapps/flyspray/plugins/dokuwiki/inc/geshi.php on line 2058

PHP message: PHP Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/phpapps/flyspray/plugins/dokuwiki/inc/geshi.php on line 2067

This affects as well. Several hits came up on google when I search for the following due to the warnings having been displayed ahead of the page content (seen screenshot): flyspray preg_replace_callback

Because flyspray caches the results of processing dokuwiki content then the warnings don’t get emitted if the content has already been cached (so you may find that when you access the url in the screenshot that it doesn’t show the warnings unless you clear the cache entry for that task). Previews can get the warnings spat out as well if there are tagged code sections in the content.

I had a look at a more recent version of geshi ( from sourceforge) and they had fixed that issue in it (presumably along with a lot of other stuff) so I tried replacing plugins/dokuwiki/inc/geshi.php and plugins/dokuwiki/inc/geshi/* with the versions and that stopped the warnings. I haven’t extensively tested it, but it was processing stuff in code blocks correctly still on the couple of samples I tried.

I guess it’s a separate issue but the new flyspray theme doesn’t have any css styles to apply to the syntax highlighting (if you look at  FS#1107  you can see that, and in fact you can see it with the css bit below - if you inspect them with a browser dom inspector you can see that the genshi plugin has parsed and tagged the bits, but no styles are applied so its all just in the default colour). I can raise that as a separate task if worth doing? The following section in bluey stylesheet covered it I think:

.code .br0 {color:#6c6;}
.code .es0 {color:#009;font-weight:700;}
.code .kw1 {color:#b1b100;}
.code .kw2 {color:#000;font-weight:700;}
.code .kw3 {color:#006;}
.code .kw4 {color:#933;}
.code .me0 {color:#060;}
.code .nu0 {color:#c6c;}
.code .re4 {color:#099;}
.code .sc0 {color:#0bd;}
.code .sc1 {color:#db0;}
.code .sc2 {color:#090;}
.code .st0 {color:red;}
.code .co1,.code .co2,.code .coMULTI {color:gray;font-style:italic;}
.code .kw5,.code .re0,.code .re1,.code .re2 {color:#00f;}
2040Installer and UpgraderInformationMediumFS1.0 Release buildsConfirmed
1.0523.08.201517.04.2019 Task Description
  • Use github releases for the release? peterdd: Yes, currently only source releases without 3rd party vendors.

The Flyspray 1.0alpha1 .zip file release unzips directly to the current directory.

.zip files from github unzip to it’s own directory ( unzips to flyspray-master/ ). This is a bit safer, because you cannot accidently mess your directory structure with it.

  • The release should contain the binary fontawesome files instead of linking to the external CDN. Removes one dependency/singlepointoffailure. How this can be configured for automation? included in Flyspray source now. :-)
  • document how a release is exactly created. (consistency, reliability, automation, knowledge sharing for maintainers see below :-) )
  • Get in contact with os distributions, that could add Flyspray releases to their repositories (*BSD, Linux distributions, ..) This repositories could add the dependencies like ADODB within the packages (.rpm, .deb,..)
  • Get in contact with web hosting providers who provide integreated 1-click installs of software for their web hossting customers.
  • Get in contact with container builders (docker, ..)

Steps how to do a Flyspray release (since Flyspray 1.0 RC)

  1. Edit includes/class.flyspray.php on and set the correct version for the release there (remove the ' dev’ from the version string), commit as new branch e.g. 1.0-rc1
  2. Prepare a new release on , write a summary of changes since last release, choose the branch you created in the previous step, save as “draft”.
  3. “Release” the Flyspray source on github when satisfied with layout
  4. Run buildscripts for different php versions (see comments at FS#2040)
  5. Upload the created .zip and .tgz files to
  6. Upload the created .zip and .tgz files to stored since 1.0-rc2 only on to avoid redundancy
  7. Test the created blobs on different servers too.
  8. Edit the and link the source and packaged .zip and .tgz files
  9. Write a new article with a summary of highlights of changes since last release for the frontpage on
  10. Send an email to the Flyspray mailing list
  11. Important: If all is nice and shiny: Update the version string on so admins of flyspray get informed a new Flyspray release is available now. For instance change from 1.0-rc to 1.0-rc1 if you are releasing Flyspray 1.0 RC1. Must be the exact version you set in includes/class.flyspray.php .

Maybe we can use this sequence as template on for releases? :-)

2308User InterfaceFeature RequestLowimprove user management for adminsNew
127.10.201613.02.2017 Task Description

The register spam by probably bots in 2016 is annoying.

I ticked the setting, that an admin must accept a new registration. It helps to reduce spam task, but now admin must decide if the registrations are ok or just spam bots.

Beside the need of antispam-plugins, the management of users can be improved:

  • column sorting of user list, similiar to the tasklist
  • filtering user list, similiar to the tasklist
  • pagination of user list (25,50,100,200,all?)
  • more columns like ‘last login’, ‘last activity/tasks/comments created/votes/edit’ that may help to decide what status or settings a user should have in future.
  • show time zone setting and language setting of users implemented in userlist now
  • mass accept/deny of a list of user registrations waiting for admin approval.
2086Backend/CoreBug ReportHighBasic User can see all Projects and TasksUnconfirmed
803.11.201526.01.2017 Task Description

Since Update to Flyspray 1.0 Beta2 all users can see every task in every project.

The rights were set up correctly in Flyspray 1.0 Alpha and worked just fine.

2225GreekBug ReportVery LowGreek uses slash for datesConfirmed
324.10.201622.11.2016 Task Description

Short dates in Greek are represented in the majority of cases with slashes (24/10/2016). Very seldom some people may use the dash form (24-10-2016) and hardly ever the dot form (24.10.2016).

So it would be much appreciated if the slash form were a (working) option because as it is dates are a bit confusing to us, especially in a date-time combination (too many numbers in a not-so-obvious format - brain needs extra time to decode it).

2317User InterfaceBug ReportMediumDate format wrongConfirmed
1.1 devel122.11.201622.11.2016 Task Description

In some parts of the world (primarily the US), the date is viewed as Month/Day/Year. However, all options in the current rc4 build are listed as Day/Month/Year aside from one, which goes ShortWrittenMonth/Day#/Year#.

This is poor from a customer perspective, and can be highly confusing. I can change the date globally to a correct format in the database, but this doesn’t help much as every user can select their own date which has all incorrect formats.

2101Backend/CoreBug ReportLowMobile view GUI bugConfirmed
418.02.201624.02.2016 Task Description

As you can see on screenshot attachment the GUI on mobile view is not OK.

I marked with red field what need to be fixed.

Phone used: Samsung Note 4.

1751Backend/CoreFeature RequestMediumDefault to show all in Event LogConfirmed
1.1 devel1120.06.201209.02.2016 Task Description

Just show me all events when I click the Event Log tab (limited to x number). If I want to filter the results down I’ll use the UI.
Currently, I click Event Log and get no information. Then I have to build a query of what I want to see (every time!).

1812Backend/CoreFeature RequestLowMultiple email addressesPlanned
1.1 devel317.01.201330.12.2015 Task Description

An account should be able to have multiple email addresses associated with it. For example, my primary email might be, but I should also be able to log in via or other addresses I add.

1970User InterfaceFeature RequestLowIcons for predefined task typesNew
1.1 devel112.03.201530.10.2015 Task Description

for toplevel, roadmap and task list view.

For roadmap: replace the current ‘-’ between the task id and task summary with icons.

For toplevel: most wanted tasks and assigned to myself

ul.tasks li {clear:left;}
content: "\code";
font-family: FontAwesome;

On task list the column text can be replaced by icons, moving the text to title attribute.

Maybe use css :content-before or :content-after for that.

I suggest following font-icons from fontawesome are the easiest way to implement:

  • Bug Report use fa-bug , red color
  • Feature Request use fa-star , yellow
  • TODO a bold T, blue ( or blue fa-check?, but check mark maybe too ambiguous)

Gain: you faster see what types of task are on roadmap milestones and task list exists.

1847User InterfaceFeature RequestLowMake default theme responsivePlanned
1.1 devel314.03.201316.10.2015 Task Description

I think it is time to think about an theme optimizied for mobile Devices.

We will not maintain several themes. We will review the current CleanFS theme to make it responsible instead.

1875Backend/CoreFeature RequestMediumAbility to mark project as completedMaybe
1.1 devel6126.09.201312.10.2015 Task Description

Currently projects in Flyspray are active or set inactive.

It will be great to archive project if finished or abandoned. In this case it will not be shown in project overview page and project navigation combo.

1967User InterfaceBug ReportLowKeep browser scroll position when sorting task listNew
1.1 devel412.03.201519.09.2015 Task Description

When I scroll down the page to see more of the task list and then click on one of the column headings to sot by this heading, the answer page doesn't scroll down to the table.

I think there are 2 technical solutions for that:

1. set an name/id a-anchor on top of the table and on each column heading link add for example '#tasklist'.

2. add a js-sorter with complete extra search and sort ajax-backend with e.g. libs from This requires aleso writing a server side handler for taking the ajax requests (respecting user permissions!) and is only usable if js in enabled in browser. So this second solution can only be a luxury comfort function.

2620Backend/CoreTODOMediumPHP8 compatibilityNew
peterdd126.11.202027.11.2020 Task Description

PHP 8.0 is now released (2020-11-26) and Flyspray should be made compatible with it.

  • Replace removed and deprecated functions with alternatives in our source code.
  • Upgrade used libraries or make used libraries compatible:
    • post github issue or pull requests for ADODB
    • upgrade used dokuwiki or make changes in our integration (probably just review our as official dokuwiki project contains to much stuff we do not need and changed much)
    • review used geshi
    • upgrade our swiftmailer version to PHP8 compatible version
    • upgrade our oauth2-client stuff to PHP8 compatible version
2601Public RelationsFeature RequestMediumhttp -> https missing redirection (19-04-09)Assigned
Florian SchmitzCristian Rodríguez R.321.04.202025.09.2020 Task Description


19-04-09 // More one year ago.

There are not http → https redirections.

Only one example:
- is not redirected to

Note: It is better to have the main website in + + must be redirected to

2322User InterfaceFeature RequestMediumMention SystemNew
7107.12.201619.10.2019 Task Description

Hello together,

it would be nice, if you could mention user in your ticket or comment which are not following the task.
for example when i will type @nickname, the user “nickname” should be get a e-mail that he is mentioned in the ticket.

(if we are “fancy” then we can print a automcomplete after the @-sign ist typed)

2143TranslationsTODOVery Lowjscalendar: week start should be monday, ISO 8601Confirmed
201.07.201603.03.2019 Task Description

The current jscalendar shows sunday as the first day of the week by default.

Could be modified for a language by adding

// First day of the week. 0 means Sunday, 1 means Monday
Calendar._FD = 1;


See also

It should default to Monday as defined by ISO 8601.

2044Database QueriesBug ReportHighNeed set_charset for DB connect in config fileConfirmed
1.019204.09.201506.06.2018 Task Description

make a option in configuration file

me need set same $db1→set_charset(’utf8mb4’); for my MySQLi

have a problem with national letters

I see this error after i try enter national letters to the summary input text field for create new task

Query {UPDATE `flyspray_tasks` SET project_id = ?, task_type = ?, item_summary = ?, detailed_desc = ?, item_status = ?,
 mark_private = ?, product_category = ?, closedby_version = ?, operating_system = ?, task_severity = ?, task_priority = ?, 
last_edited_by = ?, last_edited_time = ?, due_date = ?, percent_complete = ?, product_version = ?, estimated_effort = ?
 WHERE task_id = ?} 
with params {1,1,тестовая задача,<p>sdfsdfdsfsd</p> ,2,0,4,0,1,2,4,1,1441344777,0,0,1,0,2} Failed!
(Incorrect string value: '\xD1\x82\xD0\xB5\xD1\x81...' for column 'item_summary' at row 1)
2449Backend/CoreBug ReportLowUnexepted exception on smtp gmail sendUnconfirmed
729.10.201710.01.2018 Task Description

On creating task we got error on event which must send e-mail via “google mail”.

I hoped that in rc6 this will be solved but not. This error was the same on rc4.

1673Backend/CoreBug ReportHighOnly white screen after upgrade to 1.0 - reasonsConfirmed
1.1 devel31412.01.201117.08.2016 Task Description

After I upgraded to version 1.0 (the upgrade was successful), flyspray only shows a white page (and the source in firefox shows, that the page is completely white).

Please help us finding the roots of these bugs!

Please report what you were exactly doing before this happend, report us your steps made, the used php version, used OS version, and such information.

We think most cases of that “white screen” are relying on the third party vendor libraries behavior we use.
When a library detects an error, sometimes they just call die() or exit; of php, but suppress error messages. So the script just stopped not giving any output to browser.

The dev versions from github use composer for installing the required libraries. We will package them on the final release together and make sure most cases of “white screen” are fixed.

2009User InterfaceFeature RequestLowEdit task flowNew
2.0118.07.201507.08.2016 Task Description

Currently only a small portion of adjustements on a task is available in the “edit task” view.

To add or modify stuff in the current tab sections (comments, related tasks, notifications, effort tracking,..)
a user must go from edit task to view task page.

This not optimal for work flow.

To solve this quite much changes are needed. Because currently they are different http requests each with its own checks and request anwsers.

2111Installer and UpgraderBug ReportMediumUpon trying to install flyspray release, setup says I'm...Planned
224.03.201605.06.2016 Task Description

When I tried to install a instance of flyspray that is a release, I am greeted with a screen that says that I am trying to install a development version of flyspray. Due to me using shared hosting, I am unable to run any composer commands.

My version of flyspray was downloaded from, so why would this be happening? Thanks

2621Backend/CoreBug ReportMediumphp notice/warning when reopening in some circumstancesNew
peterdd1.027.11.202027.11.2020 Task Description

Reopening a task triggers a PHP notice with PHP7.4 under some circumstances.
Reopening a task triggers a PHP warning with PHP8.0 under some circumstances.


  1. Create task
  2. Close task directly without setting a completion percentage
  3. Reopen the task
Notice: Trying to access array offset on value of type bool in /***/includes/ on line 684
Notice: Trying to access array offset on value of type bool in /***/includes/ on line 686
Notice: Trying to access array offset on value of type bool in /***/includes/ on line 686
2616Backend/CoreBug ReportMediumThere is a problem after a http/https link on a line wi...Confirmed
825.09.202010.11.2020 Task Description

When we add http/https links there is a problem.

I think, the problem is here for other URI too.


1/ With this code without code section :
The code:

- https://example.tld
- https://example.tld

We obtain:

The code :
- https://example.tld - https://example.tld

2/ Same to with a text in more, with this code without code section :
The code:

- example 1 https://example.tld/
- example 2 https://example.tld/

We obtain:

The code :
- example 1 https://example.tld/ - example 2 https://example.tld/

2602DocumentationFeature RequestLow instead of https:/...Waiting on Customer
2068Backend/CoreInformationLowDeprecated: mysql_connect(): The mysql extension is dep...Unconfirmed
2617Backend/CoreFeature RequestLowPreview button not at the good placeMaybe
2603Backend/CoreBug ReportVery Low Psi XMPP client (19-04-09)Waiting on Customer
2614EmailBug ReportCriticalConnection timed out #110Unconfirmed
2613Public RelationsInformationVery LowEmail ist SignupUnconfirmed
2609User InterfaceFeature RequestLowAdd an Effort Description fieldMaybe
2104Backend/CoreBug ReportLowfiltering by one user on tasks with multiple assignees ...New
2608EmailBug ReportMediumNotification email sent although not requestedUnconfirmed
2607AuthenticationBug ReportLowWhitespaces in email address fieldUnconfirmed
2606Database QueriesFeature RequestLowduedate column sort asc in tasklist should put unset du...New
2552EmailBug ReportHighEmail TLS error (was 'Mail Adress encryption')Unconfirmed
2600Backend/CoreInformationLowError #17 when selecting a projectUnconfirmed
2520NotificationsFeature RequestLowSend a notification for a new task in slack integration...Unconfirmed
2599Backend/CoreInformationLowad post request on new task creationUnconfirmed
2598User InterfaceBug ReportLowuser registration in admin area: "username taken" but t...Assigned
2595NotificationsFeature RequestLowNotifications to message platforms Unconfirmed
2053Backend/CoreBug ReportLowambiguous user name display username / realnameNew
1.1 devel217.09.201519.02.2020
2585User InterfaceTODOMediumUpgrade CKEditor to 4.13New
1782Backend/CoreFeature RequestLowCustom fields on taskPlanned
2588Backend/CoreBug ReportLowps_files_cleanup_dir: opendir(/tmp/.priv) failed: Permi...Unconfirmed
2589User InterfaceBug ReportLowTime zone in user settings is confusingUnconfirmed
2587Backend/CoreTODOMediumdisplay_errors=1 should not set in release candidateUnconfirmed
2581User InterfaceFeature RequestLowreplace bitmap icons of default themeNew
2582Backend/CoreInformationLowHow to reach internal windows share (was: Internal URL)Unconfirmed
Showing tasks 51 - 100 of 323 Page 2 of 7

Available keyboard shortcuts


Task Details

Task Editing