chrome browser prevents approval of merge requests

Summary

After upgrading to 8.16 we’re experiencing a bug for people using Chrome and trying to approve / accept merge requests.

When a chrome user approves a merge request, the ‘approved by’ user icon seems to appear as an empty circle, the request also doesn’t go into a merged state.

Sometimes they’re also getting the error ‘something went wrong at our end’ and cant click accept on the MR as it’s not ready to merge.

Steps to reproduce

  1. Install chrome stable (or devs use Linux/Mac)
  2. Go to an open, unapproved merge request
  3. Try to click approve

Expected behavior

Merge request is approved and the accept button should be green and available to be clicked

Actual behavior

  • List of people approved is not properly updated and a blank circle is shown.
  • The merge request does not change to state approved.
  • At times users are given error 'something went wrong at our end'

Relevant logs and/or screenshots

Sidekiq shows the following errors:

Notify#approved_merge_request_email
78, 7168, 11
ActionView::Template::Error: No route matches {:action=>"show", :controller=>"users", :username=>nil} missing required keys: [:username]

chrome-mr-error-1

chrome-error-message

Output of checks

(If you are reporting a bug on GitLab.com, write: This bug happens on GitLab.com)

Results of GitLab application Check

root@int-gitlab-01:~  # gitlab-rake gitlab:check SANITIZE=true
Checking GitLab Shell ...

GitLab Shell version >= 4.1.1 ? ... OK (4.1.1)
Repo base directory exists?
default... yes
Repo storage directories are symlinks?
default... no
Repo paths owned by git:git?
default... yes
Repo paths access is drwxrws---?
default... yes
hooks directories in repos are links: ...
3/2 ... ok
4/3 ... ok
3/4 ... ok
3/5 ... ok
3/6 ... ok
3/7 ... ok
2/8 ... ok
3/9 ... ok
4/12 ... ok
4/13 ... ok
21/14 ... ok
4/16 ... ok
4/17 ... ok
21/18 ... ok
4/20 ... ok
2/22 ... ok
4/24 ... ok
4/25 ... ok
4/27 ... ok
4/29 ... ok
4/30 ... ok
4/32 ... ok
4/34 ... ok
4/35 ... ok
4/36 ... ok
14/37 ... repository is empty
4/38 ... ok
4/40 ... ok
4/41 ... ok
4/42 ... ok
4/43 ... ok
4/44 ... ok
3/47 ... ok
4/48 ... ok
3/50 ... ok
3/51 ... ok
21/53 ... repository is empty
4/55 ... ok
4/56 ... ok
4/57 ... ok
36/59 ... repository is empty
35/60 ... ok
4/61 ... ok
4/65 ... ok
4/66 ... ok
4/68 ... ok
4/69 ... ok
3/71 ... ok
39/72 ... ok
35/74 ... ok
39/77 ... ok
4/78 ... ok
14/79 ... ok
4/81 ... ok
4/84 ... ok
4/85 ... ok
4/86 ... ok
46/90 ... ok
46/91 ... ok
4/92 ... ok
4/93 ... ok
3/96 ... ok
3/97 ... ok
14/98 ... ok
3/100 ... ok
2/101 ... ok
3/104 ... ok
3/105 ... ok
3/106 ... ok
3/108 ... ok
4/109 ... ok
4/111 ... ok
4/112 ... ok
4/113 ... ok
4/114 ... ok
3/115 ... ok
39/116 ... ok
39/117 ... ok
48/118 ... ok
4/119 ... ok
39/120 ... ok
39/121 ... ok
4/122 ... ok
4/124 ... ok
4/131 ... ok
48/133 ... ok
4/134 ... ok
4/135 ... ok
21/136 ... ok
4/139 ... ok
21/140 ... ok
4/144 ... ok
21/145 ... repository is empty
4/146 ... ok
2/147 ... ok
3/149 ... ok
4/150 ... ok
21/151 ... ok
35/152 ... ok
14/153 ... ok
21/155 ... ok
7/156 ... ok
21/158 ... ok
4/163 ... ok
82/167 ... ok
82/168 ... ok
82/169 ... ok
4/170 ... ok
4/171 ... ok
3/173 ... ok
4/178 ... ok
35/179 ... ok
35/181 ... ok
35/182 ... ok
35/183 ... ok
35/184 ... ok
35/185 ... ok
35/186 ... ok
35/187 ... ok
35/188 ... ok
35/189 ... ok
35/190 ... ok
35/191 ... ok
35/192 ... ok
35/193 ... ok
35/194 ... ok
35/195 ... ok
35/196 ... ok
35/197 ... ok
35/198 ... ok
35/199 ... ok
35/200 ... ok
5/201 ... ok
35/202 ... ok
35/203 ... ok
29/204 ... ok
35/205 ... ok
46/206 ... ok
35/207 ... ok
35/208 ... ok
3/210 ... ok
35/212 ... ok
35/213 ... ok
29/215 ... ok
29/216 ... ok
35/217 ... ok
35/218 ... ok
4/219 ... ok
35/220 ... ok
4/221 ... ok
35/222 ... ok
35/223 ... ok
4/224 ... ok
3/225 ... ok
35/226 ... ok
35/227 ... ok
35/228 ... ok
35/229 ... ok
93/230 ... ok
35/232 ... ok
35/233 ... ok
35/234 ... ok
35/235 ... ok
35/238 ... ok
35/241 ... ok
35/242 ... ok
35/243 ... ok
3/244 ... ok
35/245 ... ok
35/246 ... ok
14/247 ... ok
35/249 ... ok
64/250 ... ok
35/251 ... ok
4/253 ... ok
99/256 ... ok
99/257 ... ok
5/259 ... ok
5/260 ... repository is empty
99/261 ... ok
99/263 ... ok
64/264 ... ok
99/265 ... ok
99/266 ... ok
35/274 ... ok
35/275 ... ok
4/281 ... ok
35/283 ... ok
16/284 ... repository is empty
35/285 ... ok
35/286 ... ok
35/287 ... ok
35/288 ... ok
3/289 ... ok
35/290 ... ok
3/291 ... ok
35/292 ... ok
35/293 ... ok
35/294 ... ok
3/295 ... ok
3/300 ... ok
3/301 ... ok
4/302 ... ok
35/303 ... ok
35/304 ... ok
35/305 ... ok
35/306 ... ok
35/307 ... ok
103/308 ... ok
3/309 ... ok
35/310 ... ok
35/311 ... ok
Running /opt/gitlab/embedded/service/gitlab-shell/bin/check
Check GitLab API access: OK
Access to /var/opt/gitlab/.ssh/authorized_keys: OK
Send ping to redis server: OK
gitlab-shell self-check successful

