Discourse 网站在 Safari iOS 15.8.2 上无法打开

我最近更新了我的 Discourse,具体是从 3.3.0beta1+645 更新到 3.3.0beta1+699(在 Discourse 管理面板中显示为 3.3.0beta2-dev)。

然而,更新后,我发现 iOS Safari 无法成功打开 Discourse 论坛。具体来说,它会卡在一个有五个闪烁圆圈并显示“loading…”的页面上,无法进入网站。

我确信这不是我这边的网络问题,因为同一本地网络上的 Windows Chrome 可以正常加载。
此外,我确信这不是我的 Discourse 站点的问题,因为我的 iPhone 也无法访问此站点(meta.discourse.org),同样卡在这个加载页面上。

我尝试切换 iOS 设置-Safari-高级-实验性功能中的几乎所有开关(除了实验性网络加载器,因为它会完全阻止 Discourse 打开。一些名称中带有“禁用”或“阻止”的开关也没有切换),但网站仍然无法正常访问。

我怀疑在 +645 和 +699 之间引入的某些功能不受 iOS 15.8 Safari 支持。

iPhone 的用户代理如下:
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

我记得 Discourse 兼容性页面提到 Discourse 将与 iOS 15.7 Safari 兼容。Discourse 仍然计划遵守此协议吗?还是将不再支持 iOS 15?

2 个赞

网站加载页面:
(有时五个点甚至不会出现在正确的位置。)

Safari 实验性 WebKit 设置:

2 个赞

感谢您提出问题,@tumbleweed

我们刚刚在 macOS Sonoma 14.4 上的 Chrome 版本 124.0.6367.119 中也遇到了同样的情况。

我在控制台中看到了以下错误。也许是 JS 尝试行为方式的问题。如果您需要更多信息,请告诉我。

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)

您尝试过安全模式吗?

1 个赞

@simon_tomes 我为你的主题提交了一个 PR,它将修复此问题:FIX: Update topic-list-item override by davidtaylorhq · Pull Request #1 · ministryoftesting/mot-graceful · GitHub

@tumbleweed 感谢你的报告。奇怪的是,它似乎在浏览器开发工具打开后就开始工作了。我们并没有故意放弃对 iOS 15 的支持,所以会尽快修复 :eyes:

7 个赞

我们已撤销此更改,同时我们将调查 Cloudflare 和 Safari 15 的问题。

@tumbleweed 如果您将站点更新到最新版本的 Discourse,Safari 15 应该可以再次正常工作。

很抱歉造成了此次中断!

8 个赞

感谢回复!

我已经更新了我的网站,现在 Safari 运行良好!

3 个赞

此主题已在 2 天后自动关闭。不再允许回复。