Retire the legacy blame page actions and routes
What does this MR do and why?
This MR is one of in the series related to #618439 (closed).
This MR removes BlameController#page and #streaming and their supporting code. Neither action had a feature flag guard, so they survived the inline_blame cleanup with no entry point from the UI.
The handle_gitaly_error override is also removed. Its own comment said it existed only because #page and #streaming had no templates, and the base HandlesGitalyErrors concern already covers that generically through its lookup_context.exists? check. With only #show left and its template present, the base concern renders the 503 correctly.
Two committed route artifacts are regenerated by separate generators with separate CI gates, which is easy to miss: bin/rake gitlab:js:routes rewrites app/assets/javascripts/lib/utils/path_helpers/repository.js, and bundle exec rake gitlab:cells:routes:generate rewrites config/routing/gitlab_routes.json for the Cells HTTP Router. The first task does not refresh the second file.
Backwards compatibility: /-/blame/*id and the deprecated /blame/*id both still route to #show, so existing links and bookmarks keep working. Only /blame_page/*id and /blame/*id/streaming stop routing, and neither had a UI entry point.
References
- #618439 (closed) (Follow-up issue: Remove the legacy Blame page)
- !257407 (merged) (Dependency MR: Remove
inline_blamefeature flag) - !257918 (merged) (Sibling MR A: Remove the legacy blame
?page=query param) - !257920 (merged) (Sibling MR C: Remove dead legacy blame frontend entrypoints)
These three MRs touch no files in common and can be reviewed in parallel.
Why pipeline:skip-router-sync is applied
The cells-routes:router-in-sync job flags 11 templates as present in the router but not in GitLab, and only 4 of them belong to this merge request: /-/blame/*id/streaming and /-/blame_page/*id, each also in an /o/:organization_path/ variant, whose removal is the entire point of this change. The other 7 are pre-existing drift on the router's side, confirmed by diffing the router snapshot against master alone with this branch excluded, which fails the same check:
/api/:version/integrations/jira_forge/user_delegation/api/:version/orbit/contextand/api/:version/orbit/grep/users/sign_up/companyand/users/sign_up/company/new, each also in an/o/:organization_path/variant
Rebasing will not fix this, since the mismatch sits on the router's side. Refreshing the snapshot now would also sweep in those 7 unrelated routes, which should be a deliberate change owned by someone who knows them rather than a side effect of a blame page cleanup. This label defers the snapshot refresh for the 4 blame routes, it does not cancel it.
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist.