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

IDCategory  ascTask TypeSeveritySummaryStatusProgressAssigned ToDue In VersionOpenedLast Edited
1539Backend/CoreFeature RequestLowSitemap.xml GenerationUnconfirmed
2.12112.01.200911.03.2015 Task Description

I would like the feature to have a sitemap.xml file be generated, say every xx days, set in the configuration.

1612Backend/CoreFeature RequestLowAllow Comments by anonymous UsersUnconfirmed
2.02120.10.200917.01.2013 Task Description

I would love a option to allow anom users to write comments! Maybe with CAPCHA...
I allow anom users to report bugs, but when I have a question to this bug, or the reporter wants to make a additions, he has to register...

I tried hacking it in the core: In the class.user.php at the end of the get_perms method I added:
$this→perms[$proj_id]['add_comments'] = 1;

But I has nothing changed. The I removed the check if the user had the right to make a comment in the template file, now I have a comment field for everyone, but anom user get a error message saying, that they should enter a comment... I searched a lot in the core files, but I don´t find the point where the comment a written in the database... I would a great help if you could give at least a hint :)

Another thing i tried was changing the user contructor, that every user with a negative ID get the ID 2, witch is a special "anom" user. But then you could not log out, a the admin not in...

Here the link to my site:

1823Backend/CoreFeature RequestLowComments with edit changesPlanned
2.0230.01.201306.03.2015 Task Description

When editing a ticket to change things like User, Percent done, etc should be able to add a comment. When changing 100% → 70% for example, there is usually a comment that goes along with that (e.g., you didn't yet finish changing the background color)

1868Backend/CoreFeature RequestLowOne issue for multiple componentsMaybe
2.0222.06.201312.11.2015 Task Description

Hi,I would like to see a enhancement, where you can submit/edit and assign it to multiple components, as it needs work from multiple sides.

For example: A user asks for a new object to be visualized. This includes work of the GUI designers and altering internal core structures. For internal management, I would like to label this for both teams.

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

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.

1973Backend/CoreTODOLowurl rewritePlanned
1.1 devel214.03.201511.02.2016 Task Description

Well, it needs a cleanup, per example:

fixed now

That should be something like:

The actual one is actually half a rewrite and half a GET version

1981Backend/CoreTODOLowUnify event logging and notificationsConfirmed
1.1 devel220.03.201522.03.2015 Task Description

They are currently two separate mechanisms. Shouldn't be so. Events happen always, notifications when someone should be or have chosen to be notified about those events.

Besides, the current code is just a total mess that should be fixed/rewritten anyway, and we unfortunately also overlooked during the development phase 2 things: one new table, users_emails, and the fact that the user is now allowed to give several email addresses separated by a semicolon.

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.

2049Backend/CoreFeature RequestMediumDisplay login page or customizable page to anonymous us...Unconfirmed
209.09.201504.04.2016 Task Description

Currently, if there are no public project, the anonymous users gets a blank page not very useful. It will be a good idea to have a global configuration parameter to display some customizable-page or maybe the login form instead.

2089Backend/CoreBug ReportMediumadding same taskid as subtask or related task should be...New
1.0207.11.201518.11.2016 Task Description

Both is a bit illogical, but both is currently possible! ;-)

1 ←- 1

So when setting the parent task id checked for creating loops is needed:

Loop with 2 tasks: 1 ←- 2 ←- 1

Loop with 3 tasks: 1 ←- 2 ←- 3 ←- 1
Loop with n tasks: 1 ←- ... ←- n < – 1

As I think there are currently no recursive reads that could lead to an endless loop, but should be kept in mind when someone wants to programm rendering a gantt chart.
E.g. by limiting the depth of subtasks for example.

2159Backend/CoreTODOHighfresh registered user accounts created spam tasksNew
204.07.201625.10.2016 Task Description

Today it was first time I see real spam on

The 2 spam accounts registered today and started creating spam posts as new tasks.

What is the reason? Was it by real humans or bots?

So what can we do to reduce this in future?

