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 https://github.com/Flyspray/flyspray/releases

ID Category Task Type Severity Summary Status Progress Assigned To  desc Due In Version Opened Last Edited
2118User InterfaceFeature RequestLowShow overview of existing tags for usersAssigned
20%
peterdd1.1 devel09.04.201626.10.2019 Task Description

At several places it could be useful to let the user view available tags:

  1. When editing a task a toggle popup could show a list of selectable and existing tags.

I found several nice vanilla-js-multiselect-with-autocompletion scripts, but none yet that still works at a basic level when javascript is turned off.

My plan is now:

  • Keep the current basic input text field for input tags and show current assigned tags like exampletag1;exampletag2;exampletag3 separated by ‘;’ that is sent to the server when saving the task and server handles evaluation of that string (validation, duplicates, removed, added, creating new tags if allowed for current user)
  • A CSS only toggle that shows available tags that can be assigned (works even with js turned off), similiar to other places within Flyspray like advanced search toggle.
  • If js turned off, the user must type the tag - not as fancy, but at least works. (I thought also about using a html select with multiple=”multiple” attribute, but was not convinced due styling not possible in modern browsers without js)
  • If js is enabled, more fancier stuff is possible:
    • The input text field is hidden by display:none and instead the styled tags are shown.
    • The current added tags also get a little x to remove a tag by clicking it. The content of the hidden input text field is updated to reflect the current editing status. (click eventlistener)
    • A generated text input field for typing with autocompletion list shown of matching availbale tags. An unknown tag is added to the list if user is allowed to create tags. Clicking a item in the autocompletion list adds the tag and resets the autocompletion input text field for the next autocompletion action.
    • The tags within the toggle list with all available tags get also a click event listener, so clicking it adds them to the hidden text input.
    • Not sure yet if an added tag should be removed from the all available tags list or just make an CSS indication that a tag is still added, currently I tend to keep the list untouched, just highlight used tags of the task.
  • Optionally make the all available tags sortable by:
    • list_position (default)
    • alphabetic
    • global or project level
    • popularity (count of tasks using a tag (n + unnumbered private)), requires adding a data attribute.
    • group by detected prefix like shape:triangle shape:circle shape:rectangle could show a group of tags as: shape: triangle circle rectangle
  1. Make the list of tags searchable for the advanced search. added with FS1.0-rc10 by just using search key words also for searching list_tags table.
2585User InterfaceTODOMediumUpgrade CKEditor to 4.13.0New
0%
peterdd02.12.201903.12.2019 Task Description

To fix some other open tasks, an update of the CKEditor4 files is probably the best way.

Starting with CKEditor4 ‘Basic’ preset, evaluate every additional Plugin before adding them to the config.

Because the selection of plugins starts with the ‘Basic’ preset, some configs are disabled in the resulting config.sys like the ‘Strike’ button or the Copy/Paste functionality.

I am also evaluating the possibilities to make some of the options configurable within the Flyspray configuration. It is probably required to analyze if a setting applies to only CKEditor syntax or would be also by used for installs using dokuwiki syntax/engine.

I can also imagine enable/disable features based on Flyspray user permissions. (but that requires not only CKEditor config, but also server side changes like HTMLpurifier settings.)

Languages

Just choose all languages available in the CKBuilder.

Probably we need to adjust the CKEditor to use the users Flyspray language settings too. I changed my language to french in a test install but the CKEditor still shows german user interface. (probably detected by browser http request headers)

Compare that the used language abbreviations work together between files in lang/ of Flyspray and that of CKEditors. (Flyspray: lang/pt_br.php vs. CKEditor: js/ckeditor/lang/pt-br.js)

Theme selection

Probably use a CKEditor source maintained Moona-Lisa or Moona as these are easier to modify their color themes like auto light/dark mode browser detection or base colors that match the theme.

Moona Color currently has issues and not maintained by CKEditor guys.

Plugins

The previous contained CKEditor 4.4.7 probably hat the standard preset used.

Following I keep track of plugins we should add to the basic preset. This list is growing/edited until the final config that ships with Flyspray is found.

Mentions

This would enable choosing a user by their username, like @peterdd.

