Page MenuHomePhabricator

Section collapsing in Parsoid version not resilient in case of slow connections
Closed, ResolvedPublic3 Estimated Story PointsBUG REPORT

Description

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

What happens?:
It doesn't open. The page is unreadable

What should have happened instead?:
The sections should open.

The old legacy parser achieves this by a function MakeSectionsTransform::interimTogglingSupport.
For Parsoid add something like the following inline script:

window.mfTempClickHandler = document.addEventListener('click', ( ev ) => {
	const heading = ev.target.closest( '.mw-heading');
    heading.nextSibling.classList.add('mf-collapsible-content')
});

... and remove it inside src/mobile.init/toggling.js like so:

			document.removeEventListener( 'click', window.mfTempClickHandler );

Software version (on Special:Version page; skip for WMF-hosted wikis like Wikipedia):

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

Event Timeline

egardner lowered the priority of this task from High to Medium.Feb 4 2026, 6:16 PM
egardner set the point value for this task to 3.

Change #1240789 had a related patch set uploaded (by Bvibber; author: Bvibber):

[mediawiki/extensions/MobileFrontend@master] WIP fix for temp section open during slow loads on Parsoid

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

Change #1240789 merged by jenkins-bot:

[mediawiki/extensions/MobileFrontend@master] Fix for temp section open during slow loads on Parsoid

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

Checked on enwiki beta - the issue is fixed; howver it'd be better to check on prod, wmf.18since the prod env and articles are different.

Below is the gif from emwiki wmf.17 - the fix is NOT there yet, The gif illustrates the issue:

In the gif: throttling 3G, useparsoid=1 - https://en.wikipedia.org/wiki/Alps/usepaarsoid=1

collapsing section_parsoid1 4.gif (372×693 px, 32 KB)

Good articles to check


✅ checked on wmf.18 - works as exepected even with 2G.

Change #1250639 had a related patch set uploaded (by Bvibber; author: Bvibber):

[mediawiki/extensions/MobileFrontend@master] Revert "Fix for temp section open during slow loads on Parsoid"

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

Change #1250639 merged by jenkins-bot:

[mediawiki/extensions/MobileFrontend@master] Revert "Fix for temp section open during slow loads on Parsoid"

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

Change #1250647 had a related patch set uploaded (by Bvibber; author: Bvibber):

[mediawiki/extensions/MobileFrontend@wmf/1.46.0-wmf.18] Revert "Fix for temp section open during slow loads on Parsoid"

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

Change #1250648 had a related patch set uploaded (by Bvibber; author: Bvibber):

[mediawiki/extensions/MobileFrontend@wmf/1.46.0-wmf.19] Revert "Fix for temp section open during slow loads on Parsoid"

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

Change #1250647 merged by jenkins-bot:

[mediawiki/extensions/MobileFrontend@wmf/1.46.0-wmf.18] Revert "Fix for temp section open during slow loads on Parsoid"

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

Change #1250648 merged by jenkins-bot:

[mediawiki/extensions/MobileFrontend@wmf/1.46.0-wmf.19] Revert "Fix for temp section open during slow loads on Parsoid"

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

Mentioned in SAL (#wikimedia-operations) [2026-03-11T20:10:19Z] <bvibber@deploy2002> Started scap sync-world: Backport for [[gerrit:1250647|Revert "Fix for temp section open during slow loads on Parsoid" (T416063 T419170 T419721)]], [[gerrit:1250648|Revert "Fix for temp section open during slow loads on Parsoid" (T416063 T419170 T419721)]]

Mentioned in SAL (#wikimedia-operations) [2026-03-11T20:12:29Z] <bvibber@deploy2002> bvibber: Backport for [[gerrit:1250647|Revert "Fix for temp section open during slow loads on Parsoid" (T416063 T419170 T419721)]], [[gerrit:1250648|Revert "Fix for temp section open during slow loads on Parsoid" (T416063 T419170 T419721)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

Mentioned in SAL (#wikimedia-operations) [2026-03-11T20:17:06Z] <bvibber@deploy2002> Finished scap sync-world: Backport for [[gerrit:1250647|Revert "Fix for temp section open during slow loads on Parsoid" (T416063 T419170 T419721)]], [[gerrit:1250648|Revert "Fix for temp section open during slow loads on Parsoid" (T416063 T419170 T419721)]] (duration: 06m 47s)

Change #1251120 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/extensions/MobileFrontend@master] Fix for temp section open during slow loads on Parsoid

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

Change #1251546 had a related patch set uploaded (by Bvibber; author: Bvibber):

[mediawiki/extensions/MobileFrontend@master] WIP Reworked fix for temp section open during slow loads on Parsoid

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

Change #1251120 abandoned by Jdlrobson:

[mediawiki/extensions/MobileFrontend@master] Fix for temp section open during slow loads on Parsoid

Reason:

Moving to https://gerrit.wikimedia.org/r/c/mediawiki/extensions/MobileFrontend/+/1251546

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

Updated & simplified patch on is deliberately more resilient to errors:

  • uses ES5 syntax so won't break even on super old browsers
  • checks everything for nulls
  • simplified by dropping the icon setup and just doing the click handler with a raw expansion
  • doesn't explode when a page contains <h1>s, which become the section markers

Additionally the inline JS payloads for both legacy and parsoid modes have been broken out of HEREDOC strings and into .js files under resources/inline/ so they can be edited with syntax highlighting and linting. The existing linter setup in the pre-commit hook will prevent commits with linter errors in these scripts from passing now.

https://gerrit.wikimedia.org/r/c/mediawiki/extensions/MobileFrontend/+/1251546

Change #1251546 merged by jenkins-bot:

[mediawiki/extensions/MobileFrontend@master] Reworked fix for temp section open during slow loads on Parsoid

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

I'll check logstash tomorrow carefully (and test on browser stack) to ensure we don't have the same production errors as last time.

I will confirm fix and resolve this tomorrow. Looking good so far.