Ideas for making it harder and unattractive for spammers:

  • Users who never opened a nonspam-task or contributed a useful comment should solve a captcha
  • Limit the amount of creating tasks for new registered users or a user groups, like limiting to 2 tasks or 1 task per user per day.
  • Settings for a more moderated task creation process? Like a quarantine dbtable for tasks?
  • If we closed such spam tasks with WTF? reason, it will still be listed by search engines like google at the moment:
  1. Move spam tasks to a ‘dumpster project’, that is not visible for guests (search engines!) too.
  2. Or make spamming to visible flyspray projects unattractive, lets set noindex for: closed task for some special reason id?
  3. Delete spam tasks from database if allowed by your organization

Update: another and this time more aggressive phone number spammer.

2208Backend/CoreInformationLowSeverity "medium" by defaultSuspended
2127.09.201629.09.2016 Task Description

Where i can change severity and priority by default?
I want change severity to “Medium” by default for group Basic
I cant find this option in the Flyspray settings.

2332Backend/CoreBug ReportMediumCSV export filename filteringNew
224.01.201724.01.2017 Task Description

The filename for the csv export is build based on project name and current date.

Due different handling of web browsers, the appropriate http header should send the filename in ascii and also provide them as utf-8 for web browsers who can handle that.

Related RFC5987

2338Backend/CoreBug ReportMediumExport tasks to csv has issuesUnconfirmed
202.02.201712.03.2019 Task Description

You cannot select the fields for export to csv. This means that the commentfield (edit: you mean task description, right?) is always exported too. As this commentfield task description (?) could contain quotes, comma’s etc (like people inserting copies of emails on an issue) it corrupts the output file and the file cannot be read by excel.

2346Backend/CoreFeature RequestLowCustom css inheritanceUnconfirmed
220.02.201723.02.2017 Task Description

If i set up a custom css in the main FS settings the style doesn’t get applied to all nested projects. I have to set the css to all projects explicitly to get the stylings work on all project pages.
Wouldn’t it be a good idea to first load the css set in the main dialog and after that load an additional css specified in the sub project? Then it would be possible to specify general stylings for all projects and project based stylings also.

2427Backend/CoreFeature RequestLowallow hotlinking (direct links) to uploaded filesUnconfirmed
207.03.201709.03.2017 Task Description

Currently all attached files get renamed (like “screenshot331.png” → “attachments/14_72a4ca580abcdef69f60b1f”) and they could be downloaded only throught the php script (”/index.php?getfile=1234”) which requires that user must be logged in to view the file.
It is not very convenient when you need to show a file to some person who is on mobile phone at the moment or using not a work computer. Also sometimes you might need to share a file with anyone without having them to register at your bug tracker.

I suggest you to add a checkbox like “create a direct link” when uploading a file, which will save the file with original name and extension but adding some random generated prefix (like “screenshot331.png” → “attachments/14_72a4ca580abcdef69f60b1f.screenshot331.png”).

However this poses a high security risk so there should be a list of allowed file extensions (e.g. “jpg,png,txt,pdf,doc,zip”) - only these files could be saved with the original extension. This list should be accessible by the main administrator only, thus the safest option would be storing it inside the “flyspray.conf.php”.

2430Backend/CoreFeature RequestLowUser dependency on projectUnconfirmed
216.03.201720.03.2017 Task Description

So, there would be great option if we can set permission to users to see and post only in specific opened projects in bug tracker.

Idea is, that user has all right to all projects, but in some cases we want that user can see only projects which is allowed and also to publish new tasks to only allowed projects.

In that case tasks overiew is locked and user must be logged in to see opened tasks.

2436Backend/CoreBug ReportLowdokuwiki renderer creates nonunique html-id for h1,h2,h...New
202.08.201702.08.2017 Task Description

The dokuwiki renderer automatic creates for each h(1-6) tag an html id attribute, but doesn’t ensure that this:

  • is not used by Flyspray templates
  • is unique across all tasks (tasklist summary/description mouseover!), id must be unique on a webpage.

Example: id=”footer” and id=”title” are used by the default CleanFS template for example.








The original intention I think is to make dokuwiki content each h-section linkable, for instance by a “table of contents” at top of a wiki content page.
This is currently not used by the dokuwiki integrated in Flyspray, but could be in future.

Possible solution

