Page MenuHomePhabricator

Deprecate legacy "personal" and "namespaces" menu from SkinTemplate
Closed, ResolvedPublic

Assigned To
Authored By
Jdlrobson-WMF
Nov 10 2025, 7:10 PM
Referenced Files
F71510295: T409774-de.png
Jan 12 2026, 5:42 PM
F71510331: rc-app-link.png
Jan 12 2026, 5:42 PM
F71508194: T409774-h.png
Jan 12 2026, 11:49 AM
F71508193: T409774-g.png
Jan 12 2026, 11:49 AM
F71508197: T409774-d.png
Jan 12 2026, 11:49 AM
F71508195: T409774-c.png
Jan 12 2026, 11:49 AM
F71508313: T409774-y.png
Jan 12 2026, 11:49 AM
F71508312: T409774-z.png
Jan 12 2026, 11:49 AM

Description

Background

When building Vector 2022 we reorganized menus to support breaking certain items out of existing menus. We needed to ensure backwards compability. As a result we have a lot of convoluted code that makes it hard to follow how menus are constructed. Removing this will make this code easier to work with.

Notifications are rendered in a legacy menu "personal" as well as a modern menu "user-menu". This makes the code more difficult to reason with.

Skin::getOptions already allows skins to declare the menus for which they need data. This show now be a requirement of skins to allow us to remove these legacy menus.

Going forward we'll make specifying this a requirement. On the long term this will also allow us to reduce the PHP processing time in SkinTemplate by only generating menus that are needed.

TODO

Related Objects

Mentioned In
T422975: Deprecate BaseTemplate::getPersonalTools
T409777: Should notifications work for temporary users on legacy Wikimedia skins?
T416978: TypeError: Unsupported operand types: array + null (LiquidThreads)
T416981: PHP Deprecated: Use of MediaWiki\Skin\SkinTemplate::injectLegacyMenusIntoPersonalTools was deprecated in Please make sure Skin option menus contains `user-menu` (and possibly `notifications`, `user-interface-preferences`, `user
T415585: Watchlist features orphaned text "For username" at top of page
T415472: "You have a new talkpage message" UI bar is no longer yellow in Monobook
T412238: Deprecate support for namespaces key in SkinTemplateNavigation::Universal
T414246: Watchlist displays multiple 'edit watchlist' links (when wlenhancedfilters-disable is not true and skin is not using deprecated menus)
T411842: Add watchlist labels to legacy navigation
T398905: Vector 2010 doesn't display orange bar indicating a new user talk message to temporary accounts
Mentioned Here
T422975: Deprecate BaseTemplate::getPersonalTools
T417244: [Vector 2010] Watchlist navigation overlaps with watchlist title
T331360: Allow skins to optimize the data the template receives.
T416651: Remove backwards compatibility for SkinTemplateNavigation::Universal modification of namespaces menu
T416652: Migrate skins to modern menus and drop legacy personal and namespaces menu
T412238: Deprecate support for namespaces key in SkinTemplateNavigation::Universal
T414246: Watchlist displays multiple 'edit watchlist' links (when wlenhancedfilters-disable is not true and skin is not using deprecated menus)
T411842: Add watchlist labels to legacy navigation

Event Timeline

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

Change #1203506 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/core@master] POC: Deprecate legacy menus

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

(Would need sufficient coordination but worth working towards a deprecation for next MediaWiki Release)

Change #1217248 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/core@master] Allow skins based on SkinTemplate to request new menus

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

Change #1217256 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/skins/Vector@master] Legacy Vector should use modern menu keys

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

Change #1217257 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/skins/Timeless@master] Timeless should use associated pages menu for sourcing Page / Discussion tabs

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

Change #1217248 merged by jenkins-bot:

[mediawiki/core@master] Allow skins based on SkinTemplate to request new menus

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

Change #1217257 merged by jenkins-bot:

[mediawiki/skins/Timeless@master] Timeless should use associated pages menu for sourcing Page / Discussion tabs

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

It looks like Timeless now has two 'edit watchlist' links (when wlenhancedfilters-disable is not true):

image.png (1,233×246 px, 42 KB)

(Noticed by @GMikesell-WMF in T411842.)

Change #1224771 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/skins/Modern@master] Migrate to modern menu system

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

Change #1225004 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/core@master] Do not generate namespaces menu if not requested by skin

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

It looks like Timeless now has two 'edit watchlist' links (when wlenhancedfilters-disable is not true):

image.png (1,233×246 px, 42 KB)

(Noticed by @GMikesell-WMF in T411842.)

I believe the duplication is not related to this task. The right side link is added by core RCFilters App but only for skins that don't have the top bar. Presumaly Timeless should be added to the list.

  1. Special:Watchlist (with or without RCFilters App) will now show a navigation bar.
  2. The navigation bar moves to namespace/page-actions level tab
Special:Watchlist+RCFilters (before)(after)Special:Watchlist (before)(after)
T409774-a.png (2,040×716 px, 105 KB)
T409774-b.png (2,036×706 px, 124 KB)
T409774-z.png (1,978×710 px, 168 KB)
T409774-y.png (1,980×684 px, 171 KB)
  1. Special pages lose their namespace tab
Special:RecentChanges (before)(after)Special:BlankPage (before)(after)
T409774-c.png (2,042×636 px, 161 KB)
T409774-d.png (2,042×620 px, 159 KB)
T409774-g.png (1,612×406 px, 40 KB)
T409774-h.png (1,772×408 px, 38 KB)
  1. Yes the display of the navigation bar is intentional as this feature is new and Vector is opting into it. T414246: Watchlist displays multiple 'edit watchlist' links (when wlenhancedfilters-disable is not true and skin is not using deprecated menus) will hopefully result in the removal of those additional links.
  2. I forgot that we intentionally don't show the link in associated pages (since it is identical to the current page) - thanks for pointing this out! I am not sure how controversial removing this would be. We have two options here - we can either omit it and see how the community reacts (perhaps doing this on Monobook first?) or we can make this configurable. Making it configurable would require a new kind of skin option (E.g. ttps://gerrit.wikimedia.org/r/c/mediawiki/core/+/1225610 ) which I'd rather avoid if I can (unless we suspect similar needs arising in future). I wonder if there's something we could tie this feature too that already exists...? Any ideas?
  1. Yes the display of the navigation bar is intentional as this feature is new and Vector is opting into it. T414246: Watchlist displays multiple 'edit watchlist' links (when wlenhancedfilters-disable is not true and skin is not using deprecated menus) will hopefully result in the removal of those additional links.

I might be mistaken, but I don’t think that’s quite correct. From what I understand, the RCFilters app adds an 'Edit Watchlist' link on the right-hand side (when the skin doesn’t already have that top bar, the logic itself is broken as you noted T414246#11509768 ). Because of that, I believe the app wouldn’t remove these links, it sounds like you are expecting that.

In the image below, I’ve highlighted in green the Watchlist link that the app manages.

rc-app-link.png (2,544×724 px, 161 KB)

I do have some concerns about this change, as it feels like a fairly noticeable visual adjustment. In languages with longer words, such as German (de), the new position may stretch the links excessively in my view, and it will result in pushing the search box down, which might affect the placement of the usual help icon.

I believe if extensions append to the list, the tabs may even require two lines to display or maybe push the searchbox even further.

T409774-de.png (2,472×532 px, 151 KB)

  1. I forgot that we intentionally don't show the link in associated pages (since it is identical to the current page) - thanks for pointing this out! I am not sure how controversial removing this would be. We have two options here - we can either omit it and see how the community reacts (perhaps doing this on Monobook first?) or we can make this configurable. Making it configurable would require a new kind of skin option (E.g. ttps://gerrit.wikimedia.org/r/c/mediawiki/core/+/1225610 ) which I'd rather avoid if I can (unless we suspect similar needs arising in future). I wonder if there's something we could tie this feature too that already exists...? Any ideas?

At first, it will likely look quite jarring to people, as it does to me. Over time, though, users will probably get used to the new placement. The newly empty space clearly gives the impression that something has been removed, which is understandable since many of us are used to seeing that area occupied.

I think it'd be good to start removing it in Monobook first.

From what I understand, the RCFilters app adds an 'Edit Watchlist' link on the right-hand side (when the skin doesn’t already have that top bar, the logic itself is broken as you noted T414246#11509768 ). Because of that, I believe the app wouldn’t remove these links, it sounds like you are expecting that.

I'm expecting there will be duplicate links until T414246 is addressed. My recommendation for fixing T414246 would be to ultimately remove the link altogether as once this task is done, all skins will have access to edit watchlist from the tabs. In the short term we could expand the array of skins, but I do not think this is a significant regression to prioritise.

I do have some concerns about this change, as it feels like a fairly noticeable visual adjustment. In languages with longer words, such as German (de), the new position may stretch the links excessively in my view, and it will result in pushing the search box down, which might affect the placement of the usual help icon.

The change has been visible on the default skins Minerva and Vector 2022 for almost 3 years without complaint so I am not concerned about that:
https://de.wikipedia.org/w/index.php?title=Spezial:Beobachtungsliste&uselang=de&useskin=vector-2022

At first, it will likely look quite jarring to people, as it does to me. Over time, though, users will probably get used to the new placement. The newly empty space clearly gives the impression that something has been removed, which is understandable since many of us are used to seeing that area occupied.

I propose we simply retain the behaviour inside skins. The legacy Vector patch has been updated to do that.

Change #1226289 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/skins/MonoBook@master] Use modern menu keys

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

Okay! Let's do Monobook first (https://gerrit.wikimedia.org/r/c/mediawiki/skins/MonoBook/+/1226289) with the core fix (https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1224770). This has been adjusted so the "Special page" tab is present on all special pages which do not have associated pages.

If we find Monobook users hate this change, we'll update the hook to define the special page tab for all special pages ( and remove all the other tabs).

If not, we can proceed with the modification in behaviour in legacy Vector.

Does that make sense?

Yes, looks good to me. I have left a comment there.

Change #1226905 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/skins/Vector@master] Restore duplicate user page link in the dropdown for low resolutions

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

Change #1226289 merged by jenkins-bot:

[mediawiki/skins/MonoBook@master] Use modern menu keys

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

Change #1226905 merged by jenkins-bot:

[mediawiki/skins/Vector@master] Restore duplicate user page link in the dropdown for low resolutions

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

Change #1226957 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/skins/CologneBlue@master] Migrate CologneBlue to modern menus

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

Change #1226959 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/extensions/ContentTranslation@master] ContentTranslation needs to request the menus it uses

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

Change #1226959 merged by jenkins-bot:

[mediawiki/extensions/ContentTranslation@master] ContentTranslation needs to request the menus it uses

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

Change #1233225 had a related patch set uploaded (by Ammarpad; author: Ammarpad):

[mediawiki/core@master] SpecialWatchlist: Do not add incomplete subtitle

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

Change #1226957 merged by jenkins-bot:

[mediawiki/skins/CologneBlue@master] Migrate CologneBlue to modern menus

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

Change #1224771 merged by jenkins-bot:

[mediawiki/skins/Modern@master] Migrate to modern menu system

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

Change #1217256 merged by jenkins-bot:

[mediawiki/skins/Vector@master] Legacy Vector should use modern menu keys

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

Change #1234470 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/skins/Modern@master] Drop unused personal menu

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

Change #1234542 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/skins/MinervaNeue@master] Fix incomplete test

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

Change #1234470 merged by jenkins-bot:

[mediawiki/skins/Modern@master] Drop unused personal menu

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

Change #1234542 merged by jenkins-bot:

[mediawiki/skins/MinervaNeue@master] tests: Fix incomplete test

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

Ammarpad changed the task status from Stalled to Open.Feb 5 2026, 12:04 PM
Ammarpad changed the task status from Open to Stalled.
Ammarpad updated the task description. (Show Details)

Change #1203506 merged by jenkins-bot:

[mediawiki/core@master] Deprecate legacy menus namespaces and personal

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

Jdlrobson-WMF renamed this task from Drop legacy "personal" menu from SkinTemplate to Deprecate legacy "personal" and "namespaces" menu from SkinTemplate.Feb 5 2026, 11:57 PM
Jdlrobson-WMF claimed this task.
Jdlrobson-WMF updated the task description. (Show Details)
Jdlrobson-WMF added a subscriber: Quiddity.

Thanks for adding that here (I saw that too). Yes we had similar feedback for Monobook. Editors can easily disable it via gadgets and it brings legacy Vector into consistency with how Vector 2022 has been for a couple of years so I am not too concerned.

I see @Quiddity replied there (thank you!) with a good explanation. Certainly having more skins function the same makes software development easier across the board. I am just sorry it took so long to bring these skins in line with the default ones (maintaining all these skins is hard work!)

Next steps:

Change #1267099 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/core@master] BaseTemplate::getPersonalTools shouldn't trigger deprecation warnings

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

Change #1267099 abandoned by Jdlrobson:

[mediawiki/core@master] BaseTemplate::getPersonalTools shouldn't trigger deprecation warnings

Reason:

On second thoughts let's deprecate this https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1270090

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

Change #1281441 had a related patch set uploaded (by XtexChooser; author: XtexChooser):

[mediawiki/skins/Vector@master] Update documentation to reflect modern menu update

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

Change #1281441 merged by jenkins-bot:

[mediawiki/skins/Vector@master] Update documentation to reflect modern menu update

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

Change #1281654 had a related patch set uploaded (by XtexChooser; author: XtexChooser):

[mediawiki/skins/Vector@REL1_46] Update documentation to reflect modern menu update

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

Change #1281654 merged by jenkins-bot:

[mediawiki/skins/Vector@REL1_46] Update documentation to reflect modern menu update

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