Flyspray

This is the Bug Tracking System for the Flyspray project. This is not a demo!

2021-04-23: Flyspray 1.0-rc10 released See https://github.com/Flyspray/flyspray/releases

If you are upgrading from older version, please wait for 1.0-rc11.

2021-11-23: New user registration and password forgotten currently not working on bugs.flyspray.org due email server problems. peterdd

ID Category Task Type Severity Summary Status Progress Assigned To Due In Version  desc Opened Last Edited
2208Backend/CoreInformationLowSeverity "medium" by defaultSuspended
50%
2127.09.201629.09.2016 Task Description

Hi,
Where i can change severity and priority by default?
I want change severity to “Medium” by default for group Basic
I cant find this option in the Flyspray settings.

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

2333Backend/CoreInformationLowSet Default View on Login?Unconfirmed
0%
326.01.201727.01.2017 Task Description

I can’t see an option to set the default view after login. It always defaults to tasklist view when it would be useful to show the overview by default on login.

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

2520NotificationsFeature RequestLowSend a notification for a new task in slack integration...Unconfirmed
0%
424.10.201830.03.2020 Task Description

Hi, i made a way to integrate slack in flyspray using webhooks.. i not added to git.. if some can add for me it’s ok.

The process is simple.. maybe in the front the team can add a field for add the webhook for each action could be better.. in this moment the webhook is triggered only for newtask using the log method.. but you can simply add some “if” for each “type” of log.

Process:

1. Create a new field in the table flyspray_users named “slack”, and add the user slack for each user.
2. Edit the file /includes/class.flyspray.php , go to the function “logEvent” and change it by this:

public static function logEvent($task_id, $type, $newvalue = '', $oldvalue = '', $field = '', $time = null)
			{
				global $db, $user;
 
				// This function creates entries in the history table.  These are the event types:
				//  0: Fields changed in a task
				//  1: New task created
				//  2: Task closed
				//  3: Task edited (for backwards compatibility with events prior to the history system)
				//  4: Comment added
				//  5: Comment edited
				//  6: Comment deleted
				//  7: Attachment added
				//  8: Attachment deleted
				//  9: User added to notification list
				// 10: User removed from notification list
				// 11: Related task added to this task
				// 12: Related task removed from this task
				// 13: Task re-opened
				// 14: Task assigned to user / re-assigned to different user / Unassigned
				// 15: This task was added to another task's related list
				// 16: This task was removed from another task's related list
				// 17: Reminder added
				// 18: Reminder deleted
				// 19: User took ownership
				// 20: Closure request made
				// 21: Re-opening request made
				// 22: Adding a new dependency
				// 23: This task added as a dependency of another task
				// 24: Removing a dependency
				// 25: This task removed from another task's dependency list
				// 26: Task was made private
				// 27: Task was made public
				// 28: PM request denied
				// 29: User added to the list of assignees
				// 30: New user registration
				// 31: User deletion
				// 32: Add new subtask
				// 33: Remove Subtask
				// 34: Add new parent
				// 35: Remove parent
 
				$query_params = array(intval($task_id), intval($user->id),
				((!is_numeric($time)) ? time() : $time),
				$type, $field, $oldvalue, $newvalue);
 
                               // CREATE A NOTIFICATION IN SLACK WHEN A NEW TASK IS CREATED ONLY TO THE USER SELECTED
				if ($type == 14) {
 
					$usuarios = $db->query("SELECT DISTINCT a.slack, c.item_summary, d.project_title
						FROM {users} a
						JOIN {assigned} b on b.user_id = a.user_id
						JOIN {tasks} c on c.task_id = b.task_id
						JOIN {projects} d on d.project_id = c.project_id
						WHERE b.task_id = ?
						and a.slack <> '-'", array(intval($task_id)));
						$slackUsers = $db->fetchAllArray($usuarios);
 
						foreach ($slackUsers as $users) {
							    // GET THE USERS FOR IN THE SLACK TO SEND THE NOTIFICATION.
							$data = array(
								'text' => "New task: Project: " . $users['project_title'] . " | summary: " . $users['item_summary'] . " | taskId:" . $task_id ,
								'username' => "bott inslack",
								'link_names' => "1",
								'channel' =>  "@" . $users['slack'],
								'icon_emoji' => ":panda_face:"
							);
 
							$options = array(
								'http' => array(
									'header'  => 'Content-type: application/x-www-form-urlencoded\r\n',
									'method'  => 'POST',
									'content' => json_encode($data)
								)
							);
 
                                                      // DEFINE SLACK WEBHOOK
							$context  = stream_context_create($options);
							$result = file_get_contents("https://hooks.slack.com/services/xxxxxxxxx", false, $context);
 
						}
 
					}												
 
					if($db->query('INSERT INTO {history} (task_id, user_id, event_date, event_type, field_changed,
						old_value, new_value) VALUES (?, ?, ?, ?, ?, ?, ?)', $query_params)) {
 
							return true;
						}
 
						return false;
					}
2224GreekBug ReportVery LowSemicolon is a bad separatorUnconfirmed
0%
1124.10.201625.10.2016 Task Description

The symbol “;” in Greek is the question mark. So a list of semicolon-separated values looks like a series of questions in Greek. (looks like this: “cat? dog? rabbit?” ;-))

I suggest replacing semicolons with commas as list separators.

In email lists space is good choice too.

2087Backend/CoreInformationHighSee no Editor in Add New TaskUnconfirmed
0%
4104.11.201505.11.2015 Task Description

Hi,

I can’t see the Editor when I make new task. Also when I editing a exciting task.

See nothing to put any HTML code in it. Can you help me!?

I use this version: Flyspray 0.9.9.7

2062User InterfaceTODOLowreview do=admin&area=editallusersNew
30%
329.09.201515.04.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
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?

2032User InterfaceFeature RequestLowreplace hardcoded ... 'ellipsis'New
0%
1112.08.201512.08.2015 Task Description
Thomasz wrote:
The other thing that I cannot find how to make the text to be visible in the whole column (as with the summary I get the ... at some point of the text).

The root of this is found in scripts/index.php in function tpl_draw_cell():

case 'summary':
            $value = tpl_tasklink($task, utf8_substr($task['item_summary'], 0, 55));
            if (utf8_strlen($task['item_summary']) > 55) {
                $value .= '...';
            }
            break;

We live in a world now, where the view port ranges from 320 pixel width mobile screens up to 4k+ wide tv screens, the amount of columns is configurable from minimal to all available fields of a task. We currently let the browser automatic decide how wide he renders each column depending on table content and available window size.

Well, that ellipsis problem can be handled at different levels:

  • motivate the task creators to use short task summary if possible (e.g. show a hint/tooltip when typing the summary gets over a limit, in our case the hardcoded limit is 55. ). Short task topic/summaries are easier to read/scan for the users.
  • replace the hard ellipsis by a pure css solution, that adapts to users browserwindow size/space in in the columns for summary
  • drop the ellipsis thing complete, task summary always shown full length, table rows adapt in height automatically.

Possible CSS solution:

2581User InterfaceFeature RequestLowreplace bitmap icons of default themeNew
20%
31.10.201905.04.2021 Task Description

I played with adding a dark mode color theme to the default CleanFS theme.

To make the dark theme just simple exchange some colors, the bitmap icons should be replaced with alternatives.

Easiest would be using the fontawesome font icons as Flyspray still uses them and they can simply get a css color assigned.

Examples

  • caret of tasklist
  • the ‘select all’ icon of tasklist, but also used at some more locations.
  • some icons in the Flyspray main toolbar (Overview, Tasklist, Event log, ..)
  • the black calendar icons for date selects
  • maybe the file type icons for attachments