Add the task_id to the generated id h(1-6) tags, for instance “d1234_footer” “d1234_title”

d - like description

(t1234 used for tags/labels id currently)

2447Backend/CoreFeature RequestMediumAllow notifications when a new task is createdUnconfirmed
226.10.201729.10.2017 Task Description

The only (only!) feature that I have missing in Flyspray is an option to receive email notifications when a new task is created

I think that this could be in the profile of the user, and/or in the main configurations as “send a notification to the -group- (admins?) when a new task is created”

Thanks a lot! flyspray r00lz after all these years, never failed, no bugs, no hacks, fast and efficient! :)

A Happy user.

2448Backend/CoreBug ReportLowerror message in eventlog reportsUnconfirmed
226.10.201729.10.2017 Task Description

The last version of Flyspray is simply amazing! it works like a charm :)

This is a small bug report in the eventlog page, that shows this message:

Notice: unserialize(): Error at offset 237 of 808 bytes in /home/elivebugs/ on line 88 Notice: unserialize(): Error at offset 229 of 796 bytes in /home/elivebugs/ on line 88

There’s a small screenshot:

Thank you!

2451Backend/CoreFeature RequestLowMod: blank Category - user must chose before pressing A...Confirmed
208.12.201714.12.2017 Task Description

Hello Peter,

I am interested in making the following mod:

When posting a new task, category should be blank by default, in order for the user that opens a new task to select that specific category.
If he doesn’t select any task, when pressing Add this task button, FlySpray should display an error message saying that the Category hasn’t been specified.

Do you think this mod can be made with the current version?
If so, do you mind if you help me a bit with the things that need to be modified?


2535Backend/CoreFeature RequestLownew optional Flyspray setting: add new users automatica...New
216.01.201921.01.2019 Task Description

When a Flyspray installation allows user self registration and has public but also more private projects, this feature could make the required configuration more clear:

In this case, keep the number of global user groups as low as possible and the global user group for basic or just registered users has only the ‘can login’ permission and nothing more.
Because that only would be useless for new registered users, adding them also to a basic user group of a public project could be useful.

So my suggestion is:

A new optional global setting: Something like ‘default project user group’ (store 2 values: a project_id and a group_id). Validity of that setting must be checked during any user registration, so that project must exists now and at later time as also that project user group within that project. (’Checks’ of admin prefs)

So it would be like this for a new registered userA:

  1. userA is in a basic default global user group: only login permission to handle his account registration (login, logout, user preferences, password forgotten)
  2. userA is in project X default user group: some basic permissions you want allow for every (new) registered user in project X
  3. project Y: all ‘allow anyone ...’-settings are unchecked, userA not in any user group of project Y

The setting is probably best put below the ‘Default global group for new users’ setting in the global admin prefs tab #userregistration as

Either: A dropdown list with all public projects with an existing user group and dependend on the selection the available basic project groups are loaded by ajax as a select list too.

Or: Only one dropdown list that contains a list of public projects with possible project user groups. Would not require extra ajax calls and is maybe enough because we could exclude project groups that have project manager permission or such configuration nobody would allow new registered users.

no default project user group
public projectA - simple user groupA1
public projectA - simple user groupA2
public projectB - simple user groupB
public projectC - simple user groupC

This idea could be enhanced further (put the new user to multiple public projects when he registers or let user choose from public allowed projects during registration process), but lets start simple.

2536Backend/CoreFeature RequestMediumstore session in Flyspray databaseNew
221.01.201915.03.2019 Task Description

Currently the sessions are stored by the webservers default settings.

Having this sessions under control by Flyspray by storing it in the database has following advantages:

  1. Allows handling of all sessions of a user by Flyspray.
  2. Providing a session management for each user. The user can see on which devices he is currently logged in and could also force a logout on selective devices.
  3. A forced logoff of all or some user sessions is easy implementable for admins.
  4. Statistics about how many users and who is logged in. (user status: hide always, online, offline, do not disturb, ..)
  5. Could make onpage-notifications easier to implement.
  6. .. ?


  1. A potential unknown security bug in Flyspray that could lead to reading a session db table could leak informations like who is currently online/active and make further attacks more focused or makes session takeover easier.
  2. .. ?