Requires writing an extra php file for retrieving a matching list of users, that respects current user permissions and status of users (like not fetch disabled users).
This extra php file could be also used for the editor textareas with a dokuwiki toolbar.

Auto Grow

This is just a promising usability improvement. No scrollbars needed when writing longer texts.

Turns just typed urls like https://www.flyspray.org into real links (like dokuwiki does it when rendered on page.)

Baloon Toolbar

This just sound like a promising usability improvement. Not tried yet. Only add when there is use case (other plugins usability profit from it) for Flyspray.

Blockquote

Probably required because existing Flyspray installs had it too and citing a comment/text snippet should be also able.

Code Snippet

Probably requires deeper look how secure integrate with server side cleanup (HTMLpurifier).

Format

h1-h6 and other tags. Probably required as previous Flyspray versions used that too. (TODO: What happens to old content with h1-h6 tags when editing with a CKEditor without the Format plugin?)

Also configure it to accept only tags useful for within Flyspray. (see also server side configuration of HTMLPurifier)

Remove Format

Existing Flysprays had this too and probably a good thing when the user can cleanup their word/whateverwhere pasted stuff cleaned before HTMLpurifier does it server side too with maybe surprises to the end user.

Show Blocks

Gives the user some confidence on command if his current editing has the right/intended structure.

Well, that missing is one of the reasons why I hated WYSIWYG or wannabe WYSIWYG editors in the past. Uncertainty by the end user, and pain for the admin/webmaster when he sees the garbage stored in the database (endless spans and other garbage tags partly wrong nested by just pasting from Word documents.)
(little bug in CKEditor 4.13.0: doesn’t expand the area with plugin Auto Grow enabled)

Source Editing Area

Useful for people that can read HTML or are responsible to fix things.

2316Backend/CoreBug ReportLow"wrongtoken" is displayed if the comment box is left si...Assigned
0%
peterdd7122.11.201629.07.2019 Task Description

I understand this is likely due to some sort of XSS CSRF protection, but the delay doesn’t appear to be long enough to be useful for a lengthy comment to be posted. I’ve now lost two detailed comments in our tracker because the software threw everything out and generated a meaningless error.

Further, attempting to do the normal thing and making the browser resubmit the page results in Flyspray throwing “Error #3” something something repeated action and causing a redirect to the homepage.

Surely there has to be a better way to handle this that doesn’t incur data loss?

2559Backend/CoreBug ReportLowa duplicate close accepted even when missing comment/ r...New
0%
peterdd29.07.201929.07.2019 Task Description

Closing a task with selected close reason duplicate should warn when there is no comment or FS # id is given in the close comment text field.

The task is closed as duplicate without any further notice. The information to which task it is duplicate or a description (if the problem is logged/handled outside Flyspray) is lost.

Possible solutions

Frontend hints

  • variant F1 (soft): When duplicate as close reason is selected, a placeholder attribute in the close comment text field could be shown/updated. (maybe as ‘css only’ possible)
  • variant F2 (harder): Deny sending the form if duplicate selected, but comment text field is empty. and shows warning info. (javascript required, nojs browsers still send form.)
  • variant F3 (hard): Deny sending the form if duplicate selected and no task id detected in comment text field. and shows warning info. (javascript required)

Backend deny

  • variant B1 (soft): When request wants close a task with duplicate reason and (cleaned) comment string is empty, deny closing the task and give feedback to user why it was denied.
  • variant B2 (hard): It requires detecting a task id in the comment field and the first detected task id is taken for referencing as ‘is duplicate of’. Limitation of this is that the duplicate could be also a ticket or something of a complete other system.
2560Backend/CoreBug ReportLowdo not allow close task with reason duplicate referenci...New
0%
peterdd29.07.201929.07.2019 Task Description

So closing a task

FS#1

with

reason: duplicate

and close comment

FS#1

referencing to self should be detected to avoid such user mistakes.

2573Backend/CoreTODOLowadd rel nofollow,ugc,.. settingsNew
20%
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.


	
2586Backend/CoreTODOLowPHP7.4New
0%
peterdd1.0-rc1012.12.201912.12.2019 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
1999XMPP/JabberFeature RequestMediumjabber xmpp configurationNew
0%
8122.06.201511.02.2017 Task Description

