Page MenuHomePhabricator

Table of mentees on the Mentor dashboard is not visible on Timeless
Closed, ResolvedPublicBUG REPORT

Description

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

You have to be a registered mentor at one wiki when Growth mentorship is available.

You can do it at Beta Wikipedia:

  1. Register as a mentor on https://en.wikipedia.beta.wmflabs.org/wiki/Special:EnrollAsMentor
  2. Visit https://en.wikipedia.beta.wmflabs.org/wiki/Special:MentorDashboard, where you get a table of mentees (wait for the table to be completed, which might take a few hours)
  3. Visit https://en.wikipedia.beta.wmflabs.org/wiki/Special:MentorDashboard?useskin=timeless, where you don't.

What happens?:
The table displaying the list of your assigned mentees is not visible.

What should have happened instead?:
The table displaying the list of your assigned mentees is displayed.

Other information (browser name/version, screenshots, etc.):
Reported at French Wikipedia, here and here.

Event Timeline

Etonkovidova subscribed.

Confirmed on testwiki wmf.25. All other skins are fine - Vector 2022, old Vector, MinevaNeue, and Monobook.
Special:MentorDashboard for the same user (no filters)

Timeless skinVector skin
Screen Shot 2023-02-28 at 4.10.53 PM.png (1×1 px, 279 KB)
Screen Shot 2023-02-28 at 4.11.16 PM.png (1×2 px, 418 KB)
Backtrace:
from /srv/mediawiki/php-1.40.0-wmf.25/vendor/wikimedia/less.php/lib/Less/Parser.php(2706)
#0 /srv/mediawiki/php-1.40.0-wmf.25/vendor/wikimedia/less.php/lib/Less/Parser.php(433): Less_Parser->Error(string)
#1 /srv/mediawiki/php-1.40.0-wmf.25/vendor/wikimedia/less.php/lib/Less/Tree/Import.php(272): Less_Parser->parseFile(string, string, boolean)
#2 /srv/mediawiki/php-1.40.0-wmf.25/vendor/wikimedia/less.php/lib/Less/Tree/Import.php(196): Less_Tree_Import->ParseImport(string, string, Less_Environment)
#3 /srv/mediawiki/php-1.40.0-wmf.25/vendor/wikimedia/less.php/lib/Less/Tree/Ruleset.php(250): Less_Tree_Import->compile(Less_Environment)
#4 /srv/mediawiki/php-1.40.0-wmf.25/vendor/wikimedia/less.php/lib/Less/Tree/Ruleset.php(238): Less_Tree_Ruleset->evalImports(Less_Environment)
#5 /srv/mediawiki/php-1.40.0-wmf.25/vendor/wikimedia/less.php/lib/Less/Tree/Ruleset.php(75): Less_Tree_Ruleset->PrepareRuleset(Less_Environment)
#6 /srv/mediawiki/php-1.40.0-wmf.25/vendor/wikimedia/less.php/lib/Less/Parser.php(181): Less_Tree_Ruleset->compile(Less_Environment)
#7 /srv/mediawiki/php-1.40.0-wmf.25/includes/ResourceLoader/FileModule.php(1115): Less_Parser->getCss()
#8 /srv/mediawiki/php-1.40.0-wmf.25/includes/ResourceLoader/FileModule.php(998): MediaWiki\ResourceLoader\FileModule->compileLessString(string, string, MediaWiki\ResourceLoader\Context)
#9 /srv/mediawiki/php-1.40.0-wmf.25/includes/ResourceLoader/FileModule.php(399): MediaWiki\ResourceLoader\FileModule->processStyle(string, string, string, MediaWiki\ResourceLoader\Context)
#10 /srv/mediawiki/php-1.40.0-wmf.25/includes/ResourceLoader/Module.php(834): MediaWiki\ResourceLoader\FileModule->getStyles(MediaWiki\ResourceLoader\Context)
#11 /srv/mediawiki/php-1.40.0-wmf.25/includes/ResourceLoader/Module.php(786): MediaWiki\ResourceLoader\Module->buildContent(MediaWiki\ResourceLoader\Context)
#12 /srv/mediawiki/php-1.40.0-wmf.25/includes/ResourceLoader/ResourceLoader.php(1110): MediaWiki\ResourceLoader\Module->getModuleContent(MediaWiki\ResourceLoader\Context)
#13 /srv/mediawiki/php-1.40.0-wmf.25/includes/ResourceLoader/ResourceLoader.php(806): MediaWiki\ResourceLoader\ResourceLoader->makeModuleResponse(MediaWiki\ResourceLoader\Context, array, array)
#14 /srv/mediawiki/php-1.40.0-wmf.25/load.php(53): MediaWiki\ResourceLoader\ResourceLoader->respond(MediaWiki\ResourceLoader\Context)
#15 /srv/mediawiki/php-1.40.0-wmf.25/load.php(39): wfLoadMain()
#16 /srv/mediawiki/w/load.php(3): require(string)
#17 {main}