1734Backend/CoreBug ReportLowAdd Timezone Selection to Admin PanelMaybe
2.0112.05.201207.03.2015 Task Description

Add Timezone Selection to Admin Panel

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

1760Backend/CoreFeature RequestLowColumn 'last commenter' in tasks list viewMaybe
2.01227.07.201225.10.2016 Task Description

Hey Flyspray Team,

a nice feature would be to see which user commented recently on a task.
This could be a simple new column in the tasks list view.



1766Backend/CoreFeature RequestLowAllow users to choose their favourite themePlanned
2.01116.08.201204.08.2015 Task Description

add a theme Setting in the user details, where the user can override the global theme setting (maybe even per project?) with his favourite theme.

1772Backend/CoreFeature RequestLowDifferent kinds of votesMaybe
2.01123.09.201209.03.2015 Task Description

It would be nice to have multiple kinds of votes, e.g. yes/no.

1791Backend/CoreFeature RequestMediumAbility to merge version, OS, etcSuspended
1112.12.201212.01.2017 Task Description

For example, say I no longer want 1.1,, 1.0.0, etc. So want to merge them all into one version 1.0. Same goes for OS, and others

1798Backend/CoreFeature RequestLowBounty System New
2.0113.12.201206.03.2015 Task Description

Add a system where people can donate towards a specific task. For example, I want to donate $10 if someone implements gravatars. The money sits in a pool, and then when someone claims that task and it is marked as completed by the admin, they get the bounty (less some commission that goes towards the project).

1856Backend/CoreBug ReportMediumWrong timezonesResearching
1227.03.201306.03.2015 Task Description

when selecting timezone in user profile, it only offers offset based timezones. It should offer timezones like "Europe/Prague", instead, because in summer it is UTC+2 and in the winter UTC+1. Also UTC is the same as GMT.

Using offsets will cause invalid future and past times when crossing daylight saving or when something other changes.

Adding daylight checkbox is not enough and will cause additional troubles. Just use names and store them as ENUM in database, not offset. This problem is pretty complicated and the only solution is to use names and let libraries to solve it for you.

Thank you.

1858Backend/CoreFeature RequestLowClone Tasks and ProjectsMaybe
2.0102.04.201315.09.2017 Task Description

My workplace is piloting Flyspray for an internal project and one feature that my boss was asking about was the ability to clone tasks and projects.

We have reoccurring simultaneous projects that contain a large number of testing tasks, and tasks dependent on other tasks, which makes starting up a new project very tedious. If it was possible to clone the contents of a task, or an entire project, we could create template tasks/projects that would really speed up the workflow.

1866Backend/CoreFeature RequestLowAPI for automatically report a bugMaybe
2.01108.05.201306.03.2015 Task Description

Actually you can't automatically add a bug report. Or i haven't found it.
In a first time a simple report via email or webservice could be great.

- Project Name
- Message
- System
- Version
- Status –> New
- Priority → Normal
- Category –> On a new category (created by default) : 'Automated report bug'

Sorry for bad grammar, i'am not english.

1977Backend/CoreBug ReportLowWeird URL after closing task with referenceUnconfirmed
115.03.201518.03.2015 Task Description

On Mac OS Safari:

I just closed a task and wrote the following into the comment for closing:

"See also F.S.#.14" (of course without the points). When I then click the link in the comment box (below the task details) I'm redirected to:
"http:/flyspray.stefan-herz%0Aog.tld/index.php?do=details&task_id=%0A14". No matter if #14 is closed or not.
It worked with Firefox.

Any suggestions?

2022Backend/CoreFeature RequestLowdefault or auto options for some settingsNew
1.1 devel103.08.201515.01.2019 Task Description

Some project and user settings should be able to set back to its default or 'auto' option.

  • flyspray or project wide task list length, currently hard coded to 250
  • user tasks_perpage setting
  • user notifytype
  • user timezone
  • user language (system/project and auto (browser detection) selectable)
  • ...
2029Backend/CoreFeature RequestLowpossibility to let a user describe himselfNew
112.08.201518.01.2018 Task Description

