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  asc Due In Version Opened Last Edited
1868Backend/CoreFeature RequestLowOne issue for multiple componentsMaybe
0%
2.0222.06.201312.11.2015 Task Description

Hi,I would like to see a enhancement, where you can submit/edit and assign it to multiple components, as it needs work from multiple sides.

For example: A user asks for a new object to be visualized. This includes work of the GUI designers and altering internal core structures. For internal management, I would like to label this for both teams.

1957User InterfaceFeature RequestLowautomatic temporary storing while writing/editing taskResearching
0%
209.03.201512.03.2015 Task Description

If I write a task and press the back button in the brower and go forward again, my expection is that the
text I wrote is still existing, even if I didn't save it.

It is frustrating losing a well thought issue editing and having it to rewrite.

1960Backend/CoreBug ReportMediumforeign key relations between versions and tasksNew
0%
209.03.201513.08.2015 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: (https://github.com/Flyspray/flyspray/issues/130)

1962Backend/CoreFeature RequestLowSMS notification - sending notifications via sms same a...New
0%
211.03.201502.12.2015 Task Description

moved from FS#1697 into a separate task.

1973Backend/CoreTODOLowurl rewritePlanned
80%
1.1 devel214.03.201511.02.2016 Task Description

Well, it needs a cleanup, per example:

fixed now http://127.0.0.1/flyspray/task/3?project=1

That should be something like:

The actual one is actually half a rewrite and half a GET version

1981Backend/CoreTODOLowUnify event logging and notificationsConfirmed
0%
1.1 devel220.03.201522.03.2015 Task Description

They are currently two separate mechanisms. Shouldn't be so. Events happen always, notifications when someone should be or have chosen to be notified about those events.

Besides, the current code is just a total mess that should be fixed/rewritten anyway, and we unfortunately also overlooked during the development phase 2 things: one new table, users_emails, and the fact that the user is now allowed to give several email addresses separated by a semicolon.

1985Database QueriesFeature RequestVery LowFor developers - testing with huge flyspray data setsNew
0%
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 );
-- TODO
-- Then create some more users:
INSERT INTO flyspray_users(user_name,real_name,email_address,account_enabled,tasks_perpage,lang_code) VALUES('tester1','T1Developer','tester1@example.com',1,100,'en');
INSERT INTO flyspray_users(user_name,real_name,email_address,account_enabled,tasks_perpage,lang_code) VALUES('tester2','T2Reporter_P3Manager','tester2@example.com',1,100,'de');
INSERT INTO flyspray_users(user_name,real_name,email_address,account_enabled,tasks_perpage,lang_code) VALUES('tester3','T3Basic_P3Reporter_P5Developer','tester3@example.com',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
-- TODO
-- 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.


	
1987APIFeature RequestMediumREST API to get metrics from flyspray projectsUnconfirmed
0%
229.03.201506.10.2015 Task Description

I need metrics for flyspray projects about a rest api. For example the count of issues for status, priority. I want use this values for my code analysis system http://www.sonarqube.org/ and other internal tools. It is possible to create a rest api with user authorization and only for metrics data?

1990User InterfaceFeature RequestLowRoadmap view should also show due dates and sort each v...Confirmed
0%
1.1 devel217.04.201524.04.2015 Task Description

Title says all. Small usability fix that will be big

2004User InterfaceBug ReportLowphp notice on unset params on reports pageNew
0%
1.1 devel218.07.201519.09.2015 Task Description

If on the reports page some get params aren't set, there are notice warnings on the report result page

like

index.php?do=reports&events[]=30

without start date,end date,result size

But it can be useful to have a bit shorter urls for sharing between authorized users instead the full params url.

Result page should use user default and project default settings fallbacks for the unset get params.

2014Database QueriesFeature RequestVery LowAdd MS SQL Server as database backendMaybe
0%
2120.07.201530.07.2015 Task Description

My company maybe changes to a MS SQL Server backed ERP.

In this case it could be nice to have Flyspray customized as CRM working on the same database for integration with ERP.

Well, currently just an idea.

2036Backend/CoreBug ReportVery Lowsession timeoutNew
0%
2121.08.201512.01.2016 Task Description

Got "wrong token" on creating a task whose form were open for a while in browser tab.

That means probably the session timed out on bugs.flyspray.org, so the anti csrf token doesn't existed anymore on the webserver.

It would'nt be a big problem if the browser backbutton works showing the ready written form again, but it was empty.

One solution would be temporarly storing it offline in the browser storages which are available with html5. But open for other simpler solutions..

2038Backend/CoreBug ReportLowJscalendar must be replaced with something elseNew
0%
223.08.201524.08.2015 Task Description

It's old. There has been a newer version 2.0. Even that one is not supported anymore, although some documents still remain available. The calendar component relies on its language translations files to be complete, or it breaks. Unfortunately, as I found out a few weeks ago, they are not, after switching the default language from english to my native one. Without having a good replacement for it, some of the translations for flyspray itself we've been getting lately are half-way unusable. Not for an ordinary user, but for anyone actually having to edit a task and its due date.

2047User InterfaceFeature RequestMediumInserting images/screenshots from bufferUnconfirmed
0%
2104.09.201529.09.2015 Task Description

Good if adding functional about easy way for insert screenshots to task

2049Backend/CoreFeature RequestMediumDisplay login page or customizable page to anonymous us...Unconfirmed
0%
209.09.201504.04.2016 Task Description

Currently, if there are no public project, the anonymous users gets a blank page not very useful. It will be a good idea to have a global configuration parameter to display some customizable-page or maybe the login form instead.

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

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

2072User InterfaceFeature RequestLowSetting parent task interface is too hiddenConfirmed
0%
2116.10.201516.10.2015 Task Description

Hello!

Today i was installed flyspray from git master and found some error.

Any user interface missing any fields to set parent task. Show parent field options was added in “fields when add/edit/view task” field at preferences page for project, but no affect.

Screenshots:

http://joxi.ru/vAWVOKGS9Y812W http://joxi.ru/D2P6dY7h0MnKr3 http://joxi.ru/1A5RGxwSVoM0rE

Flyspray version: Github master branch

2089Backend/CoreBug ReportMediumadding same taskid as subtask or related task should be...New
50%
1.0207.11.201518.11.2016 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.

2107AuthenticationFeature RequestLowSupport CAS Server AuthenticateUnconfirmed
0%
202.03.201604.09.2019 Task Description

Please support Central Authentication Service, thank you.

2111Installer and UpgraderBug ReportMediumUpon trying to install flyspray release, setup says I'm...Planned
10%
224.03.201605.06.2016 Task Description

When I tried to install a instance of flyspray that is a release, I am greeted with a screen that says that I am trying to install a development version of flyspray. Due to me using shared hosting, I am unable to run any composer commands.

My version of flyspray was downloaded from flyspray.org, so why would this be happening? Thanks

2112APIBug ReportMediumAssigned tickets aren't editable for lower privileged u...Unconfirmed
0%
231.03.201611.04.2016 Task Description

An assigned ticket can't be edited by a lower privileged user.

Steps to reproduce:

  • One Project, Two Users. User A is Admin, User B is Basic
  • A creates a Task.
  • A take ownership of the Task. (it’s important to do this AFTER saving the task. You cannot assign User A if you are A in this moment. Maybe another Bug...!?)
  • Now B is allowed to take ownershop too. B click now “Add me to assignees”.
  • Now B can edit the task.
  • If B click “save”, the task can’t be saved, because some fields haven’t the correct values (esp: state is now “unconfirmed”). Many error messages said, that unexpected values exist

Some weird moments:

  • Why can B edit a task? He have no rights to edit tasks...
  • If B are Basic and have “edit own Task”-Right too, this bug also exist.
2114TranslationsTODOMediumStandardize the priority meaning across flyspray transl...New
0%
207.04.201626.03.2018 Task Description

Standardize the priority meaning across flyspray translations.

Idea:

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.

2124User InterfaceFeature RequestVery LowDefault avatar can't be restoredConfirmed
0%
227.04.201629.04.2016 Task Description

I unchecked the avatar allowed in the admin panel. I checked it back and set size to 50.
I have to upload an Avatar picture to restore it, but the previous avatar looked like to be html avatar.

Is there a way to restore the html one ?

note: ‘default avatar’ is currently just that guy from the fontawesome webfonts:

<i class="fa fa-user"></i>
2126User InterfaceFeature RequestLowdynamic meta description (was: Change page title)Confirmed
0%
1.1 devel217.05.201617.05.2016 Task Description

Hello,

When i put a link in Discord for example, it detects “Flyspray, a Bug Tracking System written in PHP.” as title. How to change it ?

Edit by peterdd: adapted task title/summary to the root of the problem.

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;}
2143TranslationsTODOVery Lowjscalendar: week start should be monday, ISO 8601Confirmed
10%
201.07.201603.03.2019
2159Backend/CoreTODOHighfresh registered user accounts created spam tasksNew
0%
204.07.201625.10.2016
2208Backend/CoreInformationLowSeverity "medium" by defaultSuspended
50%
2127.09.201629.09.2016
2223GreekBug ReportVery LowSome strings need splitting or replacementUnconfirmed
0%
2124.10.201625.10.2016
2305GreekFeature RequestVery LowMonth names not translatableUnconfirmed
0%
2126.10.201611.03.2019
2319Installer and UpgraderBug ReportHighUpdate failed with "invalid byte sequence for encoding ...Unconfirmed
0%
223.11.201609.12.2016
2332Backend/CoreBug ReportMediumCSV export filename filteringNew
0%
224.01.201724.01.2017
2338Backend/CoreBug ReportMediumExport tasks to csv has issuesUnconfirmed
50%
202.02.201712.03.2019
2343EmailBug ReportMediumNotification mailUnconfirmed
0%
214.02.201715.02.2017
2345Text RenderingBug ReportLow<hr> should be in allowed tagsUnconfirmed
0%
220.02.201723.02.2017
2346Backend/CoreFeature RequestLowCustom css inheritanceUnconfirmed
0%
220.02.201723.02.2017
2427Backend/CoreFeature RequestLowallow hotlinking (direct links) to uploaded filesUnconfirmed
0%
207.03.201709.03.2017
2430Backend/CoreFeature RequestLowUser dependency on projectUnconfirmed
0%
216.03.201720.03.2017
2432Database QueriesInformationLowDelete tasks from all projects (like factory reset)Unconfirmed
0%
208.05.201710.05.2017
2436Backend/CoreBug ReportLowdokuwiki renderer creates nonunique html-id for h1,h2,h...New
0%
202.08.201702.08.2017
2447Backend/CoreFeature RequestMediumAllow notifications when a new task is createdUnconfirmed
0%
226.10.201729.10.2017
2448Backend/CoreBug ReportLowerror message in eventlog reportsUnconfirmed
0%
226.10.201729.10.2017
2451Backend/CoreFeature RequestLowMod: blank Category - user must chose before pressing A...Confirmed
0%
208.12.201714.12.2017
2490User InterfaceBug ReportMediumReset Password's Username field has maxlength of 20 - t...Confirmed
50%
1.0201.09.201810.09.2018
2496EmailBug ReportLowNotification Mail - Link to the task invalid when quick...Waiting on Customer
0%
213.09.201814.09.2018
2535Backend/CoreFeature RequestLownew optional Flyspray setting: add new users automatica...New
0%
216.01.201921.01.2019
2536Backend/CoreFeature RequestMediumstore session in Flyspray databaseNew
0%
221.01.201915.03.2019
1510NotificationsFeature RequestMediumFunction to test mail configuration Planned
40%
1.1 devel1329.10.200828.10.2015
1628NotificationsFeature RequestLowGlobal Notification addressUnconfirmed
0%
2.0125.02.201017.01.2013
1697User InterfaceFeature RequestMediumDetailed Due Date, SMS Notification, Deadline Warning N...Unconfirmed
0%
128.12.201106.10.2015
Showing tasks 101 - 150 of 301 Page 3 of 7 - 1 - 2 - 3 - 4 - 5 - Last >>

Available keyboard shortcuts

Tasklist

Task Details

Task Editing