There should be some help at the configuration sections for setting up jabber/xmpp notifications.

How someone can test it?

Must the admin setup his own jabber/xmpp server or are there recommended servers?

I registered with psi+ instant messager as peterdd@ubuntu-jabber.de at ubuntu-jabber.de for testing
and configured it here in my account too, but got no jabber messages.

Email notifications works and I set up both sending.

2020XMPP/JabberFeature RequestMediumFunction to test jabber/xmpp configuration New
0%
1.1 devel1131.07.201519.09.2015 Task Description

The flyspray admin users should be able to test their jabber/xmpp configuration, check if sending jabber notification is working and if not, give useful error messages back, so the user is able to fix the configuration.

920User InterfaceFeature RequestLowCharts (gantt, severities, OSes, opened-closed, ...)Researching
0%
2.017806.05.200618.07.2015 Task Description

With all informations on flyspray, it's possible to generate a gantt chart.
For this, some php code exists :
- http://www.aditus.nu/jpgraph/
- http://www.graphviz.org/
- http://www.phpclasses.org/browse/package/2737.html

1040User InterfaceFeature RequestLowClose Multiple Tasks at onceNew
30%
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

1134User InterfaceFeature RequestLowadd icon/image for each projectPlanned
0%
1.1 devel7329.11.200609.03.2015 Task Description

When we have several projects into flyspray, it's hard to see the project where I am when I add several tasks.
It's necessary to read the text.

To improve this, I think that it's a good idea if it's possible to add a color or an image with the logo project next to project title into web page. It will more simple to know where we are when we use flyspray.

1236User InterfaceFeature RequestLowMark Issue As Verified or UnverifiableUnconfirmed
0%
3409.04.200718.07.2016 Task Description

Currently, the Vote functionality provides users a way to say "this issue is important to me". In addition to that functionality, it would be great for users to have a "Verify" ability on open issues; it would provide users a way to say "yes, this happens to me as well".

A "Verified" label would fit nicely right under "Votes", to the right of the label would be "Yes | No", each option being a link. After clicking Yes or No, or if unable to specify (lack of permissions), the text would display "Yes - # | No - # (% verification)" where '%' is the result of ((Yes/(Yes+No))*100).

This feature should not show up on all issues, though. It does not make sense to "verify" a feature request or todo item, for example. When defining task types, the administrator would specify if a type was "Verifiable" by checking a box in a column next to "Show".

If implemented, two great, mini extra features would be:

  1. The ability for the administrator to set the number of "Yes" verifications an issue would need before it was elevated to the next priority, severity, or both (specified by the administrator).
  2. The ability for the administrator to set the number of "No" verifications an issue would need before it was lowered to the previous priority, severity, or both (specified by the administrator).

Both settings should have an option to be incremental (priority / status increased every x verifications) or not (increases once, no matter how many verifications are received); an "Incremental" checkbox would do nicely. Also, a little "Enabled" checkbox next to both settings would be clearer than having zero act as the disable mechanism.

As with voting, a permission should exist to enable or disable this option for a user group. For larger projects, moderators tasked with verifying bugs could be given the permission whereas smaller projects may leave verifications up to the community.

Lastly, a way to send a notification once the number of "Yes" verifications reached a certain value would also be a great addition.

1481User InterfaceFeature RequestLowDiff visualisationUnconfirmed
0%
4104.05.200809.03.2015 Task Description

Flyspray should be able to render attached patches visually like, for example, Bugzilla: https://bugzilla.wikimedia.org/attachment.cgi?id=4807&action=diff

1485User InterfaceFeature RequestLowAdditional extended Printview for the TasksPlanned
0%
2.013.05.200811.03.2015 Task Description

It would be useful to print a list of tasks in a extended version.
e.g. All tasks from a programmer with all the details of it.

1491User InterfaceFeature RequestLowCustom task table columns for individual usersUnconfirmed
0%
2.0301.07.200801.10.2015 Task Description

Allow individual users to define custom views of the task tables much like the project manager can for the entire project; only on a user scale.

An option for the user to "use default" project settings should be possible and should be the default.
Only pro users will change it to their needs, not the average reporter.