Editors

  • Dokuwiki toolbar fixed in devel for Flyspray 1.0-rc10
  • CKEditor: some modern CKEditor themes support color/dark mode, I will probably choose the moona-lisa theme as default.
2441Backend/CoreBug ReportMediumrefactor dokuwiki image tagsNew
0%
15.09.201715.09.2017 Task Description
I’ve tried inserting an image in the intro message but it doesn’t show. Is there something broken in the formattext.inc file? Seems unlikley because it’s so old but can’t work out why nothing shows.
Alan

I had to disable some parts last year within dokuwiki quickly due sever reported security issues in that area.

As tradeoff embedding images currently don’t work within dokuwiki textareas in Flyspray.

As I too wish that feature reappear working for my projects, this is on my personal list. But requires focused free time because must be made secure.

Maybe instead of using fetch.php of dokuwiki, we can use Flypsray’s ?getfile=id , which also checks permissions.
But must check also securly file types and maybe resize images to fit into the desired page (thumbnails).

2034User InterfaceFeature RequestLowreduced extended search form when applicableNew
0%
17.08.201517.08.2015 Task Description

If a project has no versions defined yet and there are also no 'global' versions defined,
there is not need for displaying the version selects.

Same for categories. If no categories in project and no global categories then no need for displaying a cat select.

Maybe a tooltip/hint in the extended search form to inform the user that the fields were hidden for that reason.

2588Backend/CoreBug ReportLowps_files_cleanup_dir: opendir(/tmp/.priv) failed: Permi...Unconfirmed
0%
218.12.201905.02.2021 Task Description

Sometimes comes this message with a lot of backtrace log.
If you are reporting a bug please provide as much information as possible to help understand and reproduce the problem:

Did you installed an official release or did you used an inoffical docker?!
Official download flyspray-1.0-rc9

mysqlnd 5.0.12-dev
Linux 64bit
PHP Version 7.2.25

Steps done to create the problem:
Wait some weeke and edit a ID.

Experienced behavior:

[18-Dec-2019 13:19:41 Europe/Berlin] PHP Notice:  session_start(): ps_files_cleanup_dir: opendir(/tmp/.priv) failed: Permission denied (13) in /var/foo/htdocs/flyspray/includes/class.flyspray.php on line 1006
[18-Dec-2019 13:19:41 Europe/Berlin] PHP Warning:  session_start(): Cannot send session cache limiter - headers already sent (output started at/var/foo/htdocs/flyspray/includes/class.flyspray.php:1006) in /var/foo/htdocs/flyspray/includes/class.flyspray.php on line 1006
[18-Dec-2019 12:19:41 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /var/foo/htdocs/flyspray/includes/class.flyspray.php:1006) in /var/foo/htdocs/flyspray/index.php on line 96
[18-Dec-2019 12:19:41 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /var/foo/htdocs/flyspray/includes/class.flyspray.php:1006) in /var/foo/htdocs/flyspray/index.php on line 97
[18-Dec-2019 12:19:41 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /var/foo/htdocs/flyspray/includes/class.flyspray.php:1006) in /var/foo/htdocs/flyspray/includes/class.csp.php on line 76
[18-Dec-2019 12:19:41 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /var/foo/htdocs/flyspray/includes/class.flyspray.php:1006) in /var/foo/htdocs/flyspray/includes/class.csp.php on line 80
[18-Dec-2019 12:19:41 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /var/foo/htdocs/flyspray/includes/class.flyspray.php:1006) in /var/foo/htdocs/flyspray/includes/class.csp.php on line 82
2482Backend/CoreInformationLowProtect issues by defaultUnconfirmed
0%
110.08.201810.08.2018 Task Description

I get that your project is public and you want people visiting this site to see what issues you’re working on, but most people probably don’t want their bugs list open to the public;

Can this be protected/private by default?

2534Backend/CoreFeature RequestLowPrivate projectsUnconfirmed
0%
816.01.201918.01.2019 Task Description