Interesting, it seems like we have a similar issue with the only other Growth Vue component: the new impact module:

Screenshot 2023-02-28 at 4.52.20 PM.png (1×3 px, 886 KB)

Tested on English Wikipedia: the skeleton loads, but the actual impact module data never loads.

@kostajh - should I log a separate bug for this, or do you think the underlying issue is likely the same?

The error message is

\Less_Exception_Parser: File `../../../../resources/lib/codex-design-tokens/theme-wikimedia-ui.less` not found. in NoEditsDisplay.vue

So I guess Timeless needs to load codex-design-tokens?

Interesting, it seems like we have a similar issue with the only other Growth Vue component: the new impact module:

Screenshot 2023-02-28 at 4.52.20 PM.png (1×3 px, 886 KB)

Tested on English Wikipedia: the skeleton loads, but the actual impact module data never loads.

@kostajh - should I log a separate bug for this, or do you think the underlying issue is likely the same?

It's the same issue.

I think this is happening because the import in NoEditsDisplay has one ../ to few. From mediawiki/extensions/GrowthExperiments/modules/ext.growthExperiments.Homepage.NewImpact/components/NoEditsDisplay.vue, the import path ../../../../resources/lib/codex-design-tokens/theme-wikimedia-ui.less resolves to mediawiki/extensions/resources/lib/codex-design-tokens/theme-wikimedia-ui.less , which doesn't exist. You need one more ../ to make it work.

The reason it works in Vector is because Vector's mediawiki.less directory (which is part of the import paths list) lives at mediawiki/skins/Vector/resources/mediawiki.less/, and NoEditsDisplay.vue happens to use the right number of ../s to get to the right file from there. Less probably shouldn't try using other import paths besides the current directory for imports that start with ../, but it does.

Change 893694 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[mediawiki/extensions/GrowthExperiments@master] Vue: Fix import paths for theme-wikimedia-ui.less

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

I think this is happening because the import in NoEditsDisplay has one ../ to few. From mediawiki/extensions/GrowthExperiments/modules/ext.growthExperiments.Homepage.NewImpact/components/NoEditsDisplay.vue, the import path ../../../../resources/lib/codex-design-tokens/theme-wikimedia-ui.less resolves to mediawiki/extensions/resources/lib/codex-design-tokens/theme-wikimedia-ui.less , which doesn't exist. You need one more ../ to make it work.

The reason it works in Vector is because Vector's mediawiki.less directory (which is part of the import paths list) lives at mediawiki/skins/Vector/resources/mediawiki.less/, and NoEditsDisplay.vue happens to use the right number of ../s to get to the right file from there. Less probably shouldn't try using other import paths besides the current directory for imports that start with ../, but it does.

Aha, indeed. Thank you.

kostajh triaged this task as Medium priority.Mar 2 2023, 12:00 PM

Change 893694 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] Vue: Fix import paths for theme-wikimedia-ui.less

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

The fix should be deployed with the wmf.26 train (starting March 09 on Wikipedias). FYI @Trizek-WMF.

Checked in betalabs (and wmf.26) - works as expected:

Screen Shot 2023-03-03 at 9.43.00 AM.png (840×578 px, 69 KB)
Screen Shot 2023-03-03 at 9.43.27 AM.png (1×2 px, 353 KB)
Etonkovidova claimed this task.