Checking GitLab Shell ... Finished

Checking Sidekiq ...

Running? ... yes
Number of Sidekiq processes ... 1

Checking Sidekiq ... Finished

Checking Reply by email ...

IMAP server credentials are correct? ... yes
Init.d configured correctly? ... skipped (omnibus-gitlab has no init script)
MailRoom running? ... can't check because of previous errors

Checking Reply by email ... Finished

Checking LDAP ...

Server: ldapmain
LDAP authentication... Success
LDAP users with access to your GitLab server (only showing the first 100 results)

<redacted>

Checking LDAP ... Finished

Checking GitLab ...

Git configured with autocrlf=input? ... yes
Database config exists? ... yes
All migrations up? ... yes
Database contains orphaned GroupMembers? ... no
GitLab config exists? ... yes
GitLab config outdated? ... no
Log directory writable? ... yes
Tmp directory writable? ... yes
Uploads directory setup correctly? ... no
  Try fixing it:
  sudo chown -R git /var/opt/gitlab/gitlab-rails/uploads
  sudo find /var/opt/gitlab/gitlab-rails/uploads -type f -exec chmod 0644 {} \;
  sudo find /var/opt/gitlab/gitlab-rails/uploads -type d -not -path /var/opt/gitlab/gitlab-rails/uploads -exec chmod 0700 {} \;
  For more information see:
  doc/install/installation.md in section "GitLab"
  Please fix the error above and rerun the checks.
