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  asc Assigned To Due In Version Opened Last Edited
2040Installer and UpgraderInformationMediumFS1.0 Release buildsConfirmed
20%
1.0523.08.201517.04.2019 Task Description
  • Use github releases for the release? peterdd: Yes, currently only source releases without 3rd party vendors.

The Flyspray 1.0alpha1 .zip file release unzips directly to the current directory.

.zip files from github unzip to it’s own directory (flyspray-master.zip unzips to flyspray-master/ ). This is a bit safer, because you cannot accidently mess your directory structure with it.

  • The release should contain the binary fontawesome files instead of linking to the external CDN. Removes one dependency/singlepointoffailure. How this can be configured for automation? included in Flyspray source now. :-)
  • document how a release is exactly created. (consistency, reliability, automation, knowledge sharing for maintainers see below :-) )
  • Get in contact with os distributions, that could add Flyspray releases to their repositories (*BSD, Linux distributions, ..) This repositories could add the dependencies like ADODB within the packages (.rpm, .deb,..)
  • Get in contact with web hosting providers who provide integreated 1-click installs of software for their web hossting customers.
  • Get in contact with container builders (docker, ..)

Steps how to do a Flyspray release (since Flyspray 1.0 RC)

  1. Edit includes/class.flyspray.php on github.com and set the correct version for the release there (remove the ' dev’ from the version string), commit as new branch e.g. 1.0-rc1
  2. Prepare a new release on https://github.com/Flyspray/flyspray/releases , write a summary of changes since last release, choose the branch you created in the previous step, save as “draft”.
  3. “Release” the Flyspray source on github when satisfied with layout
  4. Run buildscripts for different php versions (see comments at FS#2040)
  5. Upload the created .zip and .tgz files to https://github.com/Flyspray/flyspray/releases
  6. Upload the created .zip and .tgz files to https://github.com/Flyspray/flyspray.github.io/tree/master/packed stored since 1.0-rc2 only on https://github.com/Flyspray/flyspray/releases to avoid redundancy
  7. Test the created blobs on different servers too.
  8. Edit the https://github.com/Flyspray/flyspray.github.io/blob/master/_docs/download.md and link the source and packaged .zip and .tgz files
  9. Write a new article with a summary of highlights of changes since last release for the www.flyspray.org frontpage on https://github.com/Flyspray/flyspray.github.io/tree/master/_posts/News
  10. Send an email to the Flyspray mailing list
  11. Important: If all is nice and shiny: Update the version string on www.flyspray.org https://github.com/Flyspray/flyspray.github.io/blob/master/version.txt so admins of flyspray get informed a new Flyspray release is available now. For instance change from 1.0-rc to 1.0-rc1 if you are releasing Flyspray 1.0 RC1. Must be the exact version you set in includes/class.flyspray.php .

Maybe we can use this sequence as template on bugs.flyspray.org for releases? :-)

2317User InterfaceBug ReportMediumDate format wrongConfirmed
20%
1.1 devel122.11.201622.11.2016 Task Description

In some parts of the world (primarily the US), the date is viewed as Month/Day/Year. However, all options in the current rc4 build are listed as Day/Month/Year aside from one, which goes ShortWrittenMonth/Day#/Year#.

This is poor from a customer perspective, and can be highly confusing. I can change the date globally to a correct format in the database, but this doesn’t help much as every user can select their own date which has all incorrect formats.

1812Backend/CoreFeature RequestLowMultiple email addressesPlanned
20%
1.1 devel317.01.201330.12.2015 Task Description

An account should be able to have multiple email addresses associated with it. For example, my primary email might be jordan@thevelozgroup.com, but I should also be able to log in via jordanmendler@gmail.com or other addresses I add.

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.

1967User InterfaceBug ReportLowKeep browser scroll position when sorting task listNew
20%
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 http://datatables.net/ 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.

1970User InterfaceFeature RequestLowIcons for predefined task typesNew
20%
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

<style>
ul.tasks li {clear:left;}
li.tid:before{
content: "\code";
font-family: FontAwesome;
float:left;
margin-left:-12px;
}
</style>

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.

2062User InterfaceTODOLowreview do=admin&area=editallusersNew
20%
129.09.201522.02.2020 Task Description

Bugs

  • Small javascript issue: When checkbox of one users row clicked, it doesn’t select the checkbox because the row click event handler doubles the click (check and uncheck, tested with firefox41). Clicking in the row (not on the name) selects the checkbox. fixed
  • browser back button after delete of a user not working as expected. (fix it by redirect 303 , see modify.inc.php how it done for other form submits)

Missing features

  • no sorting possible of the table (like tasklist)
  • no pagination (like on tasklist) OK, probably not needed: ~2000 user registrations on bugs.flyspray.org and no problem rendering the table in browser. Archlinux has over 12k users and my test with 30k generated users showed problems handling the huge query results. So we need this!
  • no filtering of user list possible
  • no helpful information for admins like registration date and last time of login of users (last login time requires a new field in flyspray_users) implemented in Flyspray 1.0-rc7
  • no summary about users like how many exists or how many are currently online (requires storing sessions in a db session (e.g. flyspray_session) table instead php default session directory) on the install. Or a statistic graph of activity or peaks of new registrations over time.
  • maybe show user profile image too in the list.
  • choosable user field columns - partially implemented since 1.0-rc7 by selecting groups of user fields and calculated user fields: user stats, user settings
2101Backend/CoreBug ReportLowMobile view GUI bugConfirmed
20%
418.02.201624.02.2016 Task Description

As you can see on screenshot attachment the GUI on mobile view is not OK.

I marked with red field what need to be fixed.

Phone used: Samsung Note 4.

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.
2128Text RenderingBug ReportLowGeshi (part of dokuwiki plugin for code blocks) uses de...Confirmed
20%
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 bugs.flyspray.org 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 (1.0.8.11 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 1.0.8.11 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;}
2308User InterfaceFeature RequestLowimprove user management for adminsNew
20%
127.10.201613.02.2017 Task Description

The register spam by probably bots in 2016 is annoying.

I ticked the setting, that an admin must accept a new registration. It helps to reduce spam task, but now admin must decide if the registrations are ok or just spam bots.

Beside the need of antispam-plugins, the management of users can be improved:

  • column sorting of user list, similiar to the tasklist
  • filtering user list, similiar to the tasklist
  • pagination of user list (25,50,100,200,all?)
  • more columns like ‘last login’, ‘last activity/tasks/comments created/votes/edit’ that may help to decide what status or settings a user should have in future.
  • show time zone setting and language setting of users implemented in userlist now
  • mass accept/deny of a list of user registrations waiting for admin approval.
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.


	
2225GreekBug ReportVery LowGreek uses slash for datesConfirmed
20%
324.10.201622.11.2016 Task Description

Short dates in Greek are represented in the majority of cases with slashes (24/10/2016). Very seldom some people may use the dash form (24-10-2016) and hardly ever the dot form (24.10.2016).

So it would be much appreciated if the slash form were a (working) option because as it is dates are a bit confusing to us, especially in a date-time combination (too many numbers in a not-so-obvious format - brain needs extra time to decode it).

1861Backend/CoreBug ReportMediumLogin-Page should redirect after login to the page, the...Confirmed
30%
1.1 devel4112.04.201309.07.2018 Task Description

When some url to a bug is redirected to the login page, because the user does not have the right to see the bug without login, the user should be redirected after the login to the url he wanted to see.

Maybe redirect to /login/?next=/task/X and put the next-url in a hidden field in the login-form, so flyspray can redirect to the correct page after login.
Even preserving anchor-urls (#comment-YYYY) would be cool, but i guess this needs Javascript to work.

2108User InterfaceFeature RequestMediumSupport local language when install FlysprayConfirmed
30%
3103.03.201615.07.2016 Task Description

Please show install page as local language, Thank you.

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

2000User InterfaceFeature RequestLowResponsible persons column viewNew
30%
1.1 devel122.06.201509.09.2015 Task Description

In the task list the responsible persons are shown as "first person name, +n" where n are the count of further responsible persons.

I think this can be done a bit better.

Ideas:

  • show as it is now, but on css :hover show all persons
  • use initials like "CR FS JM" for Cristian R., Florian S., Jordan M. and on css :hover show a list with the full names, this can make the column width a bit smaller.
  • use tiny avatar icons in a row like you can see here https://github.com/Flyspray/flyspray/blob/master/header.php for example, and showing the names on css :hover.
2039Installer and UpgraderTODOLowReview INSTALL, README, documentation files for release...New
30%
1.023.08.201509.04.2016 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, ..)
2303User InterfaceFeature RequestVery LowHome screen for private flyspraysRequires testing
30%
625.10.201626.10.2016 Task Description

I use Flyspray as a closed system with all projects set to private. I use it as a main means of communication with my clients. In such a case it would be a good idea for visitors to see a home screen (preferably a blank/splash screen with login option only) and definitely not the All tasks title or project names ( FS#2302 ) or taskid search.

2075NotificationsBug ReportHighToo spammy notifications under some circumstancesRequires testing
40%
1.019.10.201503.11.2015 Task Description

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

1510NotificationsFeature RequestMediumFunction to test mail configuration Planned
40%
1.1 devel1329.10.200828.10.2015 Task Description

Add a button to test mail configuration before notifications is accpeted

1487AuthenticationFeature RequestLowLDAP(Active Directory) AuthenticationPlanned
40%
1.1 devel101121.05.200804.09.2019 Task Description

I have done a very quick bit of work to bring ldap (through active directory) authentication to flyspray for our implementation in the office. I hope it will be of use to others. There is a readme.txt inside talking through the process and the patch to apply. My plan is to expand on this and make it part of the setup process but this will take a bit longer.

2425SlovenianFeature RequestVery LowTranslation: SlovenianConfirmed
40%
105.03.201705.03.2017 Task Description

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

1849Backend/CoreFeature RequestHighInstaller OverhaulPlanned
50%
1.1 devel515.03.201315.07.2016 Task Description

The application installer needs an overhaul, all strict notices fixed and the associated dependant tasks resolved.

2135Backend/CoreBug ReportHigh"Modify own tasks" does not function correctly when add...Confirmed
50%
1.013107.06.201622.08.2016 Task Description

“Oh, there are some incompatible properties set that must be resolved before moving this task to a different project.”

Oh, but I am not moving the task to a different project. Just trying to edit my own submission.

“Edit this task” → “Save details”

See attached screen capture.

1791Backend/CoreFeature RequestMediumAbility to merge version, OS, etcSuspended
50%
1112.12.201212.01.2017
1950User InterfaceTODOMediumSolve confusing Flyspray group settings vs Project grou...Confirmed
50%
1.0907.03.201511.11.2015
1988Installer and UpgraderBug ReportMediumPassword Field for AdminUnconfirmed
50%
302.04.201512.05.2015
2065User InterfaceFeature RequestMediumOne click signup (with facebook, twitter , Google, yaho...Unconfirmed
50%
1109.10.201503.03.2016
2089Backend/CoreBug ReportMediumadding same taskid as subtask or related task should be...New
50%
1.0207.11.201518.11.2016
2338Backend/CoreBug ReportMediumExport tasks to csv has issuesUnconfirmed
50%
202.02.201712.03.2019
2490User InterfaceBug ReportMediumReset Password's Username field has maxlength of 20 - t...Confirmed
50%
1.0201.09.201810.09.2018
1671Database QueriesFeature RequestLowAbility to extract CSV, or ExcelPlanned
50%
1.1 devel4318.12.201008.10.2017
1736User InterfaceFeature RequestLowBe able to add colors for Task StatusesPlanned
50%
1.1 devel516.05.201215.10.2015
1749User InterfaceBug ReportLowSubmit form buttons on lower rightUnconfirmed
50%
117.06.201224.09.2015
1975Backend/CoreFeature RequestLowBatch processing of tasks in tasklistPlanned
50%
1.1 devel3115.03.201513.12.2016
1978User InterfaceBug ReportLowCompensate degraded usability due added token system an...Confirmed
50%
1.0516.03.201512.10.2015
2018User InterfaceBug ReportLowreview keyboard navigationResearching
50%
1.1 devel526.07.201529.07.2019
2031User InterfaceTODOLowRendering overduePlanned
50%
1.1 devel412.08.201514.08.2015
2208Backend/CoreInformationLowSeverity "medium" by defaultSuspended
50%
2127.09.201629.09.2016
2221Installer and UpgraderInformationLowNotices on install with PHP7New
50%
1.0124.10.201624.10.2016
2318Installer and UpgraderBug ReportLowsyntax_plugin required when selected ckeditor in SetupRequires testing
50%
323.11.201607.12.2016
2330Backend/CoreBug ReportLowPHP Notice: Undefined offset: 0 in scripts/index.php o...Unconfirmed
50%
423.01.201730.01.2017
2344NotificationsBug ReportLowAdmins still get noticed for new users even with the op...Unconfirmed
50%
616.02.201724.03.2017
2528User InterfaceBug ReportLowNew user registration doesn't check for duplicate usern...Confirmed
50%
505.01.201907.01.2019
2553User InterfaceTODOLowintelligent accesskey shortcut helper dependent of OS, ...New
50%
106.06.201929.07.2019
2586Backend/CoreTODOLowPHP7.4New
50%
peterdd1.0-rc10312.12.201918.02.2020
2596EmailBug ReportLowInvalid link in notification HTML part of eMailWaiting on Customer
50%
peterdd214.03.202026.03.2020
2012Backend/CoreFeature RequestMediumManaging TagsNew
60%
1.1 devel418.07.201512.11.2015
1969User InterfaceFeature RequestLowsearch form with Advanced search toggle layoutNew
60%
1.1 devel312.03.201519.09.2015
Showing tasks 251 - 300 of 309 Page 6 of 7

Available keyboard shortcuts

Tasklist

Task Details

Task Editing