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  asc Progress Assigned To Due In Version Opened Last Edited
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...

2481Backend/CoreInformationLowMove to MVCUnconfirmed
10.08.201810.08.2018 Task Description

That way you can just protect the setup routes after installation, etc.

And have a much less cumbersome .htaccess file.

And take sensitive files outside of the server path and not risk letting them get out in the public

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?

2484Backend/CoreInformationLowIncrease min. version of PHP requirementUnconfirmed
10.08.201810.08.2018 Task Description

Then you can gracefully drop support of old MySQL extension AND drop the need for password compat, since BCRYPT and password_hash are built into PHP from version 5.5 onwards

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..

2521EmailInformationLowTLS email with self-signed certificate doesn't work, "C...Unconfirmed
531.10.201803.11.2018 Task Description

I use a personal email server with a self-signed certificate (i’m not sure if it’s possible to use my https certificate for that? i don’t even kind of understand what all I did to get this email server setup, and I don’t really want to mess with it... especially since my https certificate comes from Let’s Encrypt... so i might have to muck with the email server every 60 days ... not sure?) ..

anyway, when I try to connect to it with Flyspray, I get above the Test Email button, “Completely unexpected exception: Unable to connect with TLS encryption
This should never happend, please inform Flyspray Developers”

Most systems have a way to override and accept an invalid cert, but I’m not seeing anything obvious about doing that with Flyspray. Does a function for this already exist, or do we need a way to do that? (alternatively, I would accept help in properly configuring my email lol)

2524EmailInformationLowSMTP Mailer doesn't accept custom portsUnconfirmed
05.11.201827.11.2018 Task Description

Did you installed an official release or did you used an inoffical docker?!
MySQL 8.0.12, 7.2.9 on debian buster

Steps done to create the problem:
Enter server:port at Mail-Settings

Expected behavior: would make use of the custom port

