Page MenuHomePhabricator

On Vector 2022 the link 'Request account' does not appear
Open, Needs TriagePublicBUG REPORT

Description

Steps to replicate the issue (include links if applicable):

wfLoadSkin( 'Vector' );
wfLoadExtension( 'ConfirmAccount' );
$wgDefaultSkin = "vector-2022";
$wgGroupPermissions['*']['createaccount'] = false;

What happens?:

As logged-out user, in the user links (on top right of the page in LTR languages), the link 'Request account' is not present, neither directly alongside 'Log in', neither in the dropdown menu. Screenshot below:

Screenshot 2025-10-16 at 00-16-48 Accueil - MediaWiki master.png (167×250 px, 17 KB)

What should have happened instead?:

As logged-out user, there should be a link 'Request account' in this area. This link does appear with Vector legacy, but not with Vector 2022. Screenshot below:

Screenshot 2025-10-16 at 00-20-28 Accueil - MediaWiki master.png (176×277 px, 21 KB)

Other information (browser name/version, screenshots, etc.):

The commit where this behaviour changed is in ConfirmAccount rECACff06099b, and specifically the change of the key createaccountrequestaccount: the new key is not whitelisted in Vector 2022 and is not put in the menu 'anon-editor' so it completely disappear (it could be in the menu for logged-in users but ConfirmAccount does not add the link in this case, since it is only useful for logged-out users).

Event Timeline

@alistair3149: I add you as author of the commit changing this behaviour.
@bwang @Volker_E: I saw you made multiple changes in Vector recently, maybe you have advice about this or you could forward to other relevant people?

Is there some guidelines in skins in general or specifically in Vector 2022 to make a link appear in the user links? This directly relates to the change of the key createaccountrequestaccount in rECACff06099b0c91.

I find using a dedicated name as requestaccount is probably a good practice given the link is distinct from createaccount but there should be some way to make it appear in the "user links" part in Vector 2022.

Jdlrobson subscribed.

Ideally I would love it if it replaced the existing link using the same ID rather than adding a link. Semantically these actions are identical. CSS classes should be used to distinguish them if additional CSS is needed.

Ie. My recommendation would be to undo the ID change in rECACff06099b0c91

Change #1197012 had a related patch set uploaded (by MarkAHershberger; author: MarkAHershberger):

[mediawiki/extensions/ConfirmAccount@master] Undo ID change

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

Change #1197012 merged by jenkins-bot:

[mediawiki/extensions/ConfirmAccount@master] Undo ID change

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

Change #1231135 had a related patch set uploaded (by MarkAHershberger; author: MarkAHershberger):

[mediawiki/extensions/ConfirmAccount@REL1_45] Undo ID change

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

Change #1231135 merged by jenkins-bot:

[mediawiki/extensions/ConfirmAccount@REL1_45] Undo ID change

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

Sorry I just saw this recently.

Ideally I would love it if it replaced the existing link using the same ID rather than adding a link. Semantically these actions are identical. CSS classes should be used to distinguish them if additional CSS is needed.

While I agree that semantically these actions are identical, it is more consistent and predictable if we use a different ID and unset the create account link because the request account link:

  • Uses a different message key
  • Uses a different icon
  • Links to a different special page

Other than the CSS classes, using a different ID also allows extensions and skins to differentiate the link in PHP.

It's probably a better practice to just include the request account ID in Vector instead, since the link promotion behavior is specific to Vector 2022.

If @Jdlrobson is okay with the proposal, I can submit the patches for these changes.