Page MenuHomePhabricator

UI Regression: Personal tools menu is appearing unstyled for anonymous users on cached HTML
Closed, ResolvedPublicPRODUCTION ERROR

Description

NOTE: this error is fixed by action=purge

The personal tools menu is appeared unstyled for anonymous users in wmf.13 because new CSS is being shipped with old HTML and the new CSS is not compatible.

We should halt further roll out of this branch until addressed.

Observed:

Screen Shot 2020-10-14 at 1.37.35 PM.png (1×2 px, 409 KB)

Dump of the HTML which wasn't styled correctly:

<nav id="p-personal" class="vector-menu" aria-labelledby="p-personal-label" role="navigation">
	<h3 id="p-personal-label">
		<span>Personal tools</span>
	</h3>
	<!-- Please do not use the .body class, it is deprecated. -->
	<div class="body vector-menu-content">
		<!-- Please do not use the .menu class, it is deprecated. -->
		<ul class="vector-menu-content-list"><li id="pt-uls" class="active" style="display: none;"><a href="#" class="uls-trigger">English</a></li><li id="pt-anonuserpage">Not logged in</li><li id="pt-anontalk"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [ctrl-option-n]" accesskey="n">Talk</a></li><li id="pt-anoncontribs"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [ctrl-option-y]" accesskey="y">Contributions</a></li><li id="pt-createaccount"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=Commons%3ACommunity+portal" title="You are encouraged to create an account and log in; however, it is not mandatory">Create account</a></li><li id="pt-login"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=Commons%3ACommunity+portal" title="You are encouraged to log in; however, it is not mandatory [ctrl-option-o]" accesskey="o">Log in</a></li></ul>
		
	</div>
</nav>
`

Event Timeline

Jdlrobson triaged this task as Unbreak Now! priority.Oct 14 2020, 8:40 PM
Jdlrobson created this task.

This was causing breakage on all the group1 wikis, so Dan rolled back the deployment. I imagine you may need to do a 2-step change to the CSS in order to accommodate server-cached HTML.

Change 634082 had a related patch set uploaded (by Jdlrobson; owner: Jdlrobson):
[mediawiki/skins/Vector@master] Stylesheet needs to be compatible with cached HTML

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

Change 634086 had a related patch set uploaded (by Jdlrobson; owner: Jdlrobson):
[mediawiki/skins/Vector@wmf/1.36.0-wmf.13] Stylesheet needs to be compatible with cached HTML

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

Change 634082 abandoned by Jdlrobson:
[mediawiki/skins/Vector@master] Stylesheet needs to be compatible with cached HTML

Reason:
Only needed for wmf13

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

It seems we wrote this code under the assumption of a standard train and a week between deployments. Since that's not the case the above patch is needed temporarily for wmf13. By the time wmf14 rolls out cached HTML should not be a problem so I've limited the fix to that branch.

Change 634086 merged by jenkins-bot:
[mediawiki/skins/Vector@wmf/1.36.0-wmf.13] Stylesheet needs to be compatible with cached HTML

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

Mentioned in SAL (#wikimedia-operations) [2020-10-14T21:33:48Z] <thcipriani@deploy1001> Synchronized php-1.36.0-wmf.13/skins/Vector/resources/skins.vector.styles/Menu.less: BACON: [[gerrit:634086|Stylesheet needs to be compatible with cached HTML]] T265543 (duration: 01m 07s)

Jdlrobson claimed this task.

It seems we wrote this code under the assumption of a standard train and a week between deployments. Since that's not the case the above patch is needed temporarily for wmf13. By the time wmf14 rolls out cached HTML should not be a problem so I've limited the fix to that branch.

The ParserCache old HTML stays around for 30 days. This will break again next week.

I don't think so, but maybe you know something I don't ? My understanding is this is not parser cache. This is varnish caching for which T124954 suggests TTL is 1 day T124954#3703453 and usually what we assume.

I don't think so, but maybe you know something I don't ? My understanding is this is not parser cache. This is varnish caching for which T124954 suggests TTL is 1 day T124954#3703453 and usually what we assume.

If it's edge cache and not PC, you're right. Ignore my comment then. Thanks.