I would like to restrict certain projects from view from normal users (Basic group.) I couldn’t find out a way to do it. I could restrict them from viewing tasks, which is good, but it would be nice to hide the project entirely from the Overview screen.

2617Backend/CoreFeature RequestLowPreview button not at the good placeMaybe
0%
226.09.202026.09.2020 Task Description

The “Preview” button is not at the good place.

The “Preview” must to be near “Add this task” with same background button color.

Thanks in advance.

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.

2142Backend/CoreBug ReportLowPost-authenticate redirect does not make use of baseurl...Unconfirmed
0%
28.06.201601.08.2016 Task Description

I run flyspray behind a reverse proxy with the front end url being https and with the actual back end server not being on a standard port and not using https.

Setting force_baseurl seems to sort most areas with flyspray’s url generation using that instead of picking up from $_SERVER, however post-authentication redirection does not do that it just processes redirect_to as is (which in my case means it picks up the protocol, name and port for the back end server rather than what’s set in force_baseurl).

./themes/CleanFS/templates/loginbox.tpl puts out $_SERVER[’REQUEST_URI‘] into a hidden redirect_to input field - on my setup on the front page that’s e.g. “/” or for a ticket url it would be “/index.php?do=details&task_id=999” so no protocol or hostname.

scripts/authenticate.php picks up that redirect_to value and just passes it to Flyspray::Redirect, which in turn calls FlySpray::absoluteURI on what it’s passed, and FlySpray::absoluteURI doesn’t use $baseurl to qualify the url.

Not sure what the best fix is - my suggestion would be that Redirect detects urls that aren’t fully qualified and adds the $baseurl on to the front of them, rather than calling absoluteURI (absoluteURI is used to set $baseurl if force_baseurl is unset, so that’s not appropriate to modify). Alternatively scripts/authenticate.php could check redirect_to and add $baseurl if needed.

2029Backend/CoreFeature RequestLowpossibility to let a user describe himselfNew
0%
112.08.201518.01.2018 Task Description

This could be done by a textarea field (like comment text or task description) on the myprofile page and stored in a new field (of type text for instance) in the user table.

This allows the user to introduce himself to the other users.

Should be restrictive, for instance only simple text allowed, no html or tags.

2654Backend/CoreTODOMediumPHP8.1 compatibilityNew
0%
19.10.202119.10.2021 Task Description

[ ] ADOdb xmlschema03 issues
[ ] other warnings/notices

2620Backend/CoreTODOMediumPHP8 compatibilityNew
50%
peterdd226.11.202017.08.2021 Task Description

PHP 8.0 is now released (2020-11-26) and Flyspray should be made compatible with it.

  • Replace removed and deprecated functions with alternatives in our source code.
  • Upgrade used libraries or make used libraries compatible:
    • post github issue or pull requests for ADODB
    • upgrade used dokuwiki or make changes in our integration (probably just review our as official dokuwiki project contains too much stuff we do not need and changed much)
    • review used geshi
    • upgrade our swiftmailer version to PHP8 compatible version
    • upgrade our oauth2-client stuff to PHP8 compatible version
  • The @ operator no longer silences fatal errors. Some checks in installer or other areas might not work anymore as expected when the @-operator was used as silencer for previous PHP versions.
2454Backend/CoreBug ReportLowPHP warning in admin edit user areaNew
0%
15.01.201815.01.2018 Task Description

Since PHP7.2 shows a warning in admin area ?do=admin&area=users&user_id=1234567890, when user_id is set, but no alternative user_name parameter.

Probably related to scripts/admin.php

$id = Flyspray::UserNameToId(Req::val('user_name'));
if (!$id) {
  $id = Req::val('user_id');
}
2309User InterfaceBug ReportLowPHP noticed displayed on default "All Projects" page.Unconfirmed
0%
302.11.201626.11.2016 Task Description

I am seeing some noticed on the front page of our tracker install that were not present prior to updating to 1.0rc3.

