MediaWiki currently provides Vue 3 with the official "migration build" enabled. This means that a lot of code is still using Vue 2 behavior at runtime.
In order to remove the migration build (per T289104), we need to go into each skin or extension that is using Vue.js and follow the relevant steps of the [[ https://v3-migration.vuejs.org/migration-build.html#upgrade-workflow | upgrade workflow ]].
Each codebase using Vue should get its own subtask in order to track the progress of this work; patches should be written against the relevant subtask.
One approach would be to do the following:
* Go into a codebase and add `compatConfig: { MODE: 3 }` to each component's options
* See if anything breaks in manual or automated testing
* Fix regressions (you can enable/disable compat for specific features if necessary, see the Vue migration docs for more info on this)
* Deploy the patch on PatchDemo or Beta for any additional testing
* Revert the patch if necessary and fix any problems
Extension/skin checklist:
[ ] ContentTranslation
[x] ~GlobalWatchlist~ no longer contains Vue code
[ ] GrowthExperiments
[ ] MachineVision
[ ] MediaSearch (T336821) – This extension is a special case; because it was developed not only with Vue but with an early prototype of many Codex components, it makes sense to also migrate much of the code over to Codex at the same time.
[ ] NearbyPages
[ ] QuickSurveys
[ ] ReadingLists
[x] Vector
[x] Wikibase (including wikibase-termbox, which is a submodule of Wikibase) T304534
[x] WikibaseLexeme T304534
[x] WikiLambda (T289020)
[ ] Wikistories