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  asc Task Type Severity Summary Status Progress Assigned To Due In Version Opened Last Edited
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.

1628NotificationsFeature RequestLowGlobal Notification addressUnconfirmed
2.0125.02.201017.01.2013 Task Description

For a combination of archiving / "notify bot" reasons I have found it useful to have a single global notification address where all bug reports / updates / comments go.

In the past I've used this to automatically dump updates into a IRC / Jabber chat room as well as provide a way for a project manager (me) to keep an idea of the amount of activity. Please let me know if you have questions about this.

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?

2023NotificationsFeature RequestLowInform users if reminder is disabled in system settingsNew
04.08.201504.08.2015 Task Description

There are 5 possible cases that IMHO should be handled more user friendly:

  1. There is no cronjob for the reminder (schedule.php) setup → Reminders are never sent
  2. Reminding is disabled in the global settings → Reminders are never sent
  3. Reminder setting 'email' only → Reminders are only sent to users who set their notification setting to 'email' or 'both' and setup an email address
  4. Reminder setting 'jabber' only → Reminders are only sent to users who set their notification setting to 'jabber' or 'both' and setup a jabber address
  5. Project notification setting not set → ??? (research...)
  • If notification is disabled (1. or 2.), the notification tab on 'task details page' should adapt to that I think. (by css style or message or tooltip)
  • If notification is restricted to only one notification channel, the current user should be informed on notification tab on 'task details page' if he would receive notifications with his current notification settings.
2064NotificationsFeature RequestLowDeadline Alert - so Flyspray can send notifications som...Maybe
106.10.201502.12.2015 Task Description

splitted from FS#1697 as own task

2216NotificationsFeature RequestLowAdd slack integration (webhook)Unconfirmed
1118.10.201625.10.2018 Task Description

It would be great to be able to configure a slack webhook that would post to a channel any task creation/deletion/modification.

2520NotificationsFeature RequestLowSend a notification for a new task in slack integration...Unconfirmed
424.10.201830.03.2020 Task Description

Hi, i made a way to integrate slack in flyspray using webhooks.. i not added to git.. if some can add for me it’s ok.

The process is simple.. maybe in the front the team can add a field for add the webhook for each action could be better.. in this moment the webhook is triggered only for newtask using the log method.. but you can simply add some “if” for each “type” of log.


1. Create a new field in the table flyspray_users named “slack”, and add the user slack for each user.
2. Edit the file /includes/class.flyspray.php , go to the function “logEvent” and change it by this:

