Who's Online 插件与 Discourse 2.3.10 不兼容

嗯,我在收到新版本警报后今天重新构建了。

https://www.mcrides.co.nz/

呃……只是一个普通的白屏?

Uncaught TypeError: Cannot read property ‘trigger’ of undefined
at t.init (_plugin-third-party-cb09db834c49b1fa6dc58b470cffc55ebb62fb2a157688165cb211f1343ce435.js:3872)
at h (_ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:38572)
at Function.e.create (_ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:39100)
at e.t.create (_ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:11490)
at _ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:11294
at h (_ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:11226)
at e.t.lookup (_ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:11070)
at Object.initialize (_plugin-third-party-cb09db834c49b1fa6dc58b470cffc55ebb62fb2a157688165cb211f1343ce435.js:3959)
at Object.n.initialize (_application-4bbf4bf6518f7480549c54813a7fe09233841e43c49675ffe7fbda7ac187d247.js:8532)
at _ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:45916

您正在运行哪些插件?

以防万一,再次进行重建

hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone GitHub - discourse/docker_manager: Plugin for use with discourse docker image · GitHub
- git clone GitHub - discourse/discourse-whos-online: A plugin for Discourse which uses the messagebus to display a live list of active users · GitHub
- git clone GitHub - discourse/discourse-spoiler-alert: A plugin for discourse to hide spoilers behind the spoiler-alert jQuery plugin · GitHub
- git clone GitHub - discourse/discourse-cakeday: Show a birthday cake emoji beside the names of members on their join anniversary, or their actual birthday -- and a browsable directory of upcoming anniversaries / birthdays. · GitHub
- git clone GitHub - angusmcleod/discourse-events: Allows you to manage events in Discourse · GitHub
- git clone GitHub - discourse/discourse-tooltips: Show tooltips around Discourse on hover, including topic previews · GitHub
- git clone https://github.com/communiteq/discourse-sitemap.git

看起来是一个第三方插件导致页面出错。由于您正在重建,无法诊断具体是哪一个插件。

我也是这么想的。
我已经完成重建了。

我该如何诊断是哪个插件导致了这个问题?(除了禁用所有插件之外)

我猜应该是活动或在线用户

好的,开始逐个禁用的方法:confused

这似乎是由于这个拉取请求导致的:

这是第 99999 个证据,证明默认以测试通过状态发布并运行旧分支会导致插件兼容性降低。

您可能需要将插件锁定到较旧的提交版本。

是的,在线用户显示功能出问题了

“谁在线”功能在稳定分支上的站点中已损坏。该插件依赖的代码尚未包含在稳定分支的 Discourse 中,因此无法在这些站点上正常工作。正如 Falco 所分享的,如果你运行的是 tests-passed 版本,应该没有问题。

插件或所有插件不应该有一个稳定分支吗?
在出问题的情况下还称之为“稳定”,似乎有点愚蠢……

插件在昨天的旧版本上还能正常工作…… :confused:

stable1
/ˈsteɪb(ə)l/

形容词

  1. (指物体或结构)不易倒塌或翻倒;牢固固定。

我们从未承诺过稳定分支完全没有错误。它的“稳定”在于它不会频繁变更。稳定分支每 4 个多月发布一次,期间仅提供小型安全更新和关键错误修复。插件的更新频率要高得多,并紧跟测试通过的版本。

我们之前讨论过这个问题,目前暂无正式计划。正如 Falco 已经建议的那样,如果你选择像之前那样修改默认的跟踪分支,那么你也可能需要修改插件的安装方式,以锁定特定的提交版本。