Add vue3_migrate_repo_read_pages flag and migrate blame page
What does this MR do and why?
Adds the vue3_migrate_repo_read_pages beta flag and opts projects/blame/show (CE and EE) into the Vue 3 rollout via vue3_migration.yml, following "Option 1" in doc/development/fe_guide/vue3_migration.md. This is flag 3 of 7 in the epic migrating Create: Source Code Experience Apps to Vue 3.
The flag is default_enabled: false, so nothing changes for users until we start ramping. projects/blame/show mounts BlamePreferencesRoot and is read-only, so the worst realistic failure is a display regression. We skip projects/blame/streaming, since it mounts no Vue at all (plain JS plus jQuery).
This is the bottom of a 3 MR stack. The two MRs above it add the remaining page ymls, and they stack because spec/lib/gitlab/vue3_migration_files_spec.rb requires every feature_flag in a vue3_migration.yml to resolve to a real definition under config/feature_flags/.
References
Screenshots or screen recordings
NA
How to set up and validate locally
- Check out the
613673-add-vue3-migrate-repo-read-pages-flagbranch. - Run
gdk restart vite, since Vite builds its page entry map at startup and won't pick up a newvue3_migration.ymlwhile it's running. - In the Rails console, run
Feature.enable(:vue3_migrate_repo_read_pages). - Run
Feature.disable(:inline_blame), otherwise a blame URL redirects to the blob page with?blame=1, a different, already-migrated entrypoint. - Visit
/<group>/<project>/-/blame/<ref>/<path>. - Run this in the browser console and confirm
BlamePreferencesRootshows up:[...document.querySelectorAll('[data-gitlab-vue3-app]')].map((el) => el.dataset.gitlabVue3App). - Confirm there are no console errors.
I tested this in GDK with the flag on: projects/blame/show served its .vue3 entrypoint with zero console errors and no @vue/compat deprecation warnings, the preferences dropdown opened, and line highlighting worked. spec/lib/gitlab/vue3_migration_files_spec.rb passes (581 examples, 0 failures).
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.