I recently updated my Discourse, specifically from 3.3.0beta1+645 to 3.3.0beta1+699 (displayed as 3.3.0beta2-dev in the Discourse admin panel).
However, after the update, I found that iOS Safari can no longer successfully open the Discourse forum. Specifically, it gets stuck on a page with five flashing circles saying “loading…” and cannot enter the site.
I am certain this is not a network issue on my end because Windows Chrome on the same local network can load it normally.
Also, I am confident it’s not an issue with my Discourse site because my iPhone also cannot access this site (meta.discourse.org), similarly getting stuck on this loading page.
I tried toggling almost all switches in iOS settings-Safari-Advanced-Experimental Features (except for Experimental network loader, as it completely prevents Discourse from opening. Some switches with “disabled” or “block” in their names were also not toggled), but the website still cannot be accessed properly.
I suspect that some features introduced between +645 and +699 are not supported by iOS 15.8 Safari.
The user-agent for iPhone is as follows:
Mozilla/5.0 (iPhone; CPU iPhone OS 15_8 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/124.0.6367.111 Mobile/15E148 Safari/604.1
I remember it was mentioned on the Discourse compatibility page that Discourse will be compatible with iOS 15.7 Safari. Is Discourse still planning to adhere to this agreement? Or will iOS 15 no longer be supported?
This is also the situation we’ve just experienced on Chrome Version 124.0.6367.119 on macOS Sonoma 14.4.
I see the following errors in the console. Perhaps a problem with how the JS is attempting to behave. Let me know if you need more information.
Uncaught ReferenceError: dt7948 is not defined
at 74476 (load-more.js:7:38)
at __webpack_require__ (bootstrap:19:1)
at 30920 (topic-list-item.js:389:3)
at __webpack_require__ (bootstrap:19:1)
at s.callback (discourse.js:976:50)
at s.exports (loader.js:106:1)
at requireModule (loader.js:27:1)
at header_1.js:2:28
Uncaught (in promise) ReferenceError: Cannot access 'components_topic_list' before initialization
at Module.default (topic-list-item.js:389:3)
at Resolver._extractDefaultExport (index.js:541:25)
at Resolver.resolveOther (index.js:163:32)
at Resolver.resolve (index.js:199:23)
at index.js:742:1
at f.resolve (index.js:523:1)
at f.resolve (index.js:525:1)
at o (index.js:237:1)
at i.factoryFor (index.js:184:1)
at PluginApi._resolveClass (plugin-api.js:162:39)
at PluginApi.modifyClass (plugin-api.js:189:29)
at disable-sort.js:12:1
at withPluginApi (plugin-api.js:2612:16)
at Object.initialize (disable-sort.js:11:1)
at initializer.initialize (app.js:209:28)
at index.js:145:1
at e.each (dag-map.js:191:1)
at e.walk (dag-map.js:120:1)
at e.each (dag-map.js:66:1)
at e.topsort (dag-map.js:72:1)
at e._runInitializer (index.js:158:1)
at e.runInstanceInitializers (index.js:143:1)
at u._bootSync (instance.js:86:1)
at e.didBecomeReady (index.js:602:1)
at invoke (backburner.js.js:280:1)
at h.flush (backburner.js.js:197:1)
at p.flush (backburner.js.js:358:1)
at B._end (backburner.js.js:798:1)
at B._boundAutorunEnd (backburner.js.js:523:1)
@tumbleweed thanks for the report. Strangely, it seems to start working as soon as the browser development tools are opened. We did not intentionally drop iOS 15 support, so will get this fixed ASAP