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

1988Installer and UpgraderBug ReportMediumPassword Field for AdminUnconfirmed
50%
302.04.201512.05.2015 Task Description

The installer requests a password for the admin account, and provides a default one.

Because this field is not type=”password”, the browser caches this data for any field named “admin_password”

This also applies to future installations of the software.

I have marked this as critical as this can pose a security hazard. A different implementation would be allowing entry of password, or in the case of wanting to provide a default one, have two password fields prepopulated, and a text one prepopulated so that it can be viewed by the end user.

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?

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.


	
1983Backend/CoreFeature RequestLowExport Roadmap as "Changelog"Unconfirmed
0%
21.03.201521.03.2015 Task Description

It's a little like "text version". So you could use this exported changelog within a new release.

I think good was:

  • Only resolved tasks ordered by date (but of course without displaying the date) and only public accessible tasks
  • Without task number ("FS#...")
  • A download function via button
1982Backend/CoreBug ReportLowdouble entries in assignees listNew
80%
1.1 devel320.03.201511.02.2016 Task Description

maybe yet fixed in 1.0 dev, but here bugs.flyspray.org my account is shown twice for selection if u edit a task.

Internally in the form also with the same id, so probably not a big problem.

I registered some years ago, maybe this year jordan(?) added me again or with another email adress? Maybe I have two addresses under on account here, which is a feature, not a bug.

But for the assignee list it should “group by user_id”.

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.

1980User InterfaceFeature RequestMediumTasklist - PDF ExportMaybe
0%
2.0119.03.201526.05.2016 Task Description

Hello,

First of all, thanks for this great tool.
Can you please add also PDF export for Tasklist?

Thank You.

1978User InterfaceBug ReportLowCompensate degraded usability due added token system an...Confirmed
50%
1.0516.03.201512.10.2015 Task Description

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

Due the required replacement of action links to form buttons:

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

Javascriptless CSS3-toggles:

  • Some clickable labels don’t show pointer icon when :hover. CSS issue, easy fix.
1977Backend/CoreBug ReportLowWeird URL after closing task with referenceUnconfirmed
0%
115.03.201518.03.2015 Task Description

On Mac OS Safari:

I just closed a task and wrote the following into the comment for closing:

"See also F.S.#.14" (of course without the points). When I then click the link in the comment box (below the task details) I'm redirected to:
"http:/flyspray.stefan-herz%0Aog.tld/index.php?do=details&task_id=%0A14". No matter if #14 is closed or not.
It worked with Firefox.

Any suggestions?

1976Backend/CoreFeature RequestLowSave sorting for actual projectPlanned
0%
1.1 devel15.03.201515.03.2015 Task Description

"Sorting by columnXYZ" - possibly in $_SESSION?

1975Backend/CoreFeature RequestLowBatch processing of tasks in tasklistPlanned
50%
1.1 devel3115.03.201513.12.2016 Task Description

E.g. actual version, dueVersion, ...

Edit by peterdd: Topic was discussed earlier on https://github.com/Flyspray/flyspray/issues/130 (edit:It seems Jordan turned “issues” on github.com off in favor of bugs.flyspray.org)

The feature still exists but it is turned off until finished in a secure way. The possibility of sub and parent tasks requires many checks.

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

1972User InterfaceFeature RequestLowAdvanced search form - ideas for faster/better usabilit...New
0%
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

Ideas

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.
1971Backend/CoreFeature RequestLowa field like challenge level or doom levelNew
0%
12.03.201512.03.2015 Task Description

We have severity field.
We have priority field.
We have estimated effort field.

But we don't have a fíeld to see how hard a task is to solve. Something like in doom 3d shooter a face from normal/easy to angry/bloody/very hard.

Imaging you have some people in a company, some base educated, some high educated, some are experts in their field, some do repeating easy tasks.

By adding the ability to set a 'doom level' on tasks this can complete the view over a project in addition to severity,priority,effort.

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.

1969User InterfaceFeature RequestLowsearch form with Advanced search toggle layoutNew
60%
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?

1968User InterfaceFeature RequestLowReplace Expand all / Collapse all on Roadmap page by pu...Planned
0%
1.1 devel12.03.201516.03.2015 Task Description

