|
2549 | User Interface | Bug Report | Low | Oauth register template always shows "Username already ... | Unconfirmed | |
| | | 06.05.2019 | 06.05.2019 |
Task Description
RC9 running on CentOS LAMP stack
Steps done to create the problem: Set up google as an oauth provider. Have a user click “Sign in with Google” in the login box. User connects their account with Flyspray. Google redirects the user back to Flyspray The return screen (on flyspray) asks for a username.
Expected behavior: No warning about duplicate username should be shown on initial page load since no username was entered yet
Experienced behavior: A warning about the username being already taken is shown.
It appears there is no logic for showing or hiding that warning in register.oauth.tpl
(It would be great if flyspray was able to just use the email as a username to make the UX even better/simpler.)
|
|
2548 | User Interface | Feature Request | Low | CSS grid layout for task details page type | New | |
| | | 05.05.2019 | 05.05.2019 |
Task Description
Layouts from 320 pixel mobile portrait, tablet sizes and up to 4k monitor landscape mode using
@media queries
Mockups required not only for different sizes, but also different project configurations, user permissions, and task relations.
Should look ok whatever project configuration is done or how weird a task description is.
On wider screens the comments could be beside the task description for instance. Or some tabs or menus could be shown directly instead of grouping in the tabs.
|
|
2545 | User Interface | Information | Low | Can't delete system wide 'Task Statuses' | Unconfirmed | |
| | | 20.04.2019 | 05.05.2019 |
Task Description
From the ‘Task Statuses’ menu, when in the global project, the ‘delete’ cases are grayed out, preventing me from deleting them.
This is a problem for me because I would like to only have project specific statuses and I would like to name one of those statuses ‘Assigned’.
For now, I got around it renaming the system wide ‘Assigned’ status.
|
|
2544 | Email | Bug Report | Low | Error when registering new account | Unconfirmed | |
| | | 23.03.2019 | 23.03.2019 |
Task Description
I installed the developer edition.
mysql Ver 14.14 Distrib 5.7.25, for Linux PHP 7.2.15-0ubuntu0.18.04.1 Ubuntu 18.04.2
Admin settings → Allow users to register and send conf. email.
I DID set up email settings thru google and sent a test email. it did work.
After logging out, I tried to register a new account. I filled in details and got the following error: Completely unexpected exception: Expected response code 250 but got code “530”, with message “530 5.7.0 Must issue a STARTTLS command first. u13sm3937813iog.80 - gsmtp " This should never happend, please inform Flyspray Developers
Obviously, the confirmation email was never sent.
I am going to try to manually add a new user. Will update with outcome.
|
|
2536 | Backend/Core | Feature Request | Medium | store session in Flyspray database | New | |
| | | 21.01.2019 | 15.03.2019 |
Task Description
Currently the sessions are stored by the webservers default settings.
Having this sessions under control by Flyspray by storing it in the database has following advantages:
Allows handling of all sessions of a user by Flyspray.
Providing a session management for each user. The user can see on which devices he is currently logged in and could also force a logout on selective devices.
A forced logoff of all or some user sessions is easy implementable for admins.
Statistics about how many users and who is logged in. (user status: hide always, online, offline, do not disturb, ..)
Could make onpage-notifications easier to implement.
.. ?
Disadvantages:
A potential unknown security bug in Flyspray that could lead to reading a session db table could leak informations like who is currently online/active and make further attacks more focused or makes session takeover easier.
.. ?
|
|
2535 | Backend/Core | Feature Request | Low | new optional Flyspray setting: add new users automatica... | New | |
| | | 16.01.2019 | 21.01.2019 |
Task Description
When a Flyspray installation allows user self registration and has public but also more private projects, this feature could make the required configuration more clear:
In this case, keep the number of global user groups as low as possible and the global user group for basic or just registered users has only the ‘can login’ permission and nothing more. Because that only would be useless for new registered users, adding them also to a basic user group of a public project could be useful.
So my suggestion is:
A new optional global setting: Something like ‘default project user group’ (store 2 values: a project_id and a group_id). Validity of that setting must be checked during any user registration, so that project must exists now and at later time as also that project user group within that project. (’Checks’ of admin prefs)
So it would be like this for a new registered userA:
userA is in a basic default global user group: only login permission to handle his account registration (login, logout, user preferences, password forgotten)
userA is in project X default user group: some basic permissions you want allow for every (new) registered user in project X
project Y: all ‘allow anyone ...’-settings are unchecked, userA not in any user group of project Y
The setting is probably best put below the ‘Default global group for new users’ setting in the global admin prefs tab #userregistration as
Either: A dropdown list with all public projects with an existing user group and dependend on the selection the available basic project groups are loaded by ajax as a select list too.
Or: Only one dropdown list that contains a list of public projects with possible project user groups. Would not require extra ajax calls and is maybe enough because we could exclude project groups that have project manager permission or such configuration nobody would allow new registered users.
no default project user group
public projectA - simple user groupA1
public projectA - simple user groupA2
public projectB - simple user groupB
public projectC - simple user groupC
This idea could be enhanced further (put the new user to multiple public projects when he registers or let user choose from public allowed projects during registration process), but lets start simple.
|
|
2534 | Backend/Core | Feature Request | Low | Private projects | Unconfirmed | |
| | | 16.01.2019 | 18.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.
|
|
2531 | Translations | Feature Request | Low | detect usage of translation keywords | New | |
| | | 10.01.2019 | 19.03.2019 |
Task Description
Some translation keywords of Flyspray are used at more than one code location.
To help translators doing the correct translations, it would help to show in what context a translation keyword is used. Especially when a keyword is used more than once.
As we have our own translation helper integrated into Flyspray, we could show a ‘translation keyword usage counter’ there and maybe show on request in which file a translation keyword is used.
It would also help to identify ‘abandoned’ translation keywords that are not used anymore by Flyspray source.
Also it would help to identify when a translation is used at more than one location with maybe different context.
I think we can use a regular expression and scan the whole Flyspray source for that. (and maybe database entries if there are places that have translation keywords stored - I don’t think so, but better check that too first than forget that case)
The regular expression should match that examples case insensitive for the translation keyword report:
L('report'
L("report"
eL('report'
eL("report"
but also ugly cases like
l( 'report'
or
El ( "report"
case insensitive.
But not for example
createURL('report'
|
|
2528 | User Interface | Bug Report | Low | New user registration doesn't check for duplicate usern... | Confirmed | |
| | | 05.01.2019 | 07.01.2019 |
Task Description
Steps done to create the problem: Visit https://bugs.flyspray.org/index.php?do=register in a private browser window (so you are logged out)
Put in an already taken username (e.g. Stefan or Stefan2)
Expected behavior: Username gets red and a note appears that username already is taken
Experienced behavior: Username gets green and registration of a new user proceeds with sending a notification mail with confirmation code. After putting in the confirmation code in provided page, user gets presented a “username is already taken, choose another” (where?) message, and has to re-start registration process from beginning and hopefully this time choose a not taken name.
|
|
2527 | Backend/Core | Bug Report | Low | Database Check »Your mysql supports full utf-8 since 5.... | Unconfirmed | |
| | | 05.01.2019 | 05.01.2019 |
Task Description
Steps done to create the problem: Access /index.php?do=admin&area=checks with a MySQL Version >= 5.5.3
Expected behavior: Flyspray tests for character set and displays »Your mysql supports full utf-8 since 5.5.3. You are using x.x.x and flyspray tables could be upgraded.« when database schema or one table isn’t set to utf8mb4 character set.
Experienced behavior: Flyspray always shows this note, even though character set is correct.
As far as I can tell from the source, a query gets executed to the database (and if I do that manually the result is “utf8mb4, utf8mb4_unicode_ci” for my database), but the result doesn’t get checket, the note is always shown (line 123)
|
|
2524 | Email | Information | Low | SMTP Mailer doesn't accept custom ports | Unconfirmed | |
| | | 05.11.2018 | 27.11.2018 |
Task Description
Did you installed an official release or did you used an inoffical docker?! Yeah MySQL 8.0.12, 7.2.9 on debian buster
Steps done to create the problem: Enter server:port at Mail-Settings
Expected behavior: smtp.example.com:customport would make use of the custom port
Experienced behavior: TLS Errors
if ($fs->prefs['email_tls']) {
$swiftconn = Swift_SmtpTransport::newInstance($fs->prefs['smtp_server'], 587, 'tls');
} else if ($fs->prefs['email_ssl']) {
$swiftconn = Swift_SmtpTransport::newInstance($fs->prefs['smtp_server'], 465, 'ssl');
} else {
$swiftconn = Swift_SmtpTransport::newInstance($fs->prefs['smtp_server']);
}
Should be changed to
$someTemporaryVariable = explode(':',$fs->prefs['smtp_server']);
if ($fs->prefs['email_tls']) {
$swiftconn = Swift_SmtpTransport::newInstance($someTemporaryVariable[0], $someTemporaryVariable[1] || 587, 'tls');
} else if ($fs->prefs['email_ssl']) {
$swiftconn = Swift_SmtpTransport::newInstance($someTemporaryVariable[0], $someTemporaryVariable[1] || 465, 'ssl');
} else {
$swiftconn = Swift_SmtpTransport::newInstance($someTemporaryVariable[0], $someTemporaryVariable[1] || 25);
}
|
|
2522 | Backend/Core | Feature Request | Low | email vs username login issues | Researching | |
| | | 31.10.2018 | 02.11.2018 |
Task Description
So, I’ve been away from Flyspray for more than a few years. When I tried to login to the Flyspray here, I was unable to login, because I don’t remember my username, and I was unable to retrieve my username, because there’s no function for that. I was *also* unable to re-register the same email address. SO, having an account system that requires both unique usernames and unique email addresses, but has no way of retrieving one from the other, doesn’t work out so well.
Suggestion: either use email as username, or add a function to retrieve username (perhaps along with password retrieval . . password retrieval would then have to take username -or- email, probably)
|
|
2521 | Email | Information | Low | TLS email with self-signed certificate doesn't work, "C... | Unconfirmed | |
| | | 31.10.2018 | 03.11.2018 |
Task Description
I use a personal email server with a self-signed certificate (i’m not sure if it’s possible to use my https certificate for that? i don’t even kind of understand what all I did to get this email server setup, and I don’t really want to mess with it... especially since my https certificate comes from Let’s Encrypt... so i might have to muck with the email server every 60 days ... not sure?) ..
anyway, when I try to connect to it with Flyspray, I get above the Test Email button, “Completely unexpected exception: Unable to connect with TLS encryption This should never happend, please inform Flyspray Developers”
Most systems have a way to override and accept an invalid cert, but I’m not seeing anything obvious about doing that with Flyspray. Does a function for this already exist, or do we need a way to do that? (alternatively, I would accept help in properly configuring my email lol)
|
|
2520 | Notifications | Feature Request | Low | Send a notification for a new task in slack integration... | Unconfirmed | |
| | | 24.10.2018 | 30.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;
} |
|
2499 | User Interface | Bug Report | High | Change recaptcha from using file_get_contents to Curl | Unconfirmed | |
| | | 18.09.2018 | 02.11.2018 |
Task Description
The issue with many servers now and the reason that recaptcha does not work is because it requires servers to enable allow_url_fopen which is a huge security risk. That is why you get the warning message when you try to run recaptcha that file_get_contents failed to connect.
So the solution is to use Curl to do that job.
Here is the fixed file, excuse my mess i had not cleaned up my code yet... but recaptcha now works.
this file goes in the includes dir... you can clean up the file if you like again sorry about that.
|
|
2498 | Translations | Information | Low | Apply variable in language keys to push the local site ... | Unconfirmed | |
| | | 18.09.2018 | 02.11.2018 |
Task Description
Hi, in order for us to push our name (rather than flyspray) on emails, notifications, and GUI we had to edit the language file to replace the text “flyspray” with our install site name. That way notifications come from our company name rather than flyspray.
It would be nice if you could take the site name variable and add it to the language files in all keys that face the public user and all notifications. This would not only prevent editing of the lang file but also make setup alot faster.
Thanks so much.. Dave
|
|
2491 | Backend/Core | Bug Report | Low | group member links if project manager but not admin | New | |
| 1.0 | | 01.09.2018 | 01.09.2018 |
Task Description
When a user has project manager permissions, but not admin permissions, then on the ‘edit group’ pages like index.php?do=pm&area=editgroup&id=8 the links in the list of users of that group are
index.php?do=admin&area=users&user_id=12345
instead of linking to the users page
index.php?do=user&area=users&id=12345
and a redirect follows with Error #4: You don’t have administrative rights.
|
|
2484 | Backend/Core | Information | Low | Increase min. version of PHP requirement | Unconfirmed | |
| | | 10.08.2018 | 10.08.2018 |
Task Description
Then you can gracefully drop support of old MySQL extension AND drop the need for password compat, since BCRYPT and password_hash are built into PHP from version 5.5 onwards
|
|
2482 | Backend/Core | Information | Low | Protect issues by default | Unconfirmed | |
| | | 10.08.2018 | 10.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?
|
|
2481 | Backend/Core | Information | Low | Move to MVC | Unconfirmed | |
| | | 10.08.2018 | 10.08.2018 |
Task Description
That way you can just protect the setup routes after installation, etc.
And have a much less cumbersome .htaccess file.
And take sensitive files outside of the server path and not risk letting them get out in the public
|
|
2480 | Backend/Core | Information | Low | Better file organization | Unconfirmed | |
| | | 10.08.2018 | 10.08.2018 |
Task Description
Save public files inside public or public_html directories, and non-public files outside of those directories;
config file
vendor directory
setup logic
etc
This goes onto another question/point - why are you deleting files from the vendor directory? It happens during composer install, and again after installation? Those files will just get put back if the user ever runs composer install again...
|
|
2479 | Backend/Core | Information | Low | User table seems really complex | Unconfirmed | |
| | | 10.08.2018 | 10.08.2018 |
Task Description
why not store all the user preferences in preferences or user_prefernces? Then users can just be simple username, email, password?
|
|
2477 | Backend/Core | Information | Low | old style MySQL extension is abandoned .. | Unconfirmed | |
| | | 10.08.2018 | 10.08.2018 |
Task Description
the old php mysql extension is long ago reached its demise, why bother supporting it?
I also see in the database connector that your supporting MySQL/PDO - why not settle on that? If the queries aren’t MySQL specific, it becomes easier to support other DB’s, etc.
|
|
2476 | Backend/Core | Information | Low | Guzzle/Guzzle is abandoned, should use library that's s... | Unconfirmed | |
| | | 10.08.2018 | 10.08.2018 |
Task Description
(Working on a network monitoring system that really needs a ticketing system, saw this and since I speak PHP, thought it would be a good place to start... I just installed and am sharing my notes, do with them what you will!)
|
|
2466 | Backend/Core | Information | Low | How to run under https | Unconfirmed | |
| | | 03.06.2018 | 02.12.2018 |
Task Description
I have changed the htaccess.dist into .htaccess and modified to force https. However, despite having https activated on my site I cannot get Flyspray running, it’s waiting forever.When I abort I get a page without makeup. I have all other applications like cms and wiki running under https, so it is something I have not done in the flyspray configs obviously (as this site is running https too). But could you give me a hint?
I installed flyspray in a subdirectory, if that is something to know about...
regards, Albert
|
|
2459 | User Interface | Feature Request | Low | Attachments on/off and max size setting in Admin Toolbo... | Unconfirmed | |
| | | 16.02.2018 | 03.03.2018 | |
|
2456 | User Interface | Bug Report | High | Missing GUI controls | Unconfirmed | |
| | | 09.02.2018 | 10.02.2018 | |
|
2454 | Backend/Core | Bug Report | Low | PHP warning in admin edit user area | New | |
| | | 15.01.2018 | 15.01.2018 | |
|
2453 | Backend/Core | Bug Report | Medium | validate category before storing a new task | New | |
| 1.0 | | 14.12.2017 | 14.12.2017 | |
|
2451 | Backend/Core | Feature Request | Low | Mod: blank Category - user must chose before pressing A... | Confirmed | |
| | | 08.12.2017 | 14.12.2017 | |
|
2449 | Backend/Core | Bug Report | Low | Unexepted exception on smtp gmail send | Unconfirmed | |
| | | 29.10.2017 | 10.01.2018 | |
|
2448 | Backend/Core | Bug Report | Low | error message in eventlog reports | Unconfirmed | |
| | | 26.10.2017 | 29.10.2017 | |
|
2447 | Backend/Core | Feature Request | Medium | Allow notifications when a new task is created | Unconfirmed | |
| | | 26.10.2017 | 29.10.2017 | |
|
2444 | Installer and Upgrader | Information | Low | composer hits memory limits | New | |
| | | 04.10.2017 | 04.10.2017 | |
|
2441 | Backend/Core | Bug Report | Medium | refactor dokuwiki image tags | New | |
| | | 15.09.2017 | 15.09.2017 | |
|
2439 | Backend/Core | Feature Request | Low | Clone a Project | New | |
| | | 15.09.2017 | 15.09.2017 | |
|
2436 | Backend/Core | Bug Report | Low | dokuwiki renderer creates nonunique html-id for h1,h2,h... | New | |
| | | 02.08.2017 | 02.08.2017 | |
|
2435 | Backend/Core | Information | Low | Max attach a file | Unconfirmed | |
| | | 18.07.2017 | 18.07.2017 | |
|
2432 | Database Queries | Information | Low | Delete tasks from all projects (like factory reset) | Unconfirmed | |
| | | 08.05.2017 | 10.05.2017 | |
|
2430 | Backend/Core | Feature Request | Low | User dependency on project | Unconfirmed | |
| | | 16.03.2017 | 20.03.2017 | |
|
2429 | Backend/Core | Information | Low | My tasks URL | Unconfirmed | |
| | | 09.03.2017 | 20.03.2017 | |
|
2427 | Backend/Core | Feature Request | Low | allow hotlinking (direct links) to uploaded files | Unconfirmed | |
| | | 07.03.2017 | 09.03.2017 | |
|
2425 | Slovenian | Feature Request | Very Low | Translation: Slovenian | Confirmed | |
| | | 05.03.2017 | 05.03.2017 | |
|
2346 | Backend/Core | Feature Request | Low | Custom css inheritance | Unconfirmed | |
| | | 20.02.2017 | 23.02.2017 | |
|
2344 | Notifications | Bug Report | Low | Admins still get noticed for new users even with the op... | Unconfirmed | |
| | | 16.02.2017 | 24.03.2017 | |
|
2343 | Email | Bug Report | Medium | Notification mail | Unconfirmed | |
| | | 14.02.2017 | 15.02.2017 | |
|
2339 | Email | Information | Low | Emailing issues | Unconfirmed | |
| | | 10.02.2017 | 10.02.2017 | |
|
2338 | Backend/Core | Bug Report | Medium | Export tasks to csv has issues | Unconfirmed | |
| | | 02.02.2017 | 12.03.2019 | |
|
2337 | Documentation | Information | Low | Flyspray Themes | New | |
| | | 02.02.2017 | 16.02.2017 | |
|
2336 | Backend/Core | Bug Report | Low | Captcha validation always fail on registration | Unconfirmed | |
| | | 01.02.2017 | 15.03.2021 | |