Init script exists? ... skipped (omnibus-gitlab has no init script)
Init script up-to-date? ... skipped (omnibus-gitlab has no init script)
projects have namespace: ...
3/2 ... yes
4/3 ... yes
3/4 ... yes
3/5 ... yes
3/6 ... yes
3/7 ... yes
2/8 ... yes
3/9 ... yes
4/12 ... yes
4/13 ... yes
21/14 ... yes
4/16 ... yes
4/17 ... yes
21/18 ... yes
4/20 ... yes
2/22 ... yes
4/24 ... yes
4/25 ... yes
4/27 ... yes
4/29 ... yes
4/30 ... yes
4/32 ... yes
4/34 ... yes
4/35 ... yes
4/36 ... yes
14/37 ... yes
4/38 ... yes
4/40 ... yes
4/41 ... yes
4/42 ... yes
4/43 ... yes
4/44 ... yes
3/47 ... yes
4/48 ... yes
3/50 ... yes
3/51 ... yes
21/53 ... yes
4/55 ... yes
4/56 ... yes
4/57 ... yes
36/59 ... yes
35/60 ... yes
4/61 ... yes
4/65 ... yes
4/66 ... yes
4/68 ... yes
4/69 ... yes
3/71 ... yes
39/72 ... yes
35/74 ... yes
39/77 ... yes
4/78 ... yes
14/79 ... yes
4/81 ... yes
4/84 ... yes
4/85 ... yes
4/86 ... yes
46/90 ... yes
46/91 ... yes
4/92 ... yes
4/93 ... yes
3/96 ... yes
3/97 ... yes
14/98 ... yes
3/100 ... yes
2/101 ... yes
3/104 ... yes
3/105 ... yes
3/106 ... yes
3/108 ... yes
4/109 ... yes
4/111 ... yes
4/112 ... yes
4/113 ... yes
4/114 ... yes
3/115 ... yes
39/116 ... yes
39/117 ... yes
48/118 ... yes
4/119 ... yes
39/120 ... yes
39/121 ... yes
4/122 ... yes
4/124 ... yes
4/131 ... yes
48/133 ... yes
4/134 ... yes
4/135 ... yes
21/136 ... yes
4/139 ... yes
21/140 ... yes
4/144 ... yes
21/145 ... yes
4/146 ... yes
2/147 ... yes
3/149 ... yes
4/150 ... yes
21/151 ... yes
35/152 ... yes
14/153 ... yes
21/155 ... yes
7/156 ... yes
21/158 ... yes
4/163 ... yes
82/167 ... yes
82/168 ... yes
82/169 ... yes
4/170 ... yes
4/171 ... yes
3/173 ... yes
4/178 ... yes
35/179 ... yes
35/181 ... yes
35/182 ... yes
35/183 ... yes
35/184 ... yes
35/185 ... yes
35/186 ... yes
35/187 ... yes
35/188 ... yes
35/189 ... yes
35/190 ... yes
35/191 ... yes
35/192 ... yes
35/193 ... yes
35/194 ... yes
35/195 ... yes
35/196 ... yes
35/197 ... yes
35/198 ... yes
35/199 ... yes
35/200 ... yes
5/201 ... yes
35/202 ... yes
35/203 ... yes
29/204 ... yes
35/205 ... yes
46/206 ... yes
35/207 ... yes
35/208 ... yes
3/210 ... yes
35/212 ... yes
35/213 ... yes
29/215 ... yes
29/216 ... yes
35/217 ... yes
35/218 ... yes
4/219 ... yes
35/220 ... yes
4/221 ... yes
35/222 ... yes
35/223 ... yes
4/224 ... yes
3/225 ... yes
35/226 ... yes
35/227 ... yes
35/228 ... yes
35/229 ... yes
93/230 ... yes
35/232 ... yes
35/233 ... yes
35/234 ... yes
35/235 ... yes
35/238 ... yes
35/241 ... yes
35/242 ... yes
35/243 ... yes
3/244 ... yes
35/245 ... yes
35/246 ... yes
14/247 ... yes
35/249 ... yes
64/250 ... yes
35/251 ... yes
4/253 ... yes
99/256 ... yes
99/257 ... yes
5/259 ... yes
5/260 ... yes
99/261 ... yes
99/263 ... yes
64/264 ... yes
99/265 ... yes
99/266 ... yes
35/274 ... yes
35/275 ... yes
4/281 ... yes
35/283 ... yes
16/284 ... yes
35/285 ... yes
35/286 ... yes
35/287 ... yes
35/288 ... yes
3/289 ... yes
35/290 ... yes
3/291 ... yes
35/292 ... yes
35/293 ... yes
35/294 ... yes
3/295 ... yes
3/300 ... yes
3/301 ... yes
4/302 ... yes
35/303 ... yes
35/304 ... yes
35/305 ... yes
35/306 ... yes
35/307 ... yes
103/308 ... yes
3/309 ... yes
35/310 ... yes
35/311 ... yes
Redis version >= 2.8.0? ... yes
Ruby version >= 2.1.0 ? ... yes (2.3.3)
Your git bin path is "/opt/gitlab/embedded/bin/git"
Git version >= 2.7.3 ? ... yes (2.10.2)
Active users: 51

Checking GitLab ... Finished

Results of GitLab environment info

I can't include this as Gitlab.com incorrectly marks the issue as spam:

Screen_Shot_2017-01-23_at_12.08.25_pm