This could be done by a textarea field (like comment text or task description) on the myprofile page and stored in a new field (of type text for instance) in the user table.

This allows the user to introduce himself to the other users.

Should be restrictive, for instance only simple text allowed, no html or tags.

2054Backend/CoreFeature RequestLowFields for csv export choosable like for task listNew
2.0117.09.201531.12.2017 Task Description

Currently the task list columns are used, which are choosed by admin or project manager for the task list view.

2057Backend/CoreBug ReportLowDo not resubmit forms on browser reload button or F5New
122.09.201523.09.2015 Task Description

On some forms, when the user presses the reload button of this browser, the POST submit can be resubmitted.

Browsers can warn about this (Chromium, Firefox, Konqueror tested and they show a warning dialog) before executing the second POST.
But people on Flyspray mailing list wrote they experienced double comments.

Simple solution is just HTTP GET redirects after a successful POST. (HTTP 303 or HTTP 302)
But maybe there is a better method than a second roundtrip always needed?

Success, Error, or Warn-messages to the user are stored in the $_SESSION variable for displaying on the second GET request.
But I think that this is a bit ... mmh... not perfect.

For example, I would like to have in the direct response at which position in a form an input error is, not just the message bar in the top center as it is currently that just dissappear after a few seconds.

Also take care the browser back button still works as expected for the user.

2105Backend/CoreFeature RequestMediumcountermeasures for 'add task anonymous' spamNew
127.02.201627.02.2016 Task Description

Today I got first SPAM on bugtracker.

Question: Is it possible to enable CAPTCHA for anonymus task add?

Question 2: Is it possible to delete SPAM tasks.

2107Backend/CoreFeature RequestLowSupport CAS Server AuthenticateUnconfirmed
102.03.201604.03.2016 Task Description

Please support Central Authentication Service, thank you.

2197Backend/CoreBug ReportHighChange Time for everyoneUnconfirmed
121.08.201622.08.2016 Task Description

Flyspray does not recover the time set in php.ini. On display, the system has two hour delay.

2203Backend/CoreInformationLowlanguage files are in folder lang. But i can't change l...Unconfirmed
121.09.201621.09.2016 Task Description

In Admins Toolbox (Project preferences) i choose language de. The file exists in folder lang. But only english is shown. the same for french and so on. No really changes.

2207Backend/CoreBug ReportHighNonpublic project titles and project description exposi...Confirmed
1.0123.09.201629.09.2016 Task Description

When a anonymous user tries to display a ticket of a non public project (for example by entering a random ticket id), Flyspray exposes the title of the non public project in the header bar.

Edit by peterdd: also applies to project description

2335Backend/CoreInformationLowPDF Attachment does NOT View/Open in New Window/TabUnconfirmed
127.01.201727.01.2017 Task Description

if a pdf is attached with commentit needs either be forced as download or open target _blank

2429Backend/CoreInformationLowMy tasks URLUnconfirmed
109.03.201720.03.2017 Task Description

Hey peterdd,

I was wondering: is there a standard URL for “My tasks”? I have an internal website and I would like to create a menu with a few submenus (Add task and My tasks) that link to FlySpray. However if I place the URL for My Tasks (being logged in with my user account), and copy this link to the menu, all others that click the submenu My Tasks, are seeing the tasks that where opened by me or where I am assigned, not that user that is connected on Flyspray with his account on his PC.

So that’s why I am asking for a generic URL of My Tasks, so I can place it on this middle-site?


2435Backend/CoreInformationLowMax attach a fileUnconfirmed
118.07.201718.07.2017 Task Description


Can you tell me which file to modify to increase the size of the attachments? Currently limited to 2mb. I would like to authorize 4mb

Thank you


2476Backend/CoreInformationLowGuzzle/Guzzle is abandoned, should use library that's s...Unconfirmed
110.08.201810.08.2018 Task Description

(Working on a network monitoring system that really needs a ticketing system, saw this and since I speak PHP, thought it would be a good place to start... I just installed and am sharing my notes, do with them what you will!)

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.

Showing tasks 51 - 100 of 290 Page 2 of 6 - 1 - 2 - 3 - 4 - 5 - Last >>

Available keyboard shortcuts


Task Details

Task Editing