CI retry/cancel job or pipeline redirect the user and can't be open in a new tab
EDIT
Update the dropdowns in the pipelines table to return JSON instead of HAML & Remove the UJS actions from the action icons inside the dropdown in Vue code
CI retry and cancel buttons are links that make a request to the server and redirect the user to the jobs page. - https://gitlab.com/gitlab-org/gitlab-ce/issues/5580
Opening these links in a new tab generates a 404 error - https://gitlab.com/gitlab-org/gitlab-ce/issues/18784
This is visible in:
- Pipeline Graph, dropdown with stages
✅ - Pipeline Graph, node's actions
✅ - Pipelines table, Mini pipeline graph, dropdown with stages
- Merge Request widget, Mini pipeline graph, dropdown with stages
This is fixed in:
- Pipelines table, buttons on last column
- Environments table, buttons on last column
3 things need to be done:
- frontend - UJS action needs to be removed and we should make an XMLHTTPRequest instead
- backend - redirect action should be removed, accept and return JSON instead
- UX - show the user that something happened.
We resolved the UX by showing a loading spinner in the button while the request is made.
Job details view is trickier than the others. If we don't redirect the user, we won't show the new job. We'll stay on the same page when the user clicks "retry" and the user will see exactly the same he was seeing before.