Defect #32125
closedIssues autocomplete may not find issues with a subject longer than 60 characters
0%
Description
- Create a issue with subject "-------------------The quick brown fox jumps over the lazy dog."(Subject longer than 60 characters)
- Check if the created issue is complete (In the textarea of other issues).
- Write "#brown" => autocompleted
- Write "#dog" => not autocompleted
"https://----------/issues/auto_complete?q=dog" will return the result as shown below.
[{"id":1,"label":"Bug #1: -------------------The quick brown fox jumps over the laz...","value":1}]
Although the created issue is returned, the label is omitted on the way and the character string such as dog is not included.
(http://www.redmine.org/projects/redmine/repository/entry/trunk/app/controllers/auto_completes_controller.rb#L58)
I think that tribute.js has removed it from the candidate because the search keyword is not included in label.
Files
Related issues
Updated by Mizuki ISHIKAWA about 5 years ago
Do I need to return a subject that is shortened to 60 characters?
If not, you can fix the problem by making the changes below.
diff --git a/app/controllers/auto_completes_controller.rb b/app/controllers/auto_completes_controller.rb
index 336885349..bbe5b13ed 100644
--- a/app/controllers/auto_completes_controller.rb
+++ b/app/controllers/auto_completes_controller.rb
@@ -55,7 +55,7 @@ class AutoCompletesController < ApplicationController
def format_issues_json(issues)
issues.map {|issue| {
'id' => issue.id,
- 'label' => "#{issue.tracker} ##{issue.id}: #{issue.subject.to_s.truncate(60)}",
+ 'label' => "#{issue.tracker} ##{issue.id}: #{issue.subject}",
'value' => issue.id
}
}
Updated by Go MAEDA about 5 years ago
I don't think the truncation is necessary. Even if the truncation is necessary, 60 characters long is too short. It can be raised to 255, the maximum length of string in ActiveRecord.
Updated by Go MAEDA about 5 years ago
- Target version set to Candidate for next major release
Updated by Go MAEDA about 5 years ago
After applying the patch, the autocomplete dropdown gets too wide when it includes long subjects. I think we should somehow limit the width of the dropdown when removing truncate(60)
.
truncate(60)
was added in r10068, when Prototype and script.aculo.us were replaced with JQuery. Maybe the replacement caused the issue I described above and truncate(60)
was added as a workaround for that.
Updated by Go MAEDA about 5 years ago
- File too-wide-dropdown@2x.png too-wide-dropdown@2x.png added
Go MAEDA wrote:
After applying the patch, the autocomplete dropdown gets too wide when it includes long subjects.
Screenshot of that.
Updated by Mizuki ISHIKAWA about 5 years ago
- File fix-32125.patch fix-32125.patch added
- File example-1.png example-1.png added
- File example-2.png example-2.png added
Go MAEDA wrote:
After applying the patch, the autocomplete dropdown gets too wide when it includes long subjects. I think we should somehow limit the width of the dropdown when removing
truncate(60)
.
I attached a patch that omits the subject line if the width exceeds 400px.
Updated by Go MAEDA over 4 years ago
- Target version changed from Candidate for next major release to 4.2.0
Setting the target version to 4.2.0.
Updated by Go MAEDA over 4 years ago
- File fix-32125-v2.patch fix-32125-v2.patch added
I have updated the patch to cleanly applicable after r19769. And I slightly modified as follows:
- Instead of removing
truncate(60)
from source:tags/4.1.1/app/controllers/auto_completes_controller.rb#L59, changed totruncate(255)
. Although the maximum length of a subject is limited to 255 by database schema, the change guarantees that the length of a subject in JSON data will never exceed 255. - Since it is ensured that the length of the Subject does not exceed 255, we can say that UI issues due to abnormally long subjects unlikely to occur. So, I simplify the change against CSS. I have removed
white-space
,text-overflow
, andoverflow
properties from the previous patch.
Updated by Go MAEDA over 4 years ago
- Subject changed from Long subject issue may not autocomplete with #keyword to Issues autocomplete may not find issues with a subject longer than 60 characters
Updated by Go MAEDA over 4 years ago
- Status changed from New to Closed
- Assignee set to Go MAEDA
- Resolution set to Fixed
Committed the fix. Thank you.
Updated by Go MAEDA over 4 years ago
- Blocked by Feature #31887: Update jQuery UI to 1.12.1 added