Migrate find file and network pages to Vue 3
What does this MR do and why?
Adds vue3_migration.yml for projects/find_file/show and projects/network/show, opting both into the Vue 3 rollout under the vue3_migrate_repo_read_pages flag. projects/find_file/show mounts FindFileRefSelectorRoot, and projects/network/show mounts NetworkRefSelectorRoot and RefSearchFormRoot. There's no application logic change here, only YAML.
References
- #613673 (closed)
- gitlab-org#23084
- Stacked on !250740 (merged), which adds the
vue3_migrate_repo_read_pagesflag definition. We stack rather than open independent MRs becausespec/lib/gitlab/vue3_migration_files_spec.rbrequires everyfeature_flagin avue3_migration.ymlto resolve to a real definition underconfig/feature_flags/.
Screenshots or screen recordings
NA
How to set up and validate locally
- Check out the
613673-migrate-find-file-network-to-vue3branch. - 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). - Visit
/<group>/<project>/-/find_file/<ref>and/<group>/<project>/-/network/<ref>. - Run this in the browser console and confirm
FindFileRefSelectorRoot,NetworkRefSelectorRoot, andRefSearchFormRootshow 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: both pages served their .vue3 entrypoints with zero console errors and no @vue/compat deprecation warnings. The find file ref selector filters and navigates, and the jQuery fuzzy filter and arrow key navigation still work. The network ref switcher reloads the graph, the revision search form submits, and the Raphael graph still renders. 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.