Experienced behavior:
TLS Errors

          if ($fs->prefs['email_tls']) {
              $swiftconn = Swift_SmtpTransport::newInstance($fs->prefs['smtp_server'], 587, 'tls');
          } else if ($fs->prefs['email_ssl']) {
              $swiftconn = Swift_SmtpTransport::newInstance($fs->prefs['smtp_server'], 465, 'ssl');
          } else {
              $swiftconn = Swift_SmtpTransport::newInstance($fs->prefs['smtp_server']);

Should be changed to

          $someTemporaryVariable = explode(':',$fs->prefs['smtp_server']);
          if ($fs->prefs['email_tls']) {
              $swiftconn = Swift_SmtpTransport::newInstance($someTemporaryVariable[0], $someTemporaryVariable[1] || 587, 'tls');
          } else if ($fs->prefs['email_ssl']) {
              $swiftconn = Swift_SmtpTransport::newInstance($someTemporaryVariable[0], $someTemporaryVariable[1] || 465, 'ssl');
          } else {
              $swiftconn = Swift_SmtpTransport::newInstance($someTemporaryVariable[0], $someTemporaryVariable[1] || 25);
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.

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.

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!

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.

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.

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.

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: (

1965Public RelationsBug ReportHighPR fixes for FS 1.0 on external sitesNew
1.1 devel111.03.201524.07.2015 Task Description

Summary of TODO I found on the net:

  • There is a very old project site of flyspray on . The info there should be updated or removed.
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.

1982Backend/CoreBug ReportLowdouble entries in assignees listNew
1.1 devel320.03.201511.02.2016 Task Description

maybe yet fixed in 1.0 dev, but here my account is shown twice for selection if u edit a task.

Internally in the form also with the same id, so probably not a big problem.

I registered some years ago, maybe this year jordan(?) added me again or with another email adress? Maybe I have two addresses under on account here, which is a feature, not a bug.

But for the assignee list it should “group by user_id”.

2004User InterfaceBug ReportLowphp notice on unset params on reports pageNew
1.1 devel218.07.201519.09.2015 Task Description

If on the reports page some get params aren't set, there are notice warnings on the report result page



without start date,end date,result size

But it can be useful to have a bit shorter urls for sharing between authorized users instead the full params url.

Result page should use user default and project default settings fallbacks for the unset get params.

2007Backend/CoreBug ReportLowtime on project overview activity timelinesNew
18.07.201518.07.2015 Task Description

I find it irritating to have the oldest activity on the right side and newest activity on the left side of the small activity bars.

There is also no time scale description. This could be added by showin it on :hover to keep the simple appearance.

A complete new feature would be to replace the image generation by rendering the bars in the html in the same request, e.g by inline svg or canvas element. This would enable adding some interactivity with the activity bars..
A related feature request is FS#1991 (project progress)

2028Text RenderingBug ReportMediumupgrade dokuwiki 'plugin'New
12.08.201520.08.2015 Task Description

I see php deprecation notices with php 5.6+ from the geshi syntax highlighter plugin of dokuwiki plugin sometimes. (seems to be go away on the second view, so probably not seen on cached views)

It can't be found easy with

grep -r preg_replace | grep '/e'

Because the preg_replace modifiers are added dynamic depending on the target programming language. At least in the version we have in flyspray.

2036Backend/CoreBug ReportVery Lowsession timeoutNew
2121.08.201512.01.2016 Task Description

Got "wrong token" on creating a task whose form were open for a while in browser tab.

That means probably the session timed out on, so the anti csrf token doesn't existed anymore on the webserver.

It would'nt be a big problem if the browser backbutton works showing the ready written form again, but it was empty.

One solution would be temporarly storing it offline in the browser storages which are available with html5. But open for other simpler solutions..

2038Backend/CoreBug ReportLowJscalendar must be replaced with something elseNew
223.08.201524.08.2015 Task Description

It's old. There has been a newer version 2.0. Even that one is not supported anymore, although some documents still remain available. The calendar component relies on its language translations files to be complete, or it breaks. Unfortunately, as I found out a few weeks ago, they are not, after switching the default language from english to my native one. Without having a good replacement for it, some of the translations for flyspray itself we've been getting lately are half-way unusable. Not for an ordinary user, but for anyone actually having to edit a task and its due date.

2053Backend/CoreBug ReportLowambiguous user name display username / realnameNew
1.1 devel217.09.201519.02.2020 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, on mouseover link title attribute shows username and realname
  • display user name (username) instead of full name (realname)
  • display full name and username (where much space available and precision needed)

When adding the mention feature, the username will be probably the prefered setting as the username is unique but the realname not.

2055Backend/CoreBug ReportLowMake the csv export table fields respect the user permi...New
1.1 devel17.09.201517.09.2015
2057Backend/CoreBug ReportLowDo not resubmit forms on browser reload button or F5New
2058Backend/CoreBug ReportLowClosing of 'Issues' featureNew
2073Backend/CoreBug ReportLowCouldn't edit comment of anonymous reporterNew
2074User InterfaceBug ReportMediumOpening tasks from tasklistNew
2078User InterfaceBug ReportMediumlayout of requested close on small displaysNew
2089Backend/CoreBug ReportMediumadding same taskid as subtask or related task should be...New
2104Backend/CoreBug ReportLowfiltering by one user on tasks with multiple assignees ...New
2137Backend/CoreBug ReportLowfeature accesskey bad implemented by web browsersNew
2188Backend/CoreBug ReportVery LowIt should not possible to relate a task to itselfNew
2215Text RenderingBug ReportLowwrong output of Geshi syntax highlighting for xml codeNew
2332Backend/CoreBug ReportMediumCSV export filename filteringNew
2436Backend/CoreBug ReportLowdokuwiki renderer creates nonunique html-id for h1,h2,h...New
2441Backend/CoreBug ReportMediumrefactor dokuwiki image tagsNew
2453Backend/CoreBug ReportMediumvalidate category before storing a new taskNew
2454Backend/CoreBug ReportLowPHP warning in admin edit user areaNew
2491Backend/CoreBug ReportLowgroup member links if project manager but not adminNew
2559Backend/CoreBug ReportLowa duplicate close accepted even when missing comment/ r...New
2560Backend/CoreBug ReportLowdo not allow close task with reason duplicate referenci...New
1040User InterfaceFeature RequestLowClose Multiple Tasks at onceNew
1.1 devel5317.08.200601.10.2015
1792Backend/CoreFeature RequestLowChanges from Deprecated 1.0.0New
1798Backend/CoreFeature RequestLowBounty System New
1811Backend/CoreFeature RequestLowGoogle Docs/Dropbox IntegrationNew
1820Backend/CoreFeature RequestLowMerge comments, history, and detailsNew
1958User InterfaceFeature RequestLowPreselect values for event log viewNew
Showing tasks 101 - 150 of 316 Page 3 of 7

Available keyboard shortcuts


Task Details

Task Editing