Page MenuHomePhabricator

Remove unused jquery.ui.* and jquery.effects.* modules
Open, HighPublic

Description

Deprecated in 1.34

Simply find and replace with jquery.ui

  • jquery.ui.core
  • jquery.ui.core.styles
  • jquery.ui.accordion
  • jquery.ui.autocomplete
  • jquery.ui.button
  • jquery.ui.datepicker
  • jquery.ui.dialog
  • jquery.ui.draggable
  • jquery.ui.droppable
  • jquery.ui.menu
  • jquery.ui.mouse
  • jquery.ui.position
  • jquery.ui.progressbar
  • jquery.ui.resizable
  • jquery.ui.selectable
  • jquery.ui.slider
  • jquery.ui.sortable
  • jquery.ui.tabs
  • jquery.ui.tooltip
  • jquery.ui.widget
  • jquery.effects.core
  • jquery.effects.blind
  • jquery.effects.clip
  • jquery.effects.drop
  • jquery.effects.highlight
  • jquery.effects.scale
  • jquery.effects.shake
Original proposal

In T219403: Remove jquery.ui.spinner removal of deprecated and unused jquery.ui.* modules started, so I think it's a good idea to continue. At least jquery.ui.accordion seems equally unused (https://codesearch.wmflabs.org/search/?q=jquery%5C.ui%5C.accordion&i=nope&files=&repos=, someone should check gadgets).

A similar group of modules is jquery.effects.*, which has only very few uses (https://codesearch.wmflabs.org/search/?q=jquery%5C.effects%5C.&i=nope&files=&repos=), leaving many of these modules completely unused. Together, these use over 500 bytes in the registry that could be saved.

Perhaps even more of these modules can be removed, some have just one or two uses which perhaps can easily be replaced, especially for effects.

Sub tasks
  • Remove use in MediaWiki core, and bundled or WMF-deployed extensions.
  • Deprecate in 1.34.
  • Analyse usage in gadgets, site scripts and user scripts. And announce, migrate, and/or delay removal as needed.
    • 845 gadgets and site scripts. Status: Fixed. – T219604#5608345
    • 1628 user scripts. Status: Work in progress. – P9516
  • Remove in 1.35.

Details

Related Gerrit Patches:
mediawiki/extensions/PageTriage : masterRemove use of jquery.ui module aliases
mediawiki/extensions/TimedMediaHandler : masterRemove use of jquery.ui module aliases
mediawiki/extensions/Wikibase : masterRemove use of jquery.ui module aliases
mediawiki/extensions/WikibaseLexeme : masterRemove use of jquery.ui module aliases
mediawiki/extensions/ProofreadPage : masterRemove use of jquery.ui module aliases
mediawiki/extensions/OAuth : masterRemove use of jquery.ui module aliases
mediawiki/extensions/MassMessage : masterRemove use of jquery.ui module aliases
mediawiki/extensions/RevisionSlider : masterRemove use of jquery.ui module aliases
mediawiki/extensions/LiquidThreads : masterRemove use of jquery.ui module aliases
mediawiki/extensions/WikiLove : masterRemove use of jquery.ui module aliases
mediawiki/extensions/WikiEditor : masterRemove use of jquery.ui module aliases
mediawiki/extensions/OpenStackManager : masterRemove use of jquery.ui module aliases
mediawiki/extensions/Citoid : masterRemove use of jquery.ui module aliases
mediawiki/core : REL1_34resources: Collapse all jQuery UI modules into one deprecated mega-module
mediawiki/extensions/Scribunto : masterRemove use of jquery.ui module aliases
mediawiki/core : wmf/1.35.0-wmf.2resources: Collapse all jQuery UI modules into one deprecated mega-module
mediawiki/core : masterresources: Collapse all jQuery UI modules into one deprecated mega-module
mediawiki/skins/Vector : masterUpdate ResourceModuleSkinStyles for jquery.ui change
mediawiki/core : masterresources: Remove unused jquery.effects.* modules

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Using the new mwgrep (with JSON and gadgets-definition):

mwgrep "jquery.effects.(bounce|clip|drop|explode|fade|fold|pulsate|scale|slide|transfer)"
commonswiki         MediaWiki:Gadget-EnhancedPOTY.js
commonswiki         MediaWiki:Gadget-catMoveLink.js
commonswiki         MediaWiki:Gadget-progressDialog.js
  • MediaWiki:Gadget-EnhancedPOTY.js has "clip" and "bind"
  • MediaWiki:Gadget-catMoveLink.js has "drop"
  • MediaWiki:Gadget-progressDialog.js has "scale", "fade" and "drop"
Esanders updated the task description. (Show Details)Apr 30 2019, 1:49 PM
D3r1ck01 removed D3r1ck01 as the assignee of this task.May 18 2019, 2:59 PM
D3r1ck01 removed a project: User-D3r1ck01.
D3r1ck01 awarded a token.
D3r1ck01 added a subscriber: D3r1ck01.
Krinkle moved this task from Blocker to Deprecate/Remove on the MW-1.34-release board.
  • MediaWiki:Gadget-EnhancedPOTY.js has "clip" and "bind"
  • MediaWiki:Gadget-catMoveLink.js has "drop"
  • MediaWiki:Gadget-progressDialog.js has "scale", "fade" and "drop"

Thanks for this list @Esanders

D3r1ck01 claimed this task.May 22 2019, 7:30 PM
Restricted Application added a project: User-D3r1ck01. · View Herald TranscriptMay 22 2019, 7:30 PM

Change 505282 merged by jenkins-bot:
[mediawiki/core@master] resources: Remove unused jquery.effects.* modules

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

D3r1ck01 removed D3r1ck01 as the assignee of this task.Jun 20 2019, 11:42 AM
D3r1ck01 updated the task description. (Show Details)
D3r1ck01 removed a project: User-D3r1ck01.

As a next step here, I propose that we make jQuery UI one module, with its alternate partial names aliases for the main module (to deprecate in 1.34), which we can then remove in 1.35 (similar to mediawiki.api.* modules previously), leaving only one module in the registry.

The deprecation for that module would then continue under T49145, which is separate from this.

Krinkle triaged this task as Normal priority.Jul 30 2019, 12:11 AM
Krinkle moved this task from Limbo to Perf recommendation on the Performance-Team (Radar) board.

Change 542260 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[mediawiki/core@master] resources: Collapse all jQuery UI modules into deprecated one mega-module

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

Change 543726 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/skins/Vector@master] Update ResourceModuleSkinStyles for jquery.ui change

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

