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

2575Backend/CoreFeature RequestLowability to view and reset Flyspray default settingsNew
19.09.201919.09.2019 Task Description


Over the years the count of possible Flyspray configuration options has grown. Meanwhile there are ~60 global Flyspray settings stored in the prefs database table in contrast to only 14 entries of the 0.9.7 (not!) version from around 2005. But each configuration setting might add a little to the feeling of overwhelming when there are too much switches, buttons, checkboxes and probability of a misconfiguration raises due misunderstood or overseen settings.

But Flyspray still aims to be easy to use and work with while being accurate and customizable.


Having a way to view the description and default value of each option would probably give people administrating a Flyspray installation a better understanding of each setting and confidence in making good decisions for their use case.

With the flyspray-install.xml file within the setup folder we yet have an elegant solution that is waiting to unlock its power!

Unfortunately the setup/ folder requires (until now at least) to be removed after install or upgrade. So we need a way to keep the flyspray-install.xml of the installed version. A trivial way would be to copy it to the include/ directory after any install or upgrade, but also other solutions could be.

Keeping the flyspray-install.xml could making following features easier:

  • Reading default value of prefs setting. That could be shown for example as css title attribute /tooltip for each setting in the matching admin forms.
  • Reading default value and field description of any table field using the descr feature of ADOdb xmlschema03.
  • Comparing the real database structure with the table structures in flyspray-install.xml . This could be useful if someone extended or fiddled with database/tables to compare with official Flyspray releases. Or for developers to compare if an database upgrade went well and as intended.
  • Having the description of a setting or database field contained within the flyspray-install.xml is good at one place and the information is not spread around like in an external manual/wiki that maybe get unmaintained, not in sync with the application or get even lost over the years.
  • Using the xml format makes a migration easier (in a broader context, to Flyspray or away from Flyspray)
  • Using the descr tag could be used to hold information which field(s) of a database table is/are foreign key field(s) pointing to primary key field(s) of another table, even if ADODB xmlschema03 does not support it yet. Would generating database schema diagram directly from flyspray-install.xml possible. (instead of manually painting it that gets outdated when structure changes)

Things to take care:

  • ADOdb and xmlschema03 does not handle table comments and field comments yet. The descr tag so is there only used when looking into the .xml file, but it does not appear in the real database schema. To make this happen, there is a good portion of contribution to the ADOdB project required (making pull request, but also get them reviewed, tested, accepted and released with a ADOdb stable release)
  • ADOdb xmlschema03 does not define or handle foreign key constraints. Adding that would require a substantial amount of constribution to get it working reliable for all supported databases that could use foreign key constraints.
  • limits of table comment length, field comment length depend on database type and database version
peterdd1.0-rc10312.12.201918.02.2020 Task Description

PHP 7.4 is out now and a few things should be done to make Flyspray work well with it.
Nothing really breaks, but a view deprecation warnings should be fixed.

Flyspray source itself: Just a few new notices, most are yet fixed in the master branch.

Watching the PHP7.4 compatibility of dependencies defined by composer.json:

  • ADOdb/ADODb: 5.20.15 should be OK for Flyspray
  • swiftmailer/swiftmailer: We still use 5.* branch, so either do quickfix for a notice in a fork or upgrade/rewrite our integration to the 6.* branch.
  • ezyang/htmlpurifier: 4.12 OK
  • thephpleague/oauth2-client: unknown, we still use 0.13, last real source change was Nov 2018, to upgrade requires rewrite of integration into Flyspray and there is low demand for OAuth2.
  • dapphp/securimage: seems to be OK
  • jamiebicknell/sparkline: OK, but probably obsolete for us in future due
    • still annoying problems with our github/travis tests (problem of travis, not sparkline itself)
    • better solution (interactive hover infos, scales, screen size adaptive) by Flyspray source planned
1985Database QueriesFeature RequestVery LowFor developers - testing with huge flyspray data setsNew
224.03.201516.03.2016 Task Description

Here I will put some sql examples for the current developers to have a base for testings:

Starting with a default installation with its 1 example project and 1 example task:

I hope we can put all this into valuable phpunit tests for automatic testing with travis-ci.

Still TODO, do not use:
After fresh Flyspray install, add some more projects:

