diff options
author | Fatih Acet <acetfatih@gmail.com> | 2016-10-13 13:36:47 +0300 |
---|---|---|
committer | Fatih Acet <acetfatih@gmail.com> | 2016-10-13 13:36:47 +0300 |
commit | 2208a878bc7704698d9a2dc19c9a161a139b5f35 (patch) | |
tree | 0bc9e2358d4bdc490c73ada9e0bfbc462d48af89 | |
parent | a053430e94e21bbf81524304f9b52a106f654b54 (diff) | |
parent | f19766a3c2223b05e1f6de1746a44e7173387988 (diff) |
Merge branch 'trim-new-user' into 'master'
Ensure that whitespace doesn't cause adding members to fail
I recently had to debug an issue where adding users wasn't working. It turned out that I was hitting "space" to confirm a `select2` dialog, and the server would throw out the whole email address because it was invalid. It looked as though GitLab was entirely ignoring my add-member request.
Here's a fun gif:
![out](/uploads/5c306addb764067bca54add3b7a53c6c/out.gif)
Ideally, there should also be validation client-side, so that the server doesn't need to silently fail, and the user will know what's going wrong. I'll look into creating an issue for that.
Additionally, GitLab already seems to trim email addresses, sometimes? If you add _two_ address, with spaces, then the `value` of the `user_ids` DOM element will have the first `n-1` addresses without spaces. Weird.
**TL;DR: Now spaces are always trimmed from new-member email addresses.**
See merge request !3443
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | app/assets/javascripts/users_select.js | 5 |
2 files changed, 4 insertions, 2 deletions
diff --git a/CHANGELOG b/CHANGELOG index 5e026b4ec94..2896acc6ee3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,6 +3,7 @@ Please view this file on the master branch, on stable branches it's out of date. v 8.13.0 (unreleased) - Respond with 404 Not Found for non-existent tags (Linus Thiel) - Truncate long labels with ellipsis in labels page + - Adding members no longer silently fails when there is extra whitespace - Update runner version only when updating contacted_at - Add link from system note to compare with previous version - Use gitlab-shell v3.6.6 diff --git a/app/assets/javascripts/users_select.js b/app/assets/javascripts/users_select.js index bcabda3ceb2..d966277a8b2 100644 --- a/app/assets/javascripts/users_select.js +++ b/app/assets/javascripts/users_select.js @@ -261,10 +261,11 @@ } } if (showEmailUser && data.results.length === 0 && query.term.match(/^[^@]+@[^@]+$/)) { + var trimmed = query.term.trim(); emailUser = { name: "Invite \"" + query.term + "\"", - username: query.term, - id: query.term + username: trimmed, + id: trimmed }; data.results.unshift(emailUser); } |