[Zotero 扩展+] Firefox v116 在 macOS 上破坏 Discourse?

今天早上我将我的 Firefox 版本升级到了 macOS 上的 116.0.3 (64 位)。现在,我活跃的所有 Discourse 安装(20 多个系统)在使用 New、Unread 或 Unseen 中的 G-J 快捷方式时都会卡住。进度条开始显示,然后在 75% 或 80% 的地方停滞不前,从未完成。无论我的广告拦截器(Ghostery 和 uBlock Origin)是否处于活动状态,进度条都永远不会完成,帖子也不会出现。

在 iOS 上使用 Discourse Hub 应用程序可以正常工作,我在 macOS 上使用(已更新的)Firefox 访问的所有其他网站也可以正常工作。问题仅出现在 Discourse 网站上,包括这里的 Meta。

如果我右键单击 New、Unread 和 Unseen 列表并选择在新标签页中打开,则帖子会显示,但这很麻烦,因为一些 Discourse 社区非常活跃,每天都有 20 多个新帖子或未读帖子。

116.0.3 版本不再支持的另一项功能是编辑内容后重新显示帖子。必须显式重新加载才能再次显示。

你好 glimfeather!

我在 MacOS Ventura 13.5 上尝试了 Firefox 116.0.3,但无法重现你的问题。

我在 Firefox 中也看到了 Discourse 网站上的各种故障行为。我使用的是 macOS 13.5 上的 Firefox Nightly (2023-08-21)。

大多数依赖页面内脚本的“活动”功能对我来说似乎都会静默失败,包括:

  • 点击右上角的头像打开用户菜单
  • 点击帖子标题跳转到某些帖子
  • 加载长帖中的其他帖子
  • 发表回复(回复确实发送了,但我必须手动刷新页面才能看到它们)

正如 @glimfeather 所提到的,我可以勉强通过在新标签页中强制加载来加载帖子,以查看初始帖子,但仍有许多其他功能存在问题。

我今天才开始注意到这一点,所以我认为这是 Discourse 最近的一项更改,在过去几天中已在托管网站上上线。

当我滚动到长帖的底部时(例如 https://meta.discourse.org/t/install-the-discourse-theme-cli-console-app-to-help-you-build-themes/82950),我可以看到浏览器的开发者控制台中充满了许多错误,例如:

Uncaught TypeError: can't access property "lastNode", this.last is null
    lastNode runtime.js:916
    lastNode runtime.js:4347
    lastNode runtime.js:1008
    evaluate runtime.js:4424
    _execute runtime.js:4306
    execute runtime.js:4291
    rerender runtime.js:4606
    Ember 2
    It runtime.js:4139
    Ember 3
    invoke queue.ts:201
    flush queue.ts:98
    flush deferred-action-queues.ts:75
    _end index.ts:616
    end index.ts:298
    _run index.ts:667
    _join index.ts:640
    join index.ts:362
    Ember 2
    start screen-track.js:52
    setupController topic.js:289
    setup Ember
    s router_js.js:1514
    routeEnteredOrUpdated router_js.js:1524
    setupContexts router_js.js:1470
    finalizeTransition router_js.js:1378
    promise router_js.js:1321
    y rsvp.js:435
    v rsvp.js:421
    invoke queue.ts:203
    flush queue.ts:98
    flush deferred-action-queues.ts:75
    _end index.ts:616
    _boundAutorunEnd index.ts:257
    promise callback*n/
    flush Ember
    _scheduleAutorun index.ts:803
    _ensureInstance index.ts:791
    schedule index.ts:384
    Ember 6
    
    
    

@glimfeather,你是否使用 Zotero?

我注意到 Discourse 网站上的这些问题在隐私窗口中没有出现,所以我开始怀疑是扩展程序的问题。在排查之后,对我来说,Zotero Connector 扩展似乎是罪魁祸首。

这个 Zotero 论坛帖子 证实了他们最近出现了一个导致各种网站出错的问题。

我通过以下步骤解决了问题:

  1. 在 Firefox 中禁用 Zotero Connector 扩展
  2. 重启 Zotero 桌面应用程序
  3. 重新启用连接器扩展
  4. 刷新任何已加载的 Discourse 标签页

是的,只要安装了 Firefox 插件。我没有运行 Zotero 本身。顺便说一句,如果有一种更好的方法可以将亚马逊图书列表中的书目数据提取到 BibDesk 中,那么我很乐意删除 Zotero,尤其是 Zotero 经常会破坏其将数据传递给 BibDesk 的插件。

目前我认为这不值得修改主题行。保持原样。

如果您在 Firefox 中禁用 Zotero 附加组件,您在 Discourse 网站上遇到的问题是否会消失?

  • Zotero 团队已确认这是他们的责任,并正在发布修复程序。

  • 我们的团队在没有此修复程序的情况下无法重现此问题。

  • @jryans 分享说,删除扩展程序可以解决此问题。

我们在此无事可做。

那么这一点应该在修改主题行之前就说清楚。

而且,虽然 Zotero 承认他们造成了问题,但其他浏览器插件也可能导致同样的问题。主题行中包含 Zotero 的信息过于具体。

更好的修改方式是:“Firefox 中的浏览器插件(包括 Zotero)(在更新后(例如 v116))可能会破坏 Discourse”。