I can reproduce locally and on GitLab.com with the following steps:
As an administrator, navigate to an MR you can accept
Select "Remove source branch" and accept the MR
Wait for merge to finish, then hit the browser's back button 1-2 times
I cannot reproduce the bug when "Remove source branch" is not selected.
Designs
Child items
...
Show closed items
Linked items
0
Link issues together to show that they're related or that one is blocking others.
Learn more.
Activity
Sort or filter
Newest first
Oldest first
Show all activity
Show comments only
Show history only
username-removed-408230changed title from Possible to navigate to raw merge request JSON with browser back/forward to Possible to navigate to raw JSON when merging MR
changed title from Possible to navigate to raw merge request JSON with browser back/forward to Possible to navigate to raw JSON when merging MR
username-removed-408230changed title from Possible to navigate to raw JSON when merging MR to Possible to navigate to raw JSON when merging MR & removing source branch
changed title from Possible to navigate to raw JSON when merging MR to Possible to navigate to raw JSON when merging MR & removing source branch
@jschatz1 If I correctly understood what's happening, we are moving away from those JSON URLs and use serializer (or the API) instead. So doing such a refactoring could be used to solve this, right?
@MadLittleMods The raw JSON of the merge request would show up if http://localhost:3000/group/project/merge_requests/3 is loaded with Accept: application/json. Those requests usually happen in Ajax calls. However, I couldn't find a corresponding call now when quickly browsing through the code of the merge request page.
@ClemMakesApps I'm not sure this is the same issue. What your GIF shows looks like https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10795/pipelines with Accept: application/json. For me it always loads https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10795/pipelines.json though.
@ClemMakesApps Sorry, it may indeed be the same issue. Both URLs (https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10795.json and https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10795/pipelines.json) are fetched by IssuableTimeTracking. Could it be that gl.IssuableResource.endpoint sometimes points to the URL without .json appended?
this should always be something like https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10795.json and never https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10795/pipelines.json
So my wild theory here is that
the Ajax call happens before gl.IssuableResource.endpoint is set
so undefined is passed as URL to SubbableResource.get
this leads to the awkward behavior of $.ajax which defaults to location.href if no URL is set (see !4642 (closed) for details)
This theory still doesn't explain how it happens but it would explain the behavior.
I was able to reliably reproduce it yesterday. Haven't tried today yet. If it is what @winniehell is observing, my changes for multiple assignees and refactoring time tracking may fix this issue but that won't get in until 9.2
I still can't repro this. D: Do you know if the MR widget refactor would solve this? If so we can add Closes #... to the MR and get this regression assigned to fatih.
I cant reproduce it, but I can see why it is doing it. Not sure if the new widget will fix this, but regardless of that this is a regression that need to fix.