and simplify interface:

  • If the tasks are collapsed, show only the expand all link/button
  • If ths tasks are expanded, show only the collapse all link/button
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.

1966User InterfaceFeature RequestLowMy votes on myprofileNew
80%
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 uservoice.com 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.

1965Public RelationsBug ReportHighPR fixes for FS 1.0 on external sitesNew
0%
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 sf.net . The info there should be updated or removed.
1964DocumentationFeature RequestLowOn page documentationNew
0%
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.

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.

1961User InterfaceFeature RequestLowshow new notifications in flysprayNew
0%
11.03.201511.03.2015 Task Description

similiar to facebook.com or github.com show new unread notifications on the topbar.

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)

1959User InterfaceFeature RequestLowAdd vote from tasklistPlanned
0%
1.1 devel09.03.201509.03.2015
1958User InterfaceFeature RequestLowPreselect values for event log viewNew
0%
09.03.201509.03.2015
1957User InterfaceFeature RequestLowautomatic temporary storing while writing/editing taskResearching
0%
209.03.201512.03.2015
1956Backend/CoreTODOLowDatesConfirmed
0%
1.1 devel307.03.201509.03.2015
1955Backend/CoreTODOLowCodestyleConfirmed
0%
1.1 devel307.03.201509.03.2015
1950User InterfaceTODOMediumSolve confusing Flyspray group settings vs Project grou...Confirmed
50%
1.0907.03.201511.11.2015
1924Backend/CoreBug ReportLowBetter errors messages on email errorNew
0%
1.1 devel11.07.201406.03.2015
1919Backend/CoreBug ReportLowAJAX Quick-Edit on category and task pagesPlanned
70%
1.1 devel3109.07.201407.12.2015
1882EmailBug ReportMediumError with email notificationPlanned
0%
2.0622.12.201308.04.2016
1876Backend/CoreFeature RequestLowAdd wiki page tabPlanned
0%
2.03126.09.201306.03.2015
1875Backend/CoreFeature RequestMediumAbility to mark project as completedMaybe
20%
1.1 devel6126.09.201312.10.2015
1871Backend/CoreFeature RequestLowRestricted Task Types Based on GroupMaybe
0%
2.019.07.201306.03.2015
1868Backend/CoreFeature RequestLowOne issue for multiple componentsMaybe
0%
2.0222.06.201312.11.2015
1866Backend/CoreFeature RequestLowAPI for automatically report a bugMaybe
0%
2.01108.05.201306.03.2015
1861Backend/CoreBug ReportMediumLogin-Page should redirect after login to the page, the...Confirmed
30%
1.1 devel4112.04.201309.07.2018
1858Backend/CoreFeature RequestLowClone Tasks and ProjectsMaybe
0%
2.0102.04.201315.09.2017
1857User InterfaceFeature RequestLowLogin and then submit new taskResearching
0%
2.0127.03.201306.03.2015
1856Backend/CoreBug ReportMediumWrong timezonesResearching
0%
1227.03.201306.03.2015
1849Backend/CoreFeature RequestHighInstaller OverhaulPlanned
50%
1.1 devel515.03.201315.07.2016
1847User InterfaceFeature RequestLowMake default theme responsivePlanned
20%
1.1 devel314.03.201316.10.2015
1843Backend/CoreFeature RequestLowAttach 1 ticket to multiple projectsMaybe
0%
2.007.03.201306.03.2015
1836Backend/CoreFeature RequestLowNeed permission option to view only own tasksPlanned
80%
1.1 devel727.02.201322.04.2015
1834Backend/CoreFeature RequestLowuser profile pageMaybe
0%
2.025.02.201306.03.2015
1823Backend/CoreFeature RequestLowComments with edit changesPlanned
0%
2.0230.01.201306.03.2015
1820Backend/CoreFeature RequestLowMerge comments, history, and detailsNew
0%
2.0317.01.201325.05.2016
Showing tasks 201 - 250 of 301 Page 5 of 7<<First - 3 - 4 - 5 - 6 - 7 -

Available keyboard shortcuts

Tasklist

Task Details

Task Editing