Krinkle claimed this task.Oct 16 2019, 10:51 PM
Krinkle moved this task from Inbox to Blocked or Needs-CR on the Performance-Team board.

Change 542260 merged by jenkins-bot:
[mediawiki/core@master] resources: Collapse all jQuery UI modules into one deprecated mega-module

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

Change 543726 merged by jenkins-bot:
[mediawiki/skins/Vector@master] Update ResourceModuleSkinStyles for jquery.ui change

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

Change 543736 had a related patch set uploaded (by Krinkle; owner: Jforrester):
[mediawiki/core@wmf/1.35.0-wmf.2] resources: Collapse all jQuery UI modules into one deprecated mega-module

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

I've uploaded a Tourbot pattern for the migration at https://github.com/Krinkle/mw-tool-tourbot/commit/fdfb13a95. After the above backport is deployed and wmf.2 has reached group2, then it can be used to start migrating usage.

Change 544306 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/extensions/WikiEditor@master] Remove use of jquery.ui module aliases

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

Change 544307 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/extensions/Wikibase@master] Remove use of jquery.ui module aliases

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

Change 544308 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/extensions/PageTriage@master] Remove use of jquery.ui module aliases

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

Change 544310 had a related patch set uploaded (by Krinkle; owner: Jforrester):
[mediawiki/core@REL1_34] resources: Collapse all jQuery UI modules into one deprecated mega-module

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

Change 543736 abandoned by Krinkle:
resources: Collapse all jQuery UI modules into one deprecated mega-module

Reason:
Will let it ride the train instead.

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

Change 544311 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/extensions/TimedMediaHandler@master] Remove use of jquery.ui module aliases

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

Change 544312 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/extensions/Citoid@master] Remove use of jquery.ui module aliases

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

Change 544313 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/extensions/LiquidThreads@master] Remove use of jquery.ui module aliases

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

Change 544314 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/extensions/MassMessage@master] Remove use of jquery.ui module aliases

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

Change 544315 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/extensions/OAuth@master] Remove use of jquery.ui module aliases

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

Change 544316 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/extensions/OpenStackManager@master] Remove use of jquery.ui module aliases

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

Change 544317 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/extensions/ProofreadPage@master] Remove use of jquery.ui module aliases

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

Change 544319 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/extensions/RevisionSlider@master] Remove use of jquery.ui module aliases

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

Change 544320 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/extensions/Scribunto@master] Remove use of jquery.ui module aliases

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

Change 544321 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/extensions/WikibaseLexeme@master] Remove use of jquery.ui module aliases

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

Change 544322 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/extensions/WikiLove@master] Remove use of jquery.ui module aliases

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

Change 544320 merged by jenkins-bot:
[mediawiki/extensions/Scribunto@master] Remove use of jquery.ui module aliases

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

Change 544310 merged by jenkins-bot:
[mediawiki/core@REL1_34] resources: Collapse all jQuery UI modules into one deprecated mega-module

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

Change 544308 merged by jenkins-bot:
[mediawiki/extensions/PageTriage@master] Remove use of jquery.ui module aliases

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

Change 544312 merged by jenkins-bot:
[mediawiki/extensions/Citoid@master] Remove use of jquery.ui module aliases

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

Change 544316 merged by jenkins-bot:
[mediawiki/extensions/OpenStackManager@master] Remove use of jquery.ui module aliases

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

Change 544306 merged by jenkins-bot:
[mediawiki/extensions/WikiEditor@master] Remove use of jquery.ui module aliases

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

Change 544321 merged by jenkins-bot:
[mediawiki/extensions/WikibaseLexeme@master] Remove use of jquery.ui module aliases

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

Change 544314 merged by jenkins-bot:
[mediawiki/extensions/MassMessage@master] Remove use of jquery.ui module aliases

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

Change 544319 merged by jenkins-bot:
[mediawiki/extensions/RevisionSlider@master] Remove use of jquery.ui module aliases

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

Change 544307 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Remove use of jquery.ui module aliases

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

Change 544322 merged by jenkins-bot:
[mediawiki/extensions/WikiLove@master] Remove use of jquery.ui module aliases

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

Change 544317 merged by jenkins-bot:
[mediawiki/extensions/ProofreadPage@master] Remove use of jquery.ui module aliases

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

Change 544315 merged by jenkins-bot:
[mediawiki/extensions/OAuth@master] Remove use of jquery.ui module aliases

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

Change 544313 merged by jenkins-bot:
[mediawiki/extensions/LiquidThreads@master] Remove use of jquery.ui module aliases

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

Mentioned in SAL (#wikimedia-releng) [2019-10-20T21:28:00Z] <Krinkle> Click "Disable Publishing" for extensions/OAuth and extensions/RevisionSlider in Phabricator, T143162 ,T219604

Change 544311 merged by jenkins-bot:
[mediawiki/extensions/TimedMediaHandler@master] Remove use of jquery.ui module aliases

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

Krinkle updated the task description. (Show Details)Tue, Oct 22, 9:16 PM
Krinkle updated the task description. (Show Details)
Ladsgroup added a subscriber: Ladsgroup.
Krinkle raised the priority of this task from Normal to High.Thu, Oct 24, 2:39 PM
Krinkle updated the task description. (Show Details)EditedSat, Oct 26, 3:06 AM

I've fixed 845 gadgets and site scripts with tourbot. The majority could be done semi-automatically. A few dozen required manual edits.

See Global Search. There are zero results left on public wiks. There are 5 results left (from fisbowls foundationwiki and idwikimedia).

Next step: User scripts.

MusikAnimal added a subscriber: MusikAnimal.EditedTue, Oct 29, 9:34 PM

This change to PageTriage makes disabled buttons virtually illegible:

Here is one that is active, but it looks like it's disabled:

These used to be green and/or blue, sometimes red. It seems they are always gray now. Is this intentional? I suspect the community will be yelling at my team about this.

Krinkle added a comment.EditedTue, Oct 29, 9:36 PM

@MusikAnimal No, there are no visual changes intended. And none came up in testing so far. It's purely an internal refactor of the module structure.

Which wiki, skin and url is this seen on?

If outside WMF prod, make sure MediaWiki core and Vector are both up-to-date.

No, there are no visual changes intended. And none came up in testing so far. It's purely an internal refactor of the module structure.
Which wiki, skin and url is this seen on?
If outside WMF prod, make sure MediaWiki core and Vector are both up-to-date.

Yes, you are right. I needed to update Vector. Sorry for the noise!

Krinkle updated the task description. (Show Details)Tue, Nov 5, 7:54 PM