Actions
Defect #40237
closedError in autocomplete (`ActionController::BadRequest (Invalid query parameters: invalid %-encoding (%)`)
Start date:
Due date:
% Done:
0%
Estimated time:
Resolution:
Fixed
Affected version:
Description
If you type a character after `@` in issues, etc., it will auto-complete.
If the character contains `%`, an error is output to the server log.
The following patch seems to fix it.
--- a/app/assets/javascripts/application.js
+++ b/app/assets/javascripts/application.js
@@ -1167,7 +1167,7 @@ function inlineAutoComplete(element) {
if (event.target.type === 'text' && $(element).attr('autocomplete') != 'off') {
$(element).attr('autocomplete', 'off');
}
- remoteSearch(getDataSource('issues') + text, function (issues) {
+ remoteSearch(getDataSource('issues') + encodeURIComponent(text), function (issues) {
return cb(issues);
});
},
@@ -1189,7 +1189,7 @@ function inlineAutoComplete(element) {
{
trigger: '[[',
values: function (text, cb) {
- remoteSearch(getDataSource('wiki_pages') + text, function (wikiPages) {
+ remoteSearch(getDataSource('wiki_pages') + encodeURIComponent(text), function (wikiPages) {
return cb(wikiPages);
});
},
@@ -1211,7 +1211,7 @@ function inlineAutoComplete(element) {
values: function (text, cb) {
const url = getDataSource('users');
if (url) {
- remoteSearch(url + text, function (users) {
+ remoteSearch(url + encodeURIComponent(text), function (users) {
return cb(users);
});
}
- Error Examples
input: `@a%`
log: `ActionController::BadRequest (Invalid query parameters: invalid -encoding (a)):`
input: `#%`
log: `ActionController::BadRequest (Invalid query parameters: invalid -encoding ()):`
- environment
$ git rev-parse --short HEAD e8c373e55
$ RAILS_ENV=development bin/about Environment: Redmine version 5.1.1.devel Ruby version 3.1.4-p223 (2023-03-30) [x86_64-linux] Rails version 7.1.3 Environment development Database adapter SQLite Mailer queue ActiveJob::QueueAdapters::AsyncAdapter Mailer delivery smtp Redmine settings: Redmine theme Default SCM: Subversion 1.14.2 Mercurial 6.3.2 Git 2.39.2 Filesystem Redmine plugins: no plugin installed
Updated by Go MAEDA about 1 year ago
- Status changed from New to Confirmed
- Target version set to Candidate for next minor release
Updated by Marius BĂLTEANU about 1 year ago
- Target version changed from Candidate for next minor release to 5.0.8
Updated by Marius BĂLTEANU about 1 year ago
- Category set to UI
- Status changed from Confirmed to Resolved
- Assignee set to Marius BĂLTEANU
- Resolution set to Fixed
Abe Tomoaki, thanks for reporting and fixing the issue, I've just committed your solution. The fix will be available in the new maintenance releases.
Updated by Marius BĂLTEANU about 1 year ago
- Status changed from Resolved to Closed
Actions