Notice: Undefined offset: 1 in <redacted>/scripts/index.php on line 202 Notice: Undefined offset: 2 in <redacted>/scripts/index.php on line 202

It’s displaying the full path to the files on the page.

There are effectively 2 issues here. One is that some kind of error is kicking up. Second is that it’s being shown to anyone who visits the site.

2330Backend/CoreBug ReportLowPHP Notice: Undefined offset: 0 in scripts/index.php o...Unconfirmed
50%
423.01.201730.01.2017 Task Description

Pretty minor, but seems to show up regularly enough in our logs. The line in question:

$outfile = str_replace(' ', '_', $tasks[0]['project_title']).'_'.date("Y-m-d").'.csv';
2335Backend/CoreInformationLowPDF Attachment does NOT View/Open in New Window/TabUnconfirmed
0%
127.01.201727.01.2017
1988Installer and UpgraderBug ReportMediumPassword Field for AdminUnconfirmed
50%
302.04.201512.05.2015
2127User InterfaceFeature RequestLowoverhaul task detail page layoutNew
0%
120.05.201625.05.2016
2138User InterfaceFeature RequestVery LowOverhaul dokuwiki editor buttonbarNew
0%
17.06.201617.06.2016
2122Backend/CoreBug ReportMediumopen_basedir restrictions for FS_CACHE_DIR not respecte...Suspended
0%
422.04.201616.08.2016
2220Backend/CoreInformationLowOne status with different color in tasklistUnconfirmed
0%
524.10.201603.11.2016
2065User InterfaceFeature RequestMediumOne click signup (with facebook, twitter , Google, yaho...Unconfirmed
50%
1109.10.201503.03.2016
1964DocumentationFeature RequestLowOn page documentationNew
0%
11.03.201511.03.2015
2477Backend/CoreInformationLowold style MySQL extension is abandoned ..Unconfirmed
0%
110.08.201810.08.2018
2549User InterfaceBug ReportLowOauth register template always shows "Username already ...Unconfirmed
0%
06.05.201906.05.2019
2595NotificationsFeature RequestLowNotifications to message platforms Unconfirmed
0%
105.03.202026.03.2020
2343EmailBug ReportMediumNotification mailUnconfirmed
0%
214.02.201715.02.2017
2608EmailBug ReportMediumNotification email sent although not requestedUnconfirmed
0%
105.05.202005.05.2020
2650NotificationsFeature RequestLownotification content or fields dependent of user permis...New
0%
113.08.202113.08.2021
2528User InterfaceBug ReportLowNew user registration doesn't check for duplicate usern...Confirmed
50%
505.01.201907.01.2019
2071EmailBug ReportLowNew user e-mail validationConfirmed
0%
14.10.201514.10.2015
2535Backend/CoreFeature RequestLownew optional Flyspray setting: add new users automatica...New
0%
216.01.201921.01.2019
2045User InterfaceFeature RequestLowneed add option for can set default Severity and Priori...Unconfirmed
0%
204.09.201504.09.2015
2429Backend/CoreInformationLowMy tasks URLUnconfirmed
0%
109.03.201720.03.2017
2198User InterfaceBug ReportLowMulti-Select from tasklist offers options to those who ...Unconfirmed
0%
1122.08.201607.04.2021
2481Backend/CoreInformationLowMove to MVCUnconfirmed
0%
10.08.201810.08.2018
2305GreekFeature RequestVery LowMonth names not translatableUnconfirmed
0%
2126.10.201611.03.2019
2451Backend/CoreFeature RequestLowMod: blank Category - user must chose before pressing A...Confirmed
0%
208.12.201714.12.2017
2101Backend/CoreBug ReportLowMobile view GUI bugConfirmed
20%
418.02.201624.02.2016
2456User InterfaceBug ReportHighMissing GUI controlsUnconfirmed
80%
509.02.201810.02.2018
Showing tasks 151 - 200 of 326 Page 4 of 7

Available keyboard shortcuts

Tasklist

Task Details

Task Editing