感谢 @Don,我也 100% 复现了。使用 BrowserStack 测试,这看起来是 Safari 17 之后的回归。我在 Ventura(Safari 16.5)上没有复现,但在 Sonoma(Safari 17.3)上可以复现。我已经将上述步骤和发现向上游 Webkit 报告,这将有助于他们追踪此问题。
太棒了,可复现的步骤!![]()
在我们的论坛(3.2.4)中也可以轻松复现。关键似乎是导航返回步骤,因为它会触发错误,无论初始页面或中间页面如何(我尝试了主题、分类、FAQ、徽章等)。
在 Webkit 调查此事的同时(我猜想修复程序要到达生产版本还需要一段时间),尝试确定 Discourse 中导致该错误在 Safari 中出现的特定更改,并在可能的情况下,如果简单且可行,是否可以有一个本地的解决方法?在我们的案例中,它是在我们最近从 3.1.5 更新到最新稳定版后才开始出现的。时间跨度很大,但也许可以先迭代查看 beta 版本,然后从那里开始?
PS:只是想补充一点,既然我现在可以重现它了,我尝试暂时禁用我们主网站上的 PWA,但似乎没有任何区别。所以……这与多 PWA 无关。
我在 Chrome 上也试了一下,发现了一个非常奇怪的现象。如果我理解正确的话,这应该只发生在 Safari 上?我本来是这么想的,但也许我错了。因为我在 iPad 的 Chrome 浏览器上也能重现这个问题。所以问题似乎出在操作系统上?在 Mac OS 的 Chrome 上也会这样吗?
或者这只是因为 WebKit 的问题,所以 Chrome 在 iOS 和 iPadOS 上也受到了影响?
我的理解是,苹果不允许在 iOS/iPadOS 上使用第三方浏览器,因此 Chrome/Firefox 等实际上只是一个特殊的图形用户界面,它们在后台都使用 Webkit 来渲染页面。
由于问题出在 Webkit 上,因此在 iOS/iPadOS 上运行的任何浏览器都会受到影响。
是的,就是这样
不过,这正在改变 Using alternative browser engines in the European Union - Support - Apple Developer
感谢您对此事的提醒 @mentalstring,经过二分法排查,我认为很可能的原因是:DEV: Change default of `cross_origin_opener_policy_header` (#24940) · discourse/discourse@38abc0d · GitHub
通过在我们的一台实例中运行 SiteSetting.cross_origin_opener_policy_header = 'unsafe-none' 在 Rails 控制台中,或者将此添加到您的 ENV 中:
DISCOURSE_CROSS_ORIGIN_OPENER_POLICY="unsafe-none"
可以修复此问题。该站点设置是一项安全加固措施,我们正在评估更新核心的利弊,但如果您(以及关注此问题的其他人)能在您的端进行尝试,那将非常棒,这将使我们更有信心认为这确实是 Discourse 中的根本性更改。
啊,找到了! ![]()
我可以确认将 COOP 设置为 'unsafe-none' 确实阻止了该 bug 在我们的 3.2.4 实例上出现。切换回 same-origin-allow-popups 会立即将其带回来。
很高兴能有一些临时的解决方法。与此同时,我想这可能是报告给 Webkit 团队的有用信息,因为它指出了触发它的特定内容。
附注:感谢您对此事的关注,也很抱歉打扰您——我只是在摸索着试图帮助我们的社区。 ![]()
Just to prevent others from missing it too, this bit should be:
DISCOURSE_CROSS_ORIGIN_OPENER_POLICY_HEADER: unsafe-none
各位,这里有一个后续更新:几周前,一位 WebKit 开发者合并了一个针对此问题的修复程序。我尝试使用夜间构建的 WebKit 版本进行测试,但不幸的是,我仍然可以重现该问题。不过,可能是我操作有误。将等待下一个 Safari Technology Preview 版本(应该很快发布)进行再次测试,希望它确实得到了修复。(WebKit 错误报告在此处。)
遗憾的是,在 Sequoia 的最新 Safari 版本中此问题仍未修复。我已重新打开上面链接的上游 Webkit 错误报告。
好消息,上游有一个修复程序,并且它在我的机器上使用 WebKit build archives 进行了测试。还需要几周时间才能首先应用到 Safari Technology Preview,然后再应用到通用 Safari。
你测试过它吗?
是的,确实如此。
这似乎终于被包含在 Safari Technology Preview, Release 209 (Safari 18.2, WebKit 20621.1.6) 中了。
希望在此主题中能得到其他用户的确认,然后再关闭。提前感谢!
我在 Release 210 中尝试了一下,可以确认在我们的论坛(稳定版)上使用 Safari TP 时此问题不再发生,但使用当前 Safari 时仍然发生。![]()
有什么线索知道这需要多长时间才能进入 Safari 主线吗?
我猜它将在下一个 Safari 版本中发布,可能在几周内。感谢测试!
看起来这确实在Safari 18.3中修复了!
此主题已自动关闭,超过 3 天。不再允许回复。