public static function logEvent($task_id, $type, $newvalue = '', $oldvalue = '', $field = '', $time = null)
				global $db, $user;
				// This function creates entries in the history table.  These are the event types:
				//  0: Fields changed in a task
				//  1: New task created
				//  2: Task closed
				//  3: Task edited (for backwards compatibility with events prior to the history system)
				//  4: Comment added
				//  5: Comment edited
				//  6: Comment deleted
				//  7: Attachment added
				//  8: Attachment deleted
				//  9: User added to notification list
				// 10: User removed from notification list
				// 11: Related task added to this task
				// 12: Related task removed from this task
				// 13: Task re-opened
				// 14: Task assigned to user / re-assigned to different user / Unassigned
				// 15: This task was added to another task's related list
				// 16: This task was removed from another task's related list
				// 17: Reminder added
				// 18: Reminder deleted
				// 19: User took ownership
				// 20: Closure request made
				// 21: Re-opening request made
				// 22: Adding a new dependency
				// 23: This task added as a dependency of another task
				// 24: Removing a dependency
				// 25: This task removed from another task's dependency list
				// 26: Task was made private
				// 27: Task was made public
				// 28: PM request denied
				// 29: User added to the list of assignees
				// 30: New user registration
				// 31: User deletion
				// 32: Add new subtask
				// 33: Remove Subtask
				// 34: Add new parent
				// 35: Remove parent
				$query_params = array(intval($task_id), intval($user->id),
				((!is_numeric($time)) ? time() : $time),
				$type, $field, $oldvalue, $newvalue);
				if ($type == 14) {
					$usuarios = $db->query("SELECT DISTINCT a.slack, c.item_summary, d.project_title
						FROM {users} a
						JOIN {assigned} b on b.user_id = a.user_id
						JOIN {tasks} c on c.task_id = b.task_id
						JOIN {projects} d on d.project_id = c.project_id
						WHERE b.task_id = ?
						and a.slack <> '-'", array(intval($task_id)));
						$slackUsers = $db->fetchAllArray($usuarios);
						foreach ($slackUsers as $users) {
							$data = array(
								'text' => "New task: Project: " . $users['project_title'] . " | summary: " . $users['item_summary'] . " | taskId:" . $task_id ,
								'username' => "bott inslack",
								'link_names' => "1",
								'channel' =>  "@" . $users['slack'],
								'icon_emoji' => ":panda_face:"
							$options = array(
								'http' => array(
									'header'  => 'Content-type: application/x-www-form-urlencoded\r\n',
									'method'  => 'POST',
									'content' => json_encode($data)
                                                      // DEFINE SLACK WEBHOOK
							$context  = stream_context_create($options);
							$result = file_get_contents("", false, $context);
					if($db->query('INSERT INTO {history} (task_id, user_id, event_date, event_type, field_changed,
						old_value, new_value) VALUES (?, ?, ?, ?, ?, ?, ?)', $query_params)) {
							return true;
						return false;
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

2601Public RelationsFeature RequestMediumhttp -> https missing redirection (19-04-09)Assigned
Florian SchmitzCristian Rodríguez R.221.04.202002.05.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

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.
2425SlovenianFeature RequestVery LowTranslation: SlovenianConfirmed
105.03.201705.03.2017 Task Description

I prepared Slovenian translation.
File is in attachment.
You can freely add to release.

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

2052Text RenderingFeature RequestLowAdd Markdown syntax option for task descriptionsUnconfirmed
216.09.201508.08.2016 Task Description

“Markdown is a lightweight markup language with plain text formatting syntax designed so that it can be converted to HTML and many other formats using a tool by the same name.[6][7] Markdown is often used to format readme files, for writing messages in online discussion forums, and to create rich text using a plain text editor.” -

2085Text RenderingInformationMediumEnabling Color Coding options in CKEDITORUnconfirmed
130.10.201530.10.2015 Task Description


So I figured out that there are no color coding options (to set text color and background color) for text in the CKEDITOR. I did some changes to CKEDITOR to add those, however, once I submit the text, it does not retain the changes.

Is there a particular reason why these are not enabled in the first place?

I am thinking it would be good add these, so that we can make the important text pop-out to the users.

- Raju

2215Text RenderingBug ReportLowwrong output of Geshi syntax highlighting for xml codeNew
117.10.201631.12.2017 Task Description

Geshi from is quite slow at the current integration of Flyspray v1.0-rc3 on the first run. (But any further read uses the cache.)

But it produces garbled output for xml code highlighting:

Example without xml, just format as preformatted code:


Or as php syntax highlighting (even if it doesn’t contain a real php-tag ;-) ):


Example with xml choosen as language:


The table tag is stripped away instead of converting the tag for output inside code/pre tags (by converting the < and > chars). Maybe just a configuration issue?

2345Text RenderingBug ReportLow<hr> should be in allowed tagsUnconfirmed
220.02.201723.02.2017 Task Description

Because the hr tag is allowed in the new html comment editor it should be also allowed to display it in the ticket description.
class.tpl.php:875 –> just add it here

1844TranslationsFeature RequestLowCzech translateWaiting on Customer
208.03.201312.12.2019 Task Description

Hello, sorry my english - i’m translated Flyspray ver to czech language - its attached


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.

2114TranslationsTODOMediumStandardize the priority meaning across flyspray transl...New
207.04.201626.03.2018 Task Description

Standardize the priority meaning across flyspray translations.


0 - priority unset (database field default value)

1 - defer (or very low priority, often results the task is defered, see “Eisenhower principle”)
2 - low
3 - normal
4 - high
5 - very high

6 - flash (house burns, catastrophic event, website down, “boss” decision)

Some other software (other task planers/ email programs) use a 1-5 step priority. So an export feature to other software may merge priority 6 to priority 5 for such software.

In 2012 meaning was changed only in english translation.

Before normal was priority 2 in a 1-6 range, after it is priority 4 in a 1-6 range.
It should be IMHO 3 in that 1-6 range.

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

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

2210User InterfaceInformationLowTasklist color for due dateUnconfirmed
612.10.201618.10.2016 Task Description


I was wondering if there is a way to make the task more visible if it wasn’t completed due to the date that was selected by a user - let’s say a yellowish background in tasklist, just like the ones from custom css based on severity, but that will take color if the task has the due date passed.

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.

2456User InterfaceBug ReportHighMissing GUI controlsUnconfirmed
509.02.201810.02.2018 Task Description

After updating from “1.0-rc6” to “1.0-rc7 dev” there is missing controls menu on writer. Look attachment.
How to solve this?

Is there any settings to enable this or I’m missing something...

1969User InterfaceFeature RequestLowsearch form with Advanced search toggle layoutNew
1.1 devel312.03.201519.09.2015
1736User InterfaceFeature RequestLowBe able to add colors for Task StatusesPlanned
1.1 devel516.05.201215.10.2015
1749User InterfaceBug ReportLowSubmit form buttons on lower rightUnconfirmed
1950User InterfaceTODOMediumSolve confusing Flyspray group settings vs Project grou...Confirmed
1978User InterfaceBug ReportLowCompensate degraded usability due added token system an...Confirmed
2018User InterfaceBug ReportLowreview keyboard navigationResearching
1.1 devel526.07.201529.07.2019
2031User InterfaceTODOLowRendering overduePlanned
1.1 devel412.08.201514.08.2015
2065User InterfaceFeature RequestMediumOne click signup (with facebook, twitter , Google, yaho...Unconfirmed
2528User InterfaceBug ReportLowNew user registration doesn't check for duplicate usern...Confirmed
2553User InterfaceTODOLowintelligent accesskey shortcut helper dependent of OS, ...New
1040User InterfaceFeature RequestLowClose Multiple Tasks at onceNew
1.1 devel5317.08.200601.10.2015
2000User InterfaceFeature RequestLowResponsible persons column viewNew
1.1 devel122.06.201509.09.2015
2062User InterfaceTODOLowreview do=admin&area=editallusersNew
2108User InterfaceFeature RequestMediumSupport local language when install FlysprayConfirmed
2303User InterfaceFeature RequestVery LowHome screen for private flyspraysRequires testing
1847User InterfaceFeature RequestLowMake default theme responsivePlanned
1.1 devel314.03.201316.10.2015
1967User InterfaceBug ReportLowKeep browser scroll position when sorting task listNew
1.1 devel412.03.201519.09.2015
1970User InterfaceFeature RequestLowIcons for predefined task typesNew
1.1 devel112.03.201530.10.2015
2118User InterfaceFeature RequestLowShow overview of existing tags for usersAssigned
peterdd1.1 devel09.04.201626.10.2019
2308User InterfaceFeature RequestLowimprove user management for adminsNew
2317User InterfaceBug ReportMediumDate format wrongConfirmed
1.1 devel122.11.201622.11.2016
2009User InterfaceFeature RequestLowEdit task flowNew
2322User InterfaceFeature RequestMediumMention SystemNew
920User InterfaceFeature RequestLowCharts (gantt, severities, OSes, opened-closed, ...)Researching
1134User InterfaceFeature RequestLowadd icon/image for each projectPlanned
1.1 devel7329.11.200609.03.2015
Showing tasks 201 - 250 of 316 Page 5 of 7

Available keyboard shortcuts


Task Details

Task Editing