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

  1. Check out the 613673-add-vue3-migrate-repo-read-pages-flag branch.
  2. Run gdk restart vite, since Vite builds its page entry map at startup and won't pick up a new vue3_migration.yml while it's running.
  3. In the Rails console, run Feature.enable(:vue3_migrate_repo_read_pages).
  4. Run Feature.disable(:inline_blame), otherwise a blame URL redirects to the blob page with ?blame=1, a different, already-migrated entrypoint.
  5. Visit /<group>/<project>/-/blame/<ref>/<path>.
  6. Run this in the browser console and confirm BlamePreferencesRoot shows up: [...document.querySelectorAll('[data-gitlab-vue3-app]')].map((el) => el.dataset.gitlabVue3App).
  7. 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.

Merge request reports

Loading
Loading