Page MenuHomePhabricator

eye icon is not present on Minerva: Link to User Page on metawiki is a square on Minerva
Closed, ResolvedPublic1 Estimated Story Points

Description

The Link to a Meta User Page for a User who has a Meta Page and no User Page on wiki is a square, instead of a useful icon. Moreover, there is no indication on what this square actually does until we click on it.
See for example https://fr.m.wikipedia.org/wiki/Utilisateur:Jembot :

Screenshot_2025-08-07-20-38-27-568-edit_com.opera.browser.jpg (1,080×2,400 px, 540 KB)

TODO

  • Update the ResourceLoader module skins.minerva.icons skin.json in Minerva to include "eye" in the array
  • Verify that the icon displays on the skin. The easiest way to verify this is to visit any File page (e.g. http://localhost:8888/w/index.php/File:Paris.svg). Make sure $wgUseInstantCommons = true; is in your LocalSettings.php and the image displays.

QA steps

  • Visit File:Paris.svg
  • Switch to Minerva (mobile skin)

No Not Required items.

Requirement

Scope: Mobile web (Minerva skin). The “eye” icon must be available in Minerva’s icon set so that links to Meta user pages render correctly:

  • The missing icon must no longer appear as a blank square.
  • The eye icon should be visible in contexts such as links to Meta user pages and File pages when appropriate.

BDD

Feature: Eye icon renders correctly in Minerva

  Scenario: Link to Meta user page with no local user page
    Given I visit a user page on a wiki where the user only has a Meta user page
    When the page is loaded in Minerva skin
    Then the eye icon is rendered correctly instead of a blank square

  Scenario: File page shows eye icon when enabled
    Given I visit a File page (e.g., File:Paris.svg) 
    When I view the page in Minerva skin
    Then the eye icon is rendered correctly in place of the blank square

Test Steps

Test Case 1: Meta user page link in Minerva

  1. Open https://fr.m.wikipedia.org/wiki/Utilisateur:Jembot in a mobile browser (Minerva skin).
  2. AC1: The eye icon element is present in the DOM (not a blank square).
  3. AC2: The icon has the correct “eye” class reference from skins.minerva.icons.

Test Case 2: File page icon rendering in Minerva

  1. Open https://fr.m.wikipedia.org/wiki/Fichier:Paris.svg in Minerva skin.
  2. AC3: The eye icon is rendered correctly in the DOM.
  3. AC4: No blank square or missing icon is shown in place of the eye icon.

QA Results - Prod

Event Timeline

Looking around, that square is supposed to be an eye icon from OOUI (example). I think that an 'eye', line should be added somewhere in skin.json, but I'm not exactly sure where. Possibly on line 426, after 'edit', (at any rate, that is where the icon next to the "view on meta" icon is defined).
I don't see any recent commits relating to this. Possibly there was some other code that loaded the eye previously, that recently stopped loading it.

We had a similar issue on T395980: Discussion tools add topic shows in page actions menu without an icon. This should be added by MobileFrontend. @Esanders @DLynch off the top of your head could any changes to names of the editor icons have broken this? I recall we used to show an "eye" for view source.

Nothing has changed about eye in forever. In 2017 it got moved from general icons into the accessibility subset, but that was the last thing that touched it. It's actively in use in VisualEditor itself and outside it in visual diffs, and in both places it's referenced as eye.

CleanShot 2025-08-18 at 19.36.38@2x.png (586×296 px, 18 KB)
CleanShot 2025-08-18 at 19.37.27@2x.png (954×788 px, 87 KB)

I think the answer is just "it isn't in skins.minerva.icons"? That's currently:

"icons": [
	"speechBubbleAdd",
	"edit",
	"wikiText",
	"editLock",
	"history",
	"language",
	"menu",
	"search",
	"userAvatar",
	"userTalk",
	"star",
	"halfStar",
	"unStar",
	"die",
	"heart",
	"home",
	"logIn",
	"logOut",
	"mapPin",
	"settings",
	"userContributions",
	"unStar",
	"watchlist"
]

I'm not sure where it should strictly be being added -- which extension is actually triggering the use of this icon, and whether that should be doing its own addition of the item to something or whether we can reasonable expect that Minerva should be including all the icons the toolbar is likely to use, even the ones that aren't added directly by itself? The DT ticket you mention was resolved in part by just adding the icon that was needed to Minerva's module, so...

Jdlrobson-WMF renamed this task from Link to User Page on metawiki is a square on Minerva to eye icon is not present on Minerva: Link to User Page on metawiki is a square on Minerva.Aug 20 2025, 4:06 PM
Jdlrobson-WMF added a subscriber: Daimona.

I'm not sure where it should strictly be being added -- which extension is actually triggering the use of this icon, and whether that should be doing its own addition of the item to something or whether we can reasonable expect that Minerva should be including all the icons the toolbar is likely to use, even the ones that aren't added directly by itself? The DT ticket you mention was resolved in part by just adding the icon that was needed to Minerva's module, so...

Currently Minerva.
On the long term T379236: Provide a way for extensions to register icons needed by a skin on every page load. I think it's acceptable to add this to skins.minerva.icons for now (patch-welcome).

Looks like I registered the eye icon in 6d1ab8826e04 but did not account for the associated link not being displayed in Minerva. Before that the link was not showing at all, even without an icon so the fact it's showing up at all is at least a step in the right direction.

Thank you for tagging this task with good first task for Wikimedia newcomers!

Newcomers often may not be aware of things that may seem obvious to seasoned contributors, so please take a moment to reflect on how this task might look to somebody who has never contributed to Wikimedia projects.

A good first task is a self-contained, non-controversial task with a clear approach. It should be well-described with pointers to help a completely new contributor, for example it should clearly point to the codebase URL and provide clear steps to help a contributor get set up for success. We've included some guidelines at https://phabricator.wikimedia.org/tag/good_first_task/ !

Thank you for helping us drive new contributions to our projects <3

Change #1181247 had a related patch set uploaded (by Escargot bleu; author: Escargot bleu):

[mediawiki/skins/MinervaNeue@master] Add eye icon to Minerva skins.minerva.icons

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

Hi @Escargot_rouge
I have added an eye icon to Minerva Skins. Could you please check my patchset and review it? If you think any improvements are needed, I would be happy to work on them.

https://gerrit.wikimedia.org/r/c/mediawiki/skins/MinervaNeue/+/1181243

~Thanks

Change #1181243 had a related patch set uploaded (by Pppery; author: Aruhi28):

[mediawiki/skins/MinervaNeue@master] Add eye to the list of available actions in skin.json

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

Jdlrobson-WMF updated the task description. (Show Details)

Change #1181243 merged by jenkins-bot:

[mediawiki/skins/MinervaNeue@master] Add eye to the list of available actions in skin.json

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

Edtadros subscribed.

Test Result - Prod

Status: ✅ PASS
Environment: enwiki
OS: macOS Sequoia 15.5
Browser: Chrome Canary (latest as of test date)
Device: MS
Emulated Device: iPhone 14 Pro (Minerva)

Test Case 1: Meta user page link in Minerva

  1. Open https://fr.m.wikipedia.org/wiki/Utilisateur:Jembot in a mobile browser (Minerva skin).
  2. AC1: The eye icon element is present in the DOM (not a blank square).
  3. AC2: The icon has the correct “eye” class reference from skins.minerva.icons.

screenshot 110.png (1,491×1,023 px, 227 KB)

Test Case 2: File page icon rendering in Minerva

  1. Open https://fr.m.wikipedia.org/wiki/Fichier:Paris.svg in Minerva skin.
  2. AC3: The eye icon is rendered correctly in the DOM.
  3. AC4: No blank square or missing icon is shown in place of the eye icon.

screenshot 111.png (1,497×1,142 px, 176 KB)