Page MenuHomePhabricator

Regression: Notifications, Special:MobileOptions broken!
Closed, ResolvedPublic2 Estimated Story Points

Description

T140804 removed support for global LESS variables.
Unfortunately it seems there were some usages in Minerva inside gallery (Special:Uploads), notifications overlay and Special:MobileOptions which were not picked up by CI (why!?)

This causes broken styling on Special:MobileOptions and notifications on mobile is inaccessible

Screen Shot 2018-08-15 at 12.00.39 PM.png (632×1 px, 76 KB)

Picked up by unit tests on Minerva post merge of T140804
Now blocking all activity inside Minerva.

QA steps

Use beta cluster - verify that notifications is accessible and settings matches https://en.wikipedia.org/wiki/Special:MobileOptions

2:54:54 Time: 3.26 minutes, Memory: 342.97MB
12:54:54 
12:54:54 There were 3 errors:
12:54:54 
12:54:54 1) /workspace/src/skins/MinervaNeue/skinStyles/mediawiki.page.gallery.styles/tablet.less in the "mediawiki.page.gallery.styles" module
12:54:54 Less_Exception_Compiler: variable @deviceWidthTablet is undefined in file /workspace/src/skins/MinervaNeue/skinStyles/mediawiki.page.gallery.styles/tablet.less in tablet.less on line 5, column 29
12:54:54 3| 
12:54:54 4| // Hacks to render galleries and multicol tables better on mobile
12:54:54 5| @media all and ( max-width: @deviceWidthTablet ) {
12:54:54 6| 
12:54:54 7| 	// Center images that might be less than the screen width.
12:54:54 8| 	// Image will appear centered and caption will take up full screen.
12:54:54 
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Variable.php:49
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Expression.php:52
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Value.php:27
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Rule.php:75
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Paren.php:32
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Expression.php:42
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Value.php:27
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Media.php:57
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php:94
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Parser.php:199
12:54:54 /workspace/src/includes/resourceloader/ResourceLoaderFileModule.php:982
12:54:54 /workspace/src/tests/phpunit/LessFileCompilationTest.php:46
12:54:54 /workspace/src/tests/phpunit/MediaWikiTestCase.php:475
12:54:54 /workspace/src/maintenance/doMaintenance.php:94
12:54:54 
12:54:54 2) /workspace/src/skins/MinervaNeue/skinStyles/mobile.special.mobileoptions.styles/minerva.less in the "mobile.special.mobileoptions.styles" module
12:54:54 Less_Exception_Compiler: variable @deviceWidthTablet is undefined in file /workspace/src/skins/MinervaNeue/skinStyles/mobile.special.mobileoptions.styles/minerva.less in minerva.less on line 3, column 29
12:54:54 1| @import '../../minerva.less/minerva.variables';
12:54:54 2| 
12:54:54 3| @media all and ( min-width: @deviceWidthTablet ) {
12:54:54 4| 	.ns-special .pre-content {
12:54:54 5| 		background: #fff;
12:54:54 6| 
12:54:54 
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Variable.php:49
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Expression.php:52
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Value.php:27
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Rule.php:75
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Paren.php:32
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Expression.php:42
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Value.php:27
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Media.php:57
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php:94
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Parser.php:199
12:54:54 /workspace/src/includes/resourceloader/ResourceLoaderFileModule.php:982
12:54:54 /workspace/src/tests/phpunit/LessFileCompilationTest.php:46
12:54:54 /workspace/src/tests/phpunit/MediaWikiTestCase.php:475
12:54:54 /workspace/src/maintenance/doMaintenance.php:94
12:54:54 
12:54:54 3) /workspace/src/skins/MinervaNeue/skinStyles/mobile.notifications.overlay/minerva.less in the "mobile.notifications.overlay" module
12:54:54 Less_Exception_Compiler: variable @deviceWidthTablet is undefined in file /workspace/src/skins/MinervaNeue/skinStyles/mobile.notifications.overlay/minerva.less in minerva.less on line 12, column 29
12:54:54 10| }
12:54:54 11| 
12:54:54 12| @media all and ( min-width: @deviceWidthTablet ) {
12:54:54 13| 	.notifications-overlay {
12:54:54 14| 		.mw-echo-notification {
12:54:54 15| 			padding: 1.75em @contentPaddingTablet;
12:54:54 
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Variable.php:49
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Expression.php:52
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Value.php:27
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Rule.php:75
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Paren.php:32
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Expression.php:42
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Value.php:27
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Media.php:57
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php:94
12:54:54 /workspace/src/vendor/oyejorge/less.php/lib/Less/Parser.php:199
12:54:54 /workspace/src/includes/resourceloader/ResourceLoaderFileModule.php:982
12:54:54 /workspace/src/tests/phpunit/LessFileCompilationTest.php:46
12:54:54 /workspace/src/tests/phpunit/MediaWikiTestCase.php:475
12:54:54 /workspace/src/maintenance/doMaintenance.php:94
12:54:54 
12:54:54 FAILURES!
12:54:54 Tests: 6246, Assertions: 34839, Errors: 3, Skipped: 6.

Event Timeline

Jdlrobson triaged this task as Unbreak Now! priority.Aug 15 2018, 7:00 PM

Change 452983 had a related patch set uploaded (by Jdlrobson; owner: Jdlrobson):
[mediawiki/skins/MinervaNeue@master] Fix LESS error, restore notifications and settings

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

Change 452983 merged by jenkins-bot:
[mediawiki/skins/MinervaNeue@master] Fix LESS error, restore notifications and settings

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

Jdlrobson lowered the priority of this task from Unbreak Now! to High.
Jdlrobson added a project: Product-QA.
Jdlrobson updated the task description. (Show Details)
Jdlrobson set the point value for this task to 2.

Change 453139 had a related patch set uploaded (by Niedzielski; owner: Stephen Niedzielski):
[mediawiki/extensions/RelatedArticles@master] Fix: replace deviceTabletWidth w/ width-breakpoint-tablet in LESS

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

Change 453141 had a related patch set uploaded (by Niedzielski; owner: Stephen Niedzielski):
[mediawiki/extensions/QuickSurveys@master] Fix: replace deviceTabletWidth w/ width-breakpoint-tablet in LESS

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

Change 453141 merged by Jdlrobson:
[mediawiki/extensions/QuickSurveys@master] Fix: replace deviceTabletWidth w/ width-breakpoint-tablet in LESS

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

Change 453139 merged by jenkins-bot:
[mediawiki/extensions/RelatedArticles@master] Fix: replace deviceTabletWidth w/ width-breakpoint-tablet in LESS

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

ovasileva subscribed.

Beta cluster:

Screen Shot 2018-08-22 at 1.32.36 PM.png (763×396 px, 60 KB)

Production:
Screen Shot 2018-08-22 at 1.32.24 PM.png (771×521 px, 67 KB)

both working as expected. Checked firefox as well. Moving to signoff.

phuedx claimed this task.
phuedx added subscribers: Ryasmeen, phuedx.

I tested this on the BC briefly and saw:

Screen Shot 2018-08-22 at 16.06.26.png (103×901 px, 40 KB)

i.e. no error in processing the LESS files while delivering assets to the client.

Being bold 🎉🎉🎉