Safari (iOS) shows blank pages on Discourse instances after beta 8 due to manually disable IntersectionObserver

The latest build (2.7.0.beta8 f002c58a30) shows a blank webpage on mobile devices with IOS on safari.

Can reproduce with Meta instance too.

Older build I have running still works.

EDIT: Solution here :grinning:

2 Likes

Can’t repro either meta or on my instance.

3 Likes

Strange

Rebooted and cleared cache etc.

iOS 14.4 - iPhone 12 Pro.
Same version and same issue on iPhone 11…

Hope we can get some more feedback here.

2 Likes

No repro here with an Xs on 14.5.1.

Do you have any content blockers enabled?

3 Likes

I have checked and they are all off.

I just updated to most recent iOS, same issue.

Will keep digging…

2 Likes

Cannot repro on:
iPhone 6s iOS 13.7
iPhone 7plus iOS 14.4.2
iPhone SE iOS 14.4.2

3 Likes

If you have multiple devices demonstrating the problem, then there may be an issue with the network path.

Does it happen on both wifi and cellular?

2 Likes

If I disable Javascript I get a really simple version of meta. When I turn it back on, the page reloads and shows blank.

I tried VPN. Cellular and wifi.

iP 11 Pro iOS 14.4
iP 12 Pro iOS 14.5.1

No issue on Chrome or brave browser.

Really hoping someone can reproduce.

I have one board on recent beta8. Not working (including meta)
Two boards running beta7. They are working.

I can update one from 7 to 8 and see if it stops working too…

1 Like

Can you try meta in safe mode? Does it work for you?

https://meta.discourse.org/safe-mode

2 Likes

The safe mode page is working, but when in safe-mode the same blank page shows.

Found this log popping when I hit refresh on any page in Safari.

ReferenceError: Can't find variable: IntersectionObserver
Url: https://domain.com/assets/ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js
Line: 26
Column: 28177
Window Location: https://domain.com/login
3 Likes

Hmm @blake / @pmusaraj i thought this was not an issue on iOS 14, should we revert this IE polyfill removal, looks like iOS still wants it sometimes

3 Likes

Caniuse shows that IntersectionObserver API was added to iOS 12.2 in March 2019.

If those were tested on iOS too, then it also proves it should work - all browsers on iOS use WebKit under the hood.

@MarcP, have you, by any chance, disabled IntersectionObserver in Settings > Safari > Advanced > Experimental Features? It should be enabled by default. (see Safari Technology Preview Release 71 notes)

11 Likes

Ah… Bingo! While testing and trying all these fixed, one if the forums somewhere suggested to disable all experimental features if a safari page slows blank. Well, the issue is fixed now.

Thanks again to this community for your quick thinking.

7 Likes

I just had a forum member with this problem. They had disabled the experimental features at some point, but didn’t know how or when… but this got them going again so thanks for this topic!

6 Likes