Interesting would be the possibility to change it dynamic on the tasklist view, not only on the myprofile setting page.

Open Question: Simple or complex implementation?

  • Simple: A new varchar field for the user table like it is in the project table and provide the same field chooser like on project setting page.
  • Complex: User settings for global tasklist view and each project. Needs extra 'project_user' (or 'user_project' ;-) ) join table. Well, maybe over engineered.
1599User InterfaceFeature RequestLowImplement "Tasks not blocked by other tasks"Unconfirmed
0%
2.1111.08.200903.03.2013 Task Description

In the advanced search, there is "Tasks not blocking other tasks"

Implement a related: "Unblocked tasks" (i.e. Tasks not blocked by other tasks)

1670User InterfaceFeature RequestLowAssign Key-Shortcuts to form fieldsUnconfirmed
0%
04.12.201004.12.2010 Task Description

Forms should be submittable by using keyboard shortcuts.
S for submit.
Set-able via the accesskey attribute on HTML inputs.

1697User InterfaceFeature RequestMediumDetailed Due Date, SMS Notification, Deadline Warning N...Unconfirmed
0%
128.12.201106.10.2015 Task Description

Hi there,

I was looking for some issue management tool for the company I work for and Flyspray turned out to be almost perfect solution. I installed it easily and it works GREAT!
As I said, this turned out to be almost perfect solution, and this is because it lacks some features that my company needs.

  • Due Date with Hour/Minute part - to choose till what time during that day should task be done (ie. 27-12-2012, 17:27)

Away with needs of my company, I believe that these features will make Flyspray very interesting and more suitable for many small/medium companies.

Best regards,

Milan Vlajnic

1736User InterfaceFeature RequestLowBe able to add colors for Task StatusesPlanned
50%
1.1 devel516.05.201215.10.2015 Task Description

I often used color identifiers for my Task Statuses in my old bug tracking solution, and it helped me prioritize things, like confirming unconfirmed bugs. The only thing that currently has colors, is the severity- I’d like a possibility to have (customizable) colors for Task Statuses too.

1749User InterfaceBug ReportLowSubmit form buttons on lower rightUnconfirmed
50%
117.06.201224.09.2015 Task Description

Any form should have its submit button directly below and to the right of the form.

This is most egregious on the New Task page where you have to scroll back up to the top right to submit.

1809User InterfaceFeature RequestLow Searching closed tasks by Reason for closingMaybe
0%
2.0217.01.201306.11.2015 Task Description

Hi,
how can I search tasks by "Reason for closing"? There is an option for searching for status but I do not want search by tasks' status but by reason for closing it. Is it possible to do it?
Marcin

1847User InterfaceFeature RequestLowMake default theme responsivePlanned
20%
1.1 devel314.03.201316.10.2015 Task Description

I think it is time to think about an theme optimizied for mobile Devices.

We will not maintain several themes. We will review the current CleanFS theme to make it responsible instead.

1857User InterfaceFeature RequestLowLogin and then submit new taskResearching
0%
2.0127.03.201306.03.2015 Task Description

Hello,
when I wanted to use Flyspray to manage request from non-technical customer, I found one missing feature:

I have "report a problem" link on devel version of web site. But to submit new task, it is necessary to login into Flyspray.

It would be nice if there was an URL with login form if user is not logged in and "add new task" form if he is logged in.

Example scenario:
- Customer visits devel site after some time and finds some problem. He wants to report it.
- Customer clicks "report a problem" on the devel site and Flyspray is opened.
- Customer now see some wierd error message and has no idea what is wrong. If anonymous reports are allowed, he sees the form, but cannot upload screenshots and he must enter his e-mail address.

How it should be:
- Customer visits devel site after some time and finds some problem. He wants to report it.
- Customer clicks "report a problem" on the devel site and Flyspray is opened.
- Customer sees login form and (if anonymous reports are allowed) there is also "add new task" form below the login form.
- Customer clicks "login" (password is saved in browser).
- Customer now can fill report with all the comfort.

1950User InterfaceTODOMediumSolve confusing Flyspray group settings vs Project grou...Confirmed
50%
1.0907.03.201511.11.2015 Task Description

This is taken from FS#1753:

The second reason being there is no way that I know of to automatically set a project usergroup to new members. I only have 1 project, but it seems the Global groups aren’t working (can still see tasks if “View Tasks” is unchecked) and I don’t know how to fix that.

And what I have to say - it is hard to tell if you are on the Flyspray admin settings area or on the admin settings of a project.

Cheapest way is adding some CSS to distinguish this for the user.

But there is in fact more to do to make it user friendly.

  • TODO: list configurations for project(task types, categories, ..) in Manage Project should also show the system wide list values as hint to avoid duplication.
  • TODO: project user groups overview should show system wide user group infos as info for project managers to avoid unnecessary complicated configuration settings.
  • TODO: visualize related permissions that can overrule eachother like ‘view_task’ overrules ‘view_own_tasks’ to avoid misconfigurations
1957User InterfaceFeature RequestLowautomatic temporary storing while writing/editing taskResearching
0%
209.03.201512.03.2015
1958User InterfaceFeature RequestLowPreselect values for event log viewNew
0%
09.03.201509.03.2015
1959User InterfaceFeature RequestLowAdd vote from tasklistPlanned
0%
1.1 devel09.03.201509.03.2015
1961User InterfaceFeature RequestLowshow new notifications in flysprayNew
0%
11.03.201511.03.2015
1966User InterfaceFeature RequestLowMy votes on myprofileNew
80%
1.1 devel11.03.201503.11.2015
1967User InterfaceBug ReportLowKeep browser scroll position when sorting task listNew
20%
1.1 devel412.03.201519.09.2015
1968User InterfaceFeature RequestLowReplace Expand all / Collapse all on Roadmap page by pu...Planned
0%
1.1 devel12.03.201516.03.2015
1969User InterfaceFeature RequestLowsearch form with Advanced search toggle layoutNew
60%
1.1 devel312.03.201519.09.2015
1970User InterfaceFeature RequestLowIcons for predefined task typesNew
20%
1.1 devel112.03.201530.10.2015
1972User InterfaceFeature RequestLowAdvanced search form - ideas for faster/better usabilit...New
0%
1.1 devel412.03.201518.03.2019
1978User InterfaceBug ReportLowCompensate degraded usability due added token system an...Confirmed
50%
1.0516.03.201512.10.2015
1980User InterfaceFeature RequestMediumTasklist - PDF ExportMaybe
0%
2.0119.03.201526.05.2016
1990User InterfaceFeature RequestLowRoadmap view should also show due dates and sort each v...Confirmed
0%
1.1 devel217.04.201524.04.2015
1991User InterfaceFeature RequestMediumAbillity to drill into progress graph from toplevel vie...New
0%
17.04.201524.04.2015
2000User InterfaceFeature RequestLowResponsible persons column viewNew
30%
1.1 devel122.06.201509.09.2015
2002User InterfaceFeature RequestLowshow user role on autocomplete for verificationNew
0%
122.06.201517.10.2019
2004User InterfaceBug ReportLowphp notice on unset params on reports pageNew
0%
1.1 devel218.07.201519.09.2015
2008User InterfaceTODOLowdifference between related tasks and related linksNew
0%
18.07.201518.07.2015
2009User InterfaceFeature RequestLowEdit task flowNew
10%
2.0118.07.201507.08.2016
2010User InterfaceFeature RequestLoweffort tracking widgetNew
0%
2.018.07.201518.07.2015
2013User InterfaceFeature RequestLowpersonal task list column selection and positioningNew
0%
2.0120.07.201506.10.2015
2016User InterfaceTODOMediumheading and h1, h2, h3New
0%
1.1 devel23.07.201523.07.2015
2018User InterfaceBug ReportLowreview keyboard navigationResearching
50%
1.1 devel526.07.201529.07.2019
2019User InterfaceFeature RequestMediumtitle -tag Waiting on Customer
0%
1.1 devel26.07.201526.07.2015
2025User InterfaceFeature RequestLowAdding new tasks is too undiscoverableUnconfirmed
0%
109.08.201509.08.2015
Showing tasks 1 - 50 of 306 Page 1 of 7

Available keyboard shortcuts

Tasklist

Task Details

Task Editing