Page MenuHomePhabricator

Collapsed ToC breaks view on Safari 13 and older
Closed, ResolvedPublicBUG REPORT

Description

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

  • Run the website on an older version of Safari like iOS 13.7 (Safari 13.1)
  • These Safari 12 and Safari 13 versions are still pretty common on slightly older ipads and iphone devices.
  • Collapse the ToC menu

What happens?:

  • Table of contents remains visible. specifically, it seems that the menu has not switched between the headers

Screenshot 2023-01-22 at 17.06.35.png (822×760 px, 326 KB)

What should have happened instead?:
The menu should have been hidden and should have switched

Possible cause/related issue, there is this warning in the console.

jQuery.Deferred exception: pinnableBreakpoint.addEventListener is not a function. (In 'pinnableBreakpoint.addEventListener( 'change', disablePinningAtBreakpoint.bind( null, header ) )', 'pinnableBreakpoint.addEventListener' is undefined) (2)

Seems like MediaQueryList on older safari doesn't support addEventlistener (it does support the deprecated addListener)

Software version (skip for WMF-hosted wikis like Wikipedia):

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

QA Results - Prod

ACStatusDetails
1T327602#8586859

Event Timeline

Confirmed. I inspected into bindPinnableToggleButtons, then set pinnableBreakpoint.addEventListener = function(){}; and pinnableBreakpoint.addListener( disablePinningAtBreakpoint.bind(null, header) ); via the console. The bindPinnableToggleButtons then completed successfully and the menu was hidden.

Change 882229 had a related patch set uploaded (by TheDJ; author: TheDJ):

[mediawiki/skins/Vector@master] DI: Make pinnable elements work on Safari 13 and earlier

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

Change 882229 merged by jenkins-bot:

[mediawiki/skins/Vector@master] DI: Make pinnable elements work on Safari 13 and earlier

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

Jdlrobson subscribed.

This can now be QAed / design reviewed in production.

Edtadros subscribed.

Test Result - Prod

Status: ✅ PASS
Environment: enwiki
OS: iOS v13.2
Browser: Safari 13
Device: iPhone 11 Pro Max
Emulated Device: NA

Test Artifact(s):

QA Steps

Run the website on an older version of Safari like iOS 13.7 (Safari 13.1)
These Safari 12 and Safari 13 versions are still pretty common on slightly older ipads and iphone devices.
Collapse the ToC menu
✅ AC1: The menu should have been hidden and should have switched

Screen Recording 2023-02-03 at 6.08.40 PM.mov.gif (1×558 px, 580 KB)

Edtadros updated the task description. (Show Details)