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  desc Assigned To Due In Version Opened Last Edited
1991User InterfaceFeature RequestMediumAbillity to drill into progress graph from toplevel vie...New
0%
17.04.201524.04.2015 Task Description

From the overview view for a project the progress charts should be large and show dates so can have a better sense for absolute progress and then when click it should see it full size going back to start of project and showing dates.

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

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

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?

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.

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

Well, title is self explanatory, but adding a vote button in the overview in task list whould be nice. And that backedup with an option to enable it or not in the admin panel

Idea by Wertandrew

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

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

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.

1956Backend/CoreTODOLowDatesConfirmed
0%
1.1 devel307.03.201509.03.2015 Task Description

Upon my implementation for an easier date selector, I think we should rework it as follow:

  • Drop extended date concept
  • Add a Time format
  • Extended dates field become a concatenation of date format and time format.
    • The above make it easier to select your preferences
  • Rename GMT to UTC
  • Add automatic daylight saving configs
1955Backend/CoreTODOLowCodestyleConfirmed
0%
1.1 devel307.03.201509.03.2015 Task Description

So, the new website is now online, the codestyle part is empty and I think we need to speak about them...

I can happily reformat the whole project once we have decided the whole thing. Don't forget, too strict code style leads to code style not being respected, so crap like max line length should be avoided. I personnaly don't know anybody coding from their mobile phones. I sometimes do check some code on it, but long lines never disturbed me as long as the line is not 5k chars long.

I think we should go for a standard one.

Things like:

- Do use brackets even if single lined condition
- Variable names have spaces replaced by the next words first letter in capital, start with a lower case
- Same goes for functions
- Etc etc. Pretty much of PSR-1 maybe 2

What I don't understand is the use of spaces, and I'd be for tabs instead of 4 spaces (some files use 2 spaces, some 3...). Most of the dev tools are by default set to use tabs and not spaces. And be seeing the code now we see that it clearly. So i'd be for reformatting into tabs, the whole, and same time fixing the broken identation in every files.

I could write it down for the website

1924Backend/CoreBug ReportLowBetter errors messages on email errorNew
0%
1.1 devel11.07.201406.03.2015 Task Description

When entering the wrong SMTP information and then adding a user through Multiple New Users page, the error message is bad. It just says 'this should never happen'. Instead, we need to detect that it is an SMTP authentication error and report that issue to the user more clearly.

1882EmailBug ReportMediumError with email notificationPlanned
0%
2.0622.12.201308.04.2016 Task Description

Hello,

First of all, thanks for this great tool, very user friendly.
I'm informing you as requested ("This should never happend, please inform Flyspray Developers" :)) because I'm getting this error message:

[Completely unexpected exception: Connection could not be established with host http://ssl0.ovh.net/ [php_network_getaddresses: getaddrinfo failed: Name or service not known #0]
This should never happend, please inform Flyspray Developers]

I set up the SMTP configuration (SSL) with information provided.

Enclosed in PHPinfo configuration, if it helps.

Thanks

1876Backend/CoreFeature RequestLowAdd wiki page tabPlanned
0%
2.03126.09.201306.03.2015 Task Description

It will quite useful to have wiki page for project.

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
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%
1327.03.201306.03.2015
1843Backend/CoreFeature RequestLowAttach 1 ticket to multiple projectsMaybe
0%
2.007.03.201306.03.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
1819Backend/CoreFeature RequestLowCommunicate via emailPlanned
0%
2.08317.01.201318.10.2016
1818Backend/CoreFeature RequestLowGit/SVN/CVS IntegrationPlanned
0%
2.05217.01.201312.08.2015
1811Backend/CoreFeature RequestLowGoogle Docs/Dropbox IntegrationNew
0%
2.0417.01.201313.03.2015
1809User InterfaceFeature RequestLow Searching closed tasks by Reason for closingMaybe
0%
2.0217.01.201306.11.2015
1798Backend/CoreFeature RequestLowBounty System New
0%
2.0113.12.201206.03.2015
1792Backend/CoreFeature RequestLowChanges from Deprecated 1.0.0New
0%
2.113.12.201203.03.2013
1783NotificationsFeature RequestMediumCreate account for non-logged user automaticallyPlanned
0%
2.027.11.201207.03.2015
1782Backend/CoreFeature RequestLowCustom fields on taskPlanned
0%
2.033327.11.201207.01.2020
1774Backend/CoreFeature RequestLowEmail LayoutMaybe
0%
2.011.10.201220.07.2015
1772Backend/CoreFeature RequestLowDifferent kinds of votesMaybe
0%
2.01123.09.201209.03.2015
1766Backend/CoreFeature RequestLowAllow users to choose their favourite themePlanned
0%
2.01116.08.201204.08.2015
1760Backend/CoreFeature RequestLowColumn 'last commenter' in tasks list viewMaybe
0%
2.01227.07.201225.10.2016
1753Backend/CoreFeature RequestMediumUsergroup Restriction: Only View SummaryConfirmed
0%
1.1 devel4220.06.201227.06.2016
1748Database QueriesFeature RequestLowSort by recent activityPlanned
0%
1.1 devel717.06.201211.03.2015
1737JavascriptTODOLowJavascript OverhaulNew
0%
1.1 devel6125.05.201224.02.2016
Showing tasks 251 - 300 of 321 Page 6 of 7

Available keyboard shortcuts

Tasklist

Task Details

Task Editing