Banner alerting of project move is showing up everywhere

After all the changes made to CE/EE/FOSS/GitLab projects, there is a blue banner following me everywhere I go.

Example:

Screen_Shot_2019-09-17_at_5.36.29_PM

I've dismissed this banner countless times, yet it still comes back and haunts me 👻 Seems as if there is some sort of bug happening that is causing this banner to not dismiss properly, and show up everywhere.

Steps to reproduce problem

  1. Alice has issue 1 open
  2. Alice does not have issue 1 tab in foreground (to stop polling for changes. I believe this is necessary because ETag cache key is based on issue path and so won't be invalidated by changes made after the rename)
  3. Bob adds a comment or changes title or description of issue 1 (changes must be made before the rename due to cache reason above, and Alice must not have seen those changes before the rename)
  4. Bob changes project path
  5. Alice switches to issue 1 tab
  6. Alice's browser gets 302s on realtime_change or notes XHR requests for that issue (on all subsequent requests!) when the tab is in foreground

Possible fix

Guard https://gitlab.com/gitlab-org/gitlab/blob/v12.2.5-ee/app/controllers/concerns/routable_actions.rb#L51 with request.format.html?.

Edited by Michael Kozono