INSERT INTO flyspray_projects (project_title,project_is_active,others_view,anon_open) VALUES('Inactive Project', 0, 1, 1);
INSERT INTO flyspray_projects (project_title,project_is_active,others_view,anon_open) VALUES('Active Project Anonymous Reporting', 1, 1, 1);
INSERT INTO flyspray_projects (project_title,project_is_active,others_view,anon_open) VALUES('Deleted Project', 1, 1, 1);
DELETE FROM flyspray_projects WHERE project_title LIKE 'Deleted Project'; -- delete to have an id gap
INSERT INTO flyspray_projects (project_title,project_is_active,others_view,anon_open) VALUES('Active Project NO Others View', 1, 0, 0);
-- There should now be 4 projects with ids (1,2,3,5).
-- Now lets add some extra roles for a few projects
INSERT INTO flyspray_groups (group_name,project_id,manage_project,view_tasks,open_new_tasks,modify_own_tasks,view_own_tasks,view_groups_tasks) VALUES('Project3 Manager', 3, 1, 1, 1, 1, 1, 1 );
INSERT INTO flyspray_groups (group_name,project_id,manage_project,view_tasks,open_new_tasks,modify_own_tasks,view_own_tasks,view_groups_tasks) VALUES('Project3 Reporter', 3, 0, 1, 0, 1, 1, 1 );
INSERT INTO flyspray_groups (group_name,project_id,manage_project,view_tasks,open_new_tasks,modify_own_tasks,view_own_tasks,view_groups_tasks) VALUES('Project5 Developer', 5, 0, 1, 1, 1, 1, 1 );
-- Then create some more users:
INSERT INTO flyspray_users(user_name,real_name,email_address,account_enabled,tasks_perpage,lang_code) VALUES('tester1','T1Developer','',1,100,'en');
INSERT INTO flyspray_users(user_name,real_name,email_address,account_enabled,tasks_perpage,lang_code) VALUES('tester2','T2Reporter_P3Manager','',1,100,'de');
INSERT INTO flyspray_users(user_name,real_name,email_address,account_enabled,tasks_perpage,lang_code) VALUES('tester3','T3Basic_P3Reporter_P5Developer','',1,100,'fr');
-- And put them into a global group and a few into project roles too:
INSERT INTO flyspray_users_in_groups(user_id,group_id) VALUES(2,2);
INSERT INTO flyspray_users_in_groups(user_id,group_id) VALUES(3,3);
INSERT INTO flyspray_users_in_groups(user_id,group_id) VALUES(3,8);
INSERT INTO flyspray_users_in_groups(user_id,group_id) VALUES(4,4);
INSERT INTO flyspray_users_in_groups(user_id,group_id) VALUES(4,9);
INSERT INTO flyspray_users_in_groups(user_id,group_id) VALUES(4,10);
-- And lets fill the Database with 10 different configured task to simulate different cases:
INSERT INTO flyspray_tasks(project_id,task_type,item_status,supertask_id) VALUES(1,1,1,0); -- id2 in first project
INSERT INTO flyspray_tasks(project_id,task_type,item_status,supertask_id) VALUES(2,1,1,0); -- id3 in inactive project
INSERT INTO flyspray_tasks(project_id,task_type,item_status,supertask_id) VALUES(2,1,1,3); -- id4 in inactive project
INSERT INTO flyspray_tasks(project_id,task_type,item_status,supertask_id) VALUES(3,1,0,6); -- id5 status 0,supertask_id6
INSERT INTO flyspray_tasks(project_id,task_type,item_status,supertask_id) VALUES(3,1,0,0); -- id6
INSERT INTO flyspray_tasks(project_id,task_type,item_status,supertask_id) VALUES(3,1,1,6); -- id7
INSERT INTO flyspray_tasks(project_id,task_type,item_status,supertask_id) VALUES(5,1,1,0); -- id8
INSERT INTO flyspray_tasks(project_id,task_type,item_status,supertask_id) VALUES(5,1,1,8); -- id9
INSERT INTO flyspray_tasks(project_id,task_type,item_status,supertask_id) VALUES(5,1,1,9); -- id10
-- And now lets fill the database with many task referencing the 10 base tasks (10k or more rows) by repeating the following until enough (grows exponential x**2 !
INSERT INTO flyspray_tasks (project_id,task_type,item_status, supertask_id, item_summary) SELECT 3,1,1,FLOOR(RAND()*11),RAND() FROM flyspray_tasks;

These Examples can be used for finding bottle necks or problems on huge installations.

2606Database QueriesFeature RequestLowduedate column sort asc in tasklist should put unset du...New
02.05.202002.05.2020 Task Description

When a tasklist contains the duedate column and the user sorts by duedate ascending, the tasks that do not have a duedate set should not be listed first. Instead they should be listed after the tasks with duedates.

This way a user can see the task with the earliest duedate first instead of seeing a bunch of probably not so important tasks without duedates set.

1964DocumentationFeature RequestLowOn page documentationNew
11.03.201511.03.2015 Task Description

This is a parent task for all small helping or explaining tooltips that can be maybe added where approriate.

Many people don't like reading external documentations, which sometimes often is also not up to date with the current used version.

If you are doing something in Flyspray and you don't know exactly how it works or have to be done rigth and you must look at documentation, it breaks your workflow.

The best case is if its all perfect intuitive and you don't have to read any help texts. But in the case of more complex operations or things that do many things behind the scene a helping tooltip or explanation can give you a mental map and more trust into what the tool is doing.

2337DocumentationInformationLowFlyspray ThemesNew
402.02.201716.02.2017 Task Description
  • Flyspray 1.0 includes 1 default theme CleanFS. That decision was made to reduce maintainance effort and the old blue theme was dropped. Also the CleanFS contains UI-logic implemented in HTML/CSS and tries to be usable even for the people who turned off javascript in their web browsers for security reasons. (and reduces spam on many other websites too without an adblocker)
  • Current Flyspray source and the theme CleanFS provides several methods to customize the layout without touching the .tpl files. These are:
    1. custom_*.css files that extend or overwrite properties of CleanFS/theme.css
    2. 2 fields in admin area where to put code

      For instance a corporate footer menu or something like that.

Advantages of CleanFS instead running your own

  • Theme is maintained with Flyspray source. Detected security issues related with themes are fixed with Flyspray releases.
  • Added features or capabilities are implemented for the default theme.

‘Subtheme’ can be a compromise: Theme CleanFS is always uptodate in sync with Flyspray. Subthemer only needs to check changes required for own subtheme .tpl files.

I do not want complete stop people from writing their whole new template, it allows new ideas implemented or alternative usability. For them, it is probably better to create a Github project for that theme.

This is just raw info from me and can be discussed. Something should be finally written on in the documentation area.

2039Installer and UpgraderTODOLowReview INSTALL, README, documentation files for release...New
30% Task Description

Check if the install, setup and upgrade instruction are correct:

  • dev/github versions (using composer for dependency resolving)
  • release versions (using composer or complete bundled binary releases containing all dependencies (ADODB, oauth2, ..)
2221Installer and UpgraderInformationLowNotices on install with PHP7New
1.0124.10.201624.10.2016 Task Description
Notice: Only variables should be assigned by reference in /*/setup/index.php on line 883 
Notice: Only variables should be assigned by reference in /*/setup/index.php on line 949
2444Installer and UpgraderInformationLowcomposer hits memory limitsNew
04.10.201704.10.2017 Task Description

Quick anwser: enable swap partition on your server.

Tried upgrading a rc4-dev to rc5-dev/rc6/flyspray-master on a virtual server with 500MB RAM and php5.6.30 on the commandline (debian)

After file upgrade, I wanted also update the vendor stuff according to composer.json changes.

But surprisingly this failed:

php composer.phar update

and also after

php composer.phar selfupdate

to version Composer version 1.5.2 2017-09-11 the memory limit bug exists:

The following exception is caused by a lack of memory or swap, or not having swap configured
Check for details

PHP Warning:  proc_open(): fork failed - Cannot allocate memory in phar:///var/www/***/composer.phar/vendor/symfony/console/Application.php on line 979

Warning: proc_open(): fork failed - Cannot allocate memory in phar:///var/www/***/composer.phar/vendor/symfony/console/Application.php on line 979

  proc_open(): fork failed - Cannot allocate memory

Also doing a more fresh vendor install like

rm composer.lock
rm vendor/*
(keeps the .htaccess there)
php composer.phar install

300 MB not enough for a handful of php package installations? wtf, but didn’t dig deeper..

I temporarly solved the problem by making a swap partition on this vServer like suggested at

/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
/sbin/mkswap /var/swap.1
chmod 600 /var/swap.1
/sbin/swapon /var/swap.1
             total       used       free     shared    buffers     cached
Mem:        506300     374920     131380      30628      21904     143872
-/+ buffers/cache:     209144     297156
Swap:      1048572          0    1048572

This is just documentation and is for the people who prefer a Flyspray development version from

Full Flyspray release download files do not needs to fiddle with composer.

Maybe an entry for the FAQ

1737JavascriptTODOLowJavascript OverhaulNew
1.1 devel6125.05.201224.02.2016 Task Description

Convert all the JS to using one library. Seems there is scattered JS scripts all over and we need to pick one solution that could be long term and has plenty of features for improving FS.

I vote for JQuery w/ Bootstrap which has some nice JS effects using JQuery.

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

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?

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.

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

1040User InterfaceFeature RequestLowClose Multiple Tasks at onceNew
1.1 devel5317.08.200601.10.2015 Task Description

We don't close the tasks until the release is "made", that is we let them under "Requires Testing" with 100% complete. When the release/testing cycle is finished, somebody has to go task by task, and start closing them... it's a PITA ;)
It would be nice to have to option to select all the tasks you want to close, and that the "popup" when you enter the reason/etc, applied to all the tasks I selected...

I recall reading something about this in the past, but haven't found it; and if this is implemented, I haven't seen a way to do it in 099beta1

1958User InterfaceFeature RequestLowPreselect values for event log viewNew
09.03.201509.03.2015 Task Description

Most (or even all?) of the selectable events should be preselected in the selection list.

1961User InterfaceFeature RequestLowshow new notifications in flysprayNew
11.03.201511.03.2015 Task Description

similiar to or show new unread notifications on the topbar.

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.

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.

1969User InterfaceFeature RequestLowsearch form with Advanced search toggle layoutNew
1.1 devel312.03.201519.09.2015 Task Description

I think the button advanced search button should not be placed right beside seach input field as full button.

Maybe a small down arrow under the simple search form with a horizontal line and a title tag as tooltip.

Any comments?

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.

1972User InterfaceFeature RequestLowAdvanced search form - ideas for faster/better usabilit...New
1.1 devel412.03.201518.03.2019 Task Description

This task can maybe splitted into separate sub tasks.

Task properties

Current situation

  • Currently 8 multi select fields with height of 5.5 visible options.
  • For most of the selects you must scroll to make the right selections.
  • floating


Multi select option styling

Some (not all, intentional!) browsers support CSS styling of option tags. For these who support it I think option styling is a good usability enhancement:

  • severity: We use background colors for styling in task list, so we should use the same colors for the select.
  • priority: maybe, but must be good distinguishable from severity styling. maybe not background, but maybe icons,borders,lines?
  • task type: This styling would be related to an other task, where I suggest icons/font icons for bugs, feature requests and TODO (see also themes/CleanFS/custom_example.css)
  • progress: maybe use the green %-bars as background styling
  • status: If for some status types very intuitive icons exists, they could be used for the options too.
  • due version: no idea yet, no option styling
  • reported version: no idea yet, no option styling

Update: CSS of option tags working in multi selects:

  • Firefox 64: yes
  • Safari 12: no
  • Google Chrome 71: no

So only Firefox. The intended styling could be also achieved by Javascript that renders alternative select boxes based on reading the original select boxes and their option attributes and show the user CSS styled div-tag or li-tag based constructs which do not have such restrictions.

Custom fields

  • challenge/doom level - doom faces: from easy/normal to bloody/angry face
  • os: logos like tux for linux, devil for bsd, window for ms, apple icon, osX icon, android, apple, iphone/smartphone icon, ipad/tablet icon, ..

But Consider: Different project may need different custom fields. Your gardening project may need no OS version selector.

  1. Make some intelligent positioning and sizing dependent on the count of options of the selects.
1991User InterfaceFeature RequestMediumAbillity to drill into progress graph from toplevel vie...New
2000User InterfaceFeature RequestLowResponsible persons column viewNew
1.1 devel122.06.201509.09.2015
2002User InterfaceFeature RequestLowshow user role on autocomplete for verificationNew
2004User InterfaceBug ReportLowphp notice on unset params on reports pageNew
1.1 devel218.07.201519.09.2015
2008User InterfaceTODOLowdifference between related tasks and related linksNew
2009User InterfaceFeature RequestLowEdit task flowNew
2010User InterfaceFeature RequestLoweffort tracking widgetNew
2013User InterfaceFeature RequestLowpersonal task list column selection and positioningNew
2016User InterfaceTODOMediumheading and h1, h2, h3New
1.1 devel23.07.201523.07.2015
2030User InterfaceFeature RequestLowshow votes of a user on user pageNew
2032User InterfaceFeature RequestLowreplace hardcoded ... 'ellipsis'New
2034User InterfaceFeature RequestLowreduced extended search form when applicableNew
2062User InterfaceTODOLowreview do=admin&area=editallusersNew
2074User InterfaceBug ReportMediumOpening tasks from tasklistNew
2078User InterfaceBug ReportMediumlayout of requested close on small displaysNew
2127User InterfaceFeature RequestLowoverhaul task detail page layoutNew
2138User InterfaceFeature RequestVery LowOverhaul dokuwiki editor buttonbarNew
2139User InterfaceFeature RequestVery LowAdd project setting of popular used programming languag...New
1.1 devel17.06.201617.06.2016
2193User InterfaceFeature RequestLowEdit a comment while seeing task details and other comm...New
2308User InterfaceFeature RequestLowimprove user management for adminsNew
2322User InterfaceFeature RequestMediumMention SystemNew
2325User InterfaceFeature RequestLowbig image attachments: fit to browser window width in L...New
2548User InterfaceFeature RequestLowCSS grid layout for task details page typeNew
2553User InterfaceTODOLowintelligent accesskey shortcut helper dependent of OS, ...New
2554User InterfaceTODOLowkeyboard shortcuts help box should adapt to current pag...New
Showing tasks 151 - 200 of 321 Page 4 of 7

Available keyboard shortcuts


Task Details

Task Editing