Page MenuHomePhabricator

Migrate all extension/skin code to Vue 3
Closed, ResolvedPublic

Description

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 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.

To migrate an extension, follow the steps laid out at https://www.mediawiki.org/wiki/Vue.js/Vue_3_migration

Extension/skin checklist:

  • ContentTranslation (T338829)
  • GlobalWatchlist no longer contains Vue code
  • GrowthExperiments (T338830)
  • MachineVision (T338831) Vue code is no longer used in production
  • 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 (T338838)
  • QuickSurveys (T338839)
  • ReadingLists (T338840)
  • SearchVue (T339049)
  • Vector
  • Wikibase (including wikibase-termbox, which is a submodule of Wikibase) T304534
  • WikibaseLexeme T304534
  • WikiLambda (T339965)
  • WikiLove (T339048)
  • Wikistories (T338841)

Related Objects

StatusSubtypeAssignedTask
Duplicate STH
In ProgressNone
Resolvedegardner
ResolvedSimoneThisDot
ResolvedNone
ResolvedMichael
ResolvedMichael
ResolvedMichael
ResolvedMichael
ResolvedLucas_Werkmeister_WMDE
ResolvedLucas_Werkmeister_WMDE
ResolvedLucas_Werkmeister_WMDE
ResolvedMichael
ResolvedMichael
ResolvedMichael
ResolvedSimoneThisDot
Resolvedegardner
Resolvedegardner
Resolvedegardner
Resolvedegardner
Resolvedngkountas
ResolvedSgs
ResolvedUrbanecm_WMF
DeclinedNone
ResolvedCatrope
ResolvedCatrope
ResolvedCatrope
ResolvedSBisson
ResolvedCatrope
ResolvedCatrope
ResolvedCatrope

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
Restricted Application raised the priority of this task from Medium to High. · View Herald TranscriptMay 31 2023, 6:35 PM
egardner changed the task status from Open to In Progress.May 31 2023, 6:37 PM

Change 925085 had a related patch set uploaded (by Eric Gardner; author: Eric Gardner):

[mediawiki/extensions/MediaSearch@master] Vue: Disable compat mode on all components

https://gerrit.wikimedia.org/r/925085

Catrope updated the task description. (Show Details)
CCiufo-WMF subscribed.

Going to backlog this for now, not because we're not working on it, but because the actionable work is all capture in subtasks, and from a high-level roadmap perspective, we'll be using the parent Epic task.

Change 930856 had a related patch set uploaded (by Eric Gardner; author: Eric Gardner):

[mediawiki/extensions/MediaSearch@master] Port MediaSearch to Codex

https://gerrit.wikimedia.org/r/930856

Change 925085 abandoned by Eric Gardner:

[mediawiki/extensions/MediaSearch@master] Vue: Disable compat mode on all components

Reason:

Abandoned in favor of https://gerrit.wikimedia.org/r/c/mediawiki/extensions/MediaSearch/+/930856

https://gerrit.wikimedia.org/r/925085

Just a heads up for those using Vuex. The plugin installation happens at application level instead of Vue's global instance. So Vue.use( Vuex ) should become app.use( Vuex ). Added a bullet in the migration guide.

Test wiki on Patch demo by EGardner (WMF) using patch(es) linked to this task was deleted:

https://patchdemo.wmflabs.org/wikis/14bd7d0695/w/

Test wiki on Patch demo by EGardner (WMF) using patch(es) linked to this task was deleted:

https://patchdemo.wmflabs.org/wikis/027b48dc6f/w/

Test wiki on Patch demo by EGardner (WMF) using patch(es) linked to this task was deleted:

https://patchdemo.wmflabs.org/wikis/0a911087e7/w/

Test wiki on Patch demo by EGardner (WMF) using patch(es) linked to this task was deleted:

https://patchdemo.wmflabs.org/wikis/1314aa52f8/w/

Change 930856 merged by jenkins-bot:

[mediawiki/extensions/MediaSearch@master] Port MediaSearch to Codex

https://gerrit.wikimedia.org/r/930856

egardner updated the task description. (Show Details)
Catrope updated the task description. (Show Details)

Test wiki on Patch demo by EGardner (WMF) using patch(es) linked to this task was deleted:

https://patchdemo.wmflabs.org/wikis/f8521b4a5a/w/

Change 773281 merged by jenkins-bot:

[mediawiki/core@master] Replace Vue 3 migration build with pure Vue 3

https://gerrit.wikimedia.org/r/773281

Change 978690 had a related patch set uploaded (by Eric Gardner; author: Eric Gardner):

[mediawiki/extensions/MediaSearch@master] Declare custom events in observer.js mixin

https://gerrit.wikimedia.org/r/978690