All Projects

ID Project Category Task Type  asc Severity Summary Status Opened by Opened Progress
1965FlysprayPublic RelationsBug ReportHighPR fixes for FS 1.0 on external sitesNewpeterdd11.03.2015
1 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.
2075FlysprayNotificationsBug ReportHighToo spammy notifications under some circumstancesRequires testingpeterdd19.10.2015
Task Description

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

 2452 FlysprayBackend/CoreBug ReportHigh deprecated functions since PHP7.2 Closedpeterdd13.12.2017
1 Task Description

Well, as everybody can see at the moment, someone (who? @floele ?) updated the server hosting to PHP7.2.x and now some ‘deprecated’-warnings are shown.
Edit: For example not working Flyspray 1.0-rc6 and older with the brand new PHP7.2:

  • shows deprecated info on top
  • shows deprecated info at every comment
  • tells task in work by other user when you want to save a task.
  • Uploaded files aren’t downloaded correct (open a downloaded image with a hexeditor for example to see)
  • probably also scheduler (cronjob/schedule.php and sending emails effected)
 2624 FlysprayBackend/CoreBug ReportHigh fatal error with PHP8 and syntax_plugin html (ckeditor) Closedpeterdd10.02.2021
Task Description

The used get_class_methods($classname) function now throws exception in PHP8 when the class does not exists (or couldn’t be found).

grep -rin4 get_class_methods 
class.tpl.php-1006-	public static function render($text, $type = null, $id = null, $instructions = null)
class.tpl.php-1007-	{
class.tpl.php-1008-		global $conf;
class.tpl.php:1010:		$methods = get_class_methods($conf['general']['syntax_plugin'] . '_TextFormatter');
class.tpl.php-1011-		$methods = is_array($methods) ? $methods : array();
class.tpl.php-1013-		if (in_array('render', $methods)) {
class.tpl.php-1014-			return call_user_func(array($conf['general']['syntax_plugin'] . '_TextFormatter', 'render'),
class.tpl.php-1036-    public static function textarea($name, $rows, $cols, $attrs = null, $content = null)
class.tpl.php-1037-    {
class.tpl.php-1038-        global $conf;
class.tpl.php:1040:        if (@in_array('textarea', get_class_methods($conf['general']['syntax_plugin'] . '_TextFormatter'))) {
class.tpl.php-1041-            return call_user_func(array($conf['general']['syntax_plugin'] . '_TextFormatter', 'textarea'),
class.tpl.php-1042-                                  $name, $rows, $cols, $attrs, $content);
class.tpl.php-1043-        }

Previously it just returned null as also documented on! :-/ :

In case of an error, it returns null.

So either php guys update their source code or documentation. Netherless a workaround is needed.

 1952 FlysprayBackend/CoreBug ReportMedium Funniest bug ever - shooting in the foot Closedpeterdd07.03.2015
Task Description

Well, it sounds stupid, but testing also the stupiest things can show flaws..

Ok: If you are admin - even id 1 - you can change your own group from "Admin" to "Basic".

Imaging what happens after you saved the form. :-D

1960FlysprayBackend/CoreBug ReportMediumforeign key relations between versions and tasksNewpeterdd09.03.2015
2 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: (

 2015 FlysprayNotificationsBug ReportMedium notification if category was changed Closedpeterdd22.07.2015
1 Task Description

If the category of a task was changed, the receivers of notifications for this task
only get the category ids, but not the name of the category in their notification.

 2026 FlysprayBackend/CoreBug ReportMedium 'add a link' on comment broken Closedpeterdd12.08.2015
1 Task Description

An added link in a comment seems to not be saved or shown after edit.

 2027 FlysprayUser InterfaceBug ReportMedium missing abort button on 'edit comment' Closedpeterdd12.08.2015
Task Description

no task description

 2028 FlysprayText RenderingBug ReportMedium upgrade dokuwiki 'plugin' geshi Closedpeterdd12.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.

2078FlysprayUser InterfaceBug ReportMediumlayout of requested close on small displaysConfirmedpeterdd26.10.2015
11 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;
2089FlysprayBackend/CoreBug ReportMediumadding same taskid as subtask or related task should be...Newpeterdd07.11.2015
21 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.

 2102 FlysprayBackend/CoreBug ReportMedium strict ordering of tags required  Closedpeterdd19.02.2016
2 Task Description

When saving the tag list at admin and project area, the ordering of the tags must be recalculated.

So it is not more legal to have a list ordering like (0,0,0,1,3,4,7)

That should be recalculated and stored as (1,2,3,4,5,6, 7) (or 0,1,2,3,4,5,6)
currently in file includes/


The SQL for the tasklist uses currently GROUP_CONCAT (and a equivalent syntax for postgres) that groups by list_tag.list_position.
Well, we could just ‘group by’ the tag_id too, but with list_position value we can show the most important tags first.

3 times, and that 3 result fields must be in the same order. (tag id, tag name, tag class field)

Also that sql-query part there needs a little modification, but first fix that strict ordering.


Don’t use group_concat() or similiar for list_tag.tag_name or list_tag.class. Instead load an indexed array once per http request and only when needed.

For instance as function within

         * load all tags into array
         * compared to listTags of class project, this preloads all tags in flyspray database
         * ideally maximal called once per http request, then using the array index for getting info
         * @return array
        public static function getAllTags()
                global $db;
                $res = $db->query('SELECT tag_id, project_id, list_position, tag_name, class, show_in_list FROM {list_tag}');
                while ($t = $db->fetchRow($res)){
                return $at;

in scripts/index.php in function tpl_draw_cell():

function tpl_draw_cell($task, $colname, $format = "<td class='%s'>%s</td>") {
  global $fs, $db, $proj, $page, $user, $alltags;
  case 'summary':
                        # if global $alltags are yet undefined, preload the tags now.
                        if(!is_array($alltags)) {
 foreach($tagids as $tagid){
                                $tgs.='<i class="tag t'.$tagid
                                        .(isset($alltags[$tagid]['class']) ? ' ' .htmlspecialchars($alltags[$tagid]['class'], ENT_QUOTES, 'utf-8') : '').'" title="'.htmlspecialchars($alltags[$tagid]['tag_name'], ENT_QUOTES, 'utf-8').'"></i>';
2119FlysprayBackend/CoreBug ReportMediumfunction filter_input not always availableResearchingpeterdd15.04.2016
Task Description

filter_input() is in extension “Filter”.

It is enabled by default since PHP5.2, see but not “always”, see!topic/flyspray/QM75BvwPqGM

filter_input() is only used at 1 section in Flyspray (since 2014 up to v1.0rc1) in includes/
This is the commit

How do we solve it? Several possibilities:

 2120 FlysprayBackend/CoreBug ReportMedium anonymous task creation in restricted project not possi ...Closedpeterdd19.04.2016
2 Task Description

with this general project settings for everyone (users and anon):

Project is active ('project_is_active'): yes
Allow anyone to view tasks of this project ('others_view'): no
Allow anyone to view roadmap of this project: no 
Allow anonymous users to open tasks: yes
  1. Project is not selectable from Project drop down list with this settings, but should.
  2. The can_view_project permission is currently a calculated value, currently using ‘others_view’ permission for guests.
  3. Review where can_view_project() permission is used to limit access.
  1. Evaluate if “Allow anonymous users to open tasks”- perm make can_view_project()-permission true is sufficient.
  2. Or just use the “Allow anonymous users to open tasks”- perm at the relevant places. (I tend to prefer this, because of very limited places.)
  1. TODO: Maybe move
Allow anyone to view tasks of this project: no
Allow anyone to view roadmap of this project: no 
Allow anonymous users to open tasks: yes

from ‘Preferences’ project settings tab to the ‘User Groups’ project settings tab. So everything permission related is at one place.

I think the problem is within index.php, put in with commit

A anon user cannot pass behind this code lines:

// make sure people are not attempting to manually fiddle with projects they are not allowed to play with
if (Req::has('project') && Req::val('project') != 0 && !$user->can_view_project(Req::val('project'))) {
    Flyspray::show_error( L('nopermission') );

But before just removing removing the “exit;” here, needs too review if anon users cannot trigger bad actions.

2121FlysprayBackend/CoreBug ReportMedium'my assigned tasks' uses like %?% search instead of use...Confirmedpeterdd19.04.2016
32 Task Description


The button ‘My assigned tasks’ should search only by userid, not in username or realname with the LIKE ‘%...%’ operator.

Currently the button is using the same as doing an advanced search filling the ‘Assigned To’ input field. (currently ‘dev’ param) But that search param searches in userid, username and realname.

Edit: Implemented simpler solution: if param is digitsonly, then search by userid, otherwise by username and realname if that param exists.

 2213 FlysprayBackend/CoreBug ReportMedium fix warnings with PHP7 Closedpeterdd17.10.2016
Task Description

There are still some warnings about deprecated constructors when Flyspray runs with php7.

2332FlysprayBackend/CoreBug ReportMediumCSV export filename filteringNewpeterdd24.01.2017
2 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

2441FlysprayBackend/CoreBug ReportMediumrefactor dokuwiki image tagsNewpeterdd15.09.2017
Task Description
I’ve tried inserting an image in the intro message but it doesn’t show. Is there something broken in the file? Seems unlikley because it’s so old but can’t work out why nothing shows.

I had to disable some parts last year within dokuwiki quickly due sever reported security issues in that area.

As tradeoff embedding images currently don’t work within dokuwiki textareas in Flyspray.

As I too wish that feature reappear working for my projects, this is on my personal list. But requires focused free time because must be made secure.

Maybe instead of using fetch.php of dokuwiki, we can use Flypsray’s ?getfile=id , which also checks permissions.
But must check also securly file types and maybe resize images to fit into the desired page (thumbnails).

2453FlysprayBackend/CoreBug ReportMediumvalidate category before storing a new taskNewpeterdd14.12.2017
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.
 2532 FlysprayBackend/CoreBug ReportMedium spaces before or after a single word search gives too m ...Closedpeterdd11.01.2019
1 Task Description

Spaces before or after a task search string gives too many results in the tasklist.

Example search strings:

test (space after word test)
 test (space after word test)

Found this on, but also current 1.0-rc7 has this problem.

 1869 FlysprayBackend/CoreBug ReportLow personal language settings Closedpeterdd04.07.2013
1 Task Description

It should be possible to switch the User Interface language for users. Just connect it with the current session of users.

And the prefered language should be an option in the profile details of registered users.

 1953 FlysprayBackend/CoreBug ReportLow do form actions first, then build the anwser page Closedpeterdd07.03.2015
2 Task Description

If you save forms, it can happen that something is changes on the page. ^^

But if you render parts of the answer page before the form action is handled and database changes are made,
the answer page shows old information. Only on an additional request you see the current data.

The wrong way to solve this is making a redirect. Saw this in some other software and it was source of problems.

1967FlysprayUser InterfaceBug ReportLowKeep browser scroll position when sorting task listNewpeterdd12.03.2015
4 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.

1978FlysprayUser InterfaceBug ReportLowCompensate degraded usability due added token system an...Confirmedpeterdd16.03.2015
5 Task Description

Due to the needed implementation of an anti csrf system into Flyspray 1.0,
this are a side effect issues we need to address:

Due the required replacement of action links to form buttons:

  • The user cannot just see anymore the target url of the action by hovering over the link. We can compensate that in the simpliest case by using the title-tag as additional info to the user. Trust not full reestabilished that way, but better than nothing and user has fear to click a form button.

Javascriptless CSS3-toggles:

  • Some clickable labels don’t show pointer icon when :hover. CSS issue, easy fix.
1982FlysprayBackend/CoreBug ReportLowdouble entries in assignees listNewpeterdd20.03.2015
 1996 FlysprayUser InterfaceBug ReportLow readd ajax_load.gif to CleanFS/ Closedpeterdd04.06.2015
2004FlysprayUser InterfaceBug ReportLowphp notice on unset params on reports pageNewpeterdd18.07.2015
2007FlysprayBackend/CoreBug ReportLowtime on project overview activity timelinesNewpeterdd18.07.2015
2018FlysprayUser InterfaceBug ReportLowreview keyboard navigationResearchingpeterdd26.07.2015
 2037 FlysprayBackend/CoreBug ReportLow Task closing reason not mouse selectable Closedpeterdd21.08.2015
 2050 FlysprayBackend/CoreBug ReportLow тестовая задача Closedpeterdd10.09.2015
2053FlysprayBackend/CoreBug ReportLowambiguous user name display username / realnameNewpeterdd17.09.2015
2055FlysprayBackend/CoreBug ReportLowMake the csv export table fields respect the user permi...Newpeterdd17.09.2015
2057FlysprayBackend/CoreBug ReportLowDo not resubmit forms on browser reload button or F5Newpeterdd22.09.2015
2058FlysprayBackend/CoreBug ReportLowClosing of 'Issues' featureNewpeterdd24.09.2015
2073FlysprayBackend/CoreBug ReportLowCouldn't edit comment of anonymous reporterNewpeterdd17.10.2015
 2090 FlysprayBackend/CoreBug ReportLow dokuwiki code /e modifer deprecated .. Closedpeterdd10.11.2015
2104FlysprayBackend/CoreBug ReportLowfiltering by one user on tasks with multiple assignees ...Newpeterdd26.02.2016
2137FlysprayBackend/CoreBug ReportLowfeature accesskey bad implemented by web browsersNewpeterdd15.06.2016
2215FlysprayText RenderingBug ReportLowwrong output of Geshi syntax highlighting for xml codeNewpeterdd17.10.2016
2436FlysprayBackend/CoreBug ReportLowdokuwiki renderer creates nonunique html-id for h1,h2,h...Newpeterdd02.08.2017
2454FlysprayBackend/CoreBug ReportLowPHP warning in admin edit user areaNewpeterdd15.01.2018
2491FlysprayBackend/CoreBug ReportLowgroup member links if project manager but not adminNewpeterdd01.09.2018
2550FlysprayEmailBug ReportLowException handling sending email notificationUnconfirmedpeterdd06.05.2019
2559FlysprayBackend/CoreBug ReportLowa duplicate close accepted even when missing comment/ r...Newpeterdd29.07.2019
 2560 FlysprayBackend/CoreBug ReportLow do not allow close task with reason duplicate referenci ...Closedpeterdd29.07.2019
 2569 FlysprayBackend/CoreBug ReportLow after deleting the last existing project some php warni ...Closedpeterdd02.09.2019
2629FlysprayBackend/CoreBug ReportLowactivating history tab sends same request 2 timesNewpeterdd11.03.2021
 2645 FlysprayBackend/CoreBug ReportLow Bug in estimated_time - class.effort.php Closedpeterdd08.07.2021
Showing tasks 1 - 50 of 136 Page 1 of 3

Available keyboard shortcuts


Task Details

Task Editing