[管理员通知] 您的某个主题或插件包含需要更新的代码。(ID:discourse.user.userOptions)

好的,我今天遇到了一个奇怪的问题,可能与最近升级到 2026.5.0-latest 有关。我是两位站点管理员之一。今天早上我回复了一个话题,但关于新回复的通知邮件只发给了另一位管理员。我将另一位管理员降级为普通用户并再次回复,结果仍然只有同一个人收到了通知邮件。我检查了所有用户,发现他们的设置都相同,都在关注该分类及许多其他分类。Discourse 的设置已经好几个月没有更改过了。

顺便提一下,几天前我曾尝试在 app.yml 中添加 Cloudflare 模板并重新构建,但当时遇到了一些问题,于是我又移除了该模板并再次重新构建,那也是在几天前。

所以今天早上,在看到管理员通知后,我从 GUI 的管理员部分更新了 Discourse,标题中的警告似乎消失了,尽管我有点记不清是在哪里看到那个警告的。我不确定如何确保该问题已彻底解决。

随后,一位普通用户登录并发布了两条回复到另外两个分类的话题中,结果所有用户都收到了这两封通知邮件。

由于我发布回复的这个分类被设置为所有用户都在关注,且过去一直正常工作,因此我没有尝试回复其他分类的话题,以免发送“垃圾”邮件。

正如我所说,我删除了在该分类中的回复并重新发布,但结果相同:只有另一位(现已降级的)管理员收到了通知。

请问这可能是什么原因?我几个月来没有更改任何设置,通知邮件的发送一直正常,直到今天才出现问题。

错误又出现了,如何修复? [管理员通知] 您的某个主题或插件包含需要更新的代码。(id:discourse.user.userOptions)

image

我认为此警告与通知无关。但为了确认,我们需要找出是哪个自定义设置导致了该问题。您的浏览器控制台中可能有更详细的错误信息。此外,提供您网站的链接,或列出您使用的所有非官方插件和组件,也会有所帮助。

是的,我也一直在挠头。所以我从命令行重新构建了应用。然后我回复了另一个分类中的一个话题,成功了。接着我在那个出问题的话题里也回复了一下,结果却只发送给了单个用户。我现在已经将该分类从所有用户的关注列表中移除,保存并更新了用户设置,然后再重新应用,这样所有用户又都在关注该分类了。

我得去参加一些会议,稍后我会尝试再次从该话题发帖。希望这能排除“管理员通知”的问题,但我仍然想彻底解决它。不过作为临时措施,我执行了以下命令:

cd /var/discourse/plugins
grep -Rl “userOptions” .

结果返回了两个插件:

chat/assets/javascripts/discourse/templates/preferences/chat.gjs
discourse-math/public/1.0.1/mathjax/input/tex-base.js

于是我禁用了 Chat 插件,重新构建了应用,但“管理员通知”仍然出现。我稍后会继续深入排查并反馈结果。

谢谢!由于这是一个封闭站点,我下次遇到该错误时会检查浏览器控制台。我点击了“X”来关闭通知,不太确定当时为什么这么做,但我猜它应该还会出现。

在我整理这份列表时的最新进展:

在整理列表时,我注意到一个名为“右侧边栏模块”的组件,尽管未被使用,但它提示需要更新,于是我进行了更新。我推测这就是问题所在,尽管它并不是“管理员通知”中明确指出的主题或插件。无论如何,我已附上名为 used-components.jpg 的截图。

所有插件均为“Discourse 官方”出品:

AI
Automation
Cakeday
Calendar and Events
Chat
Checklist
DataExplorer
Details
Footnotes
Gamification
Lazy videos
Local Dates
Narrative Bot
Poll
Presence
Rewind
Solved
Spoiler Alert
Templates
Topic Voting
Yearly review

主题:

Default
Horizon
Foundation
Air Theme
Graceful Theme
Mint Theme
Sublime Theme

如果组件能在需要时自动更新,或者至少通知管理员需要更新,那就太好了。另外,管理员通知本身也可以更具帮助性,依我之见。

你的 app.yml 文件中的 plugins 部分包含什么?

你看到过这个主题吗:

是的,我在该公告发布时就更新了 app.yml。

不过,我今天晚些时候会再检查一遍。

谢谢。

这些内容在 app.yml 中,我认为它们应该在那里。

      - git clone https://github.com/discourse/docker_manager.git
      - git clone https://github.com/discourse/discourse-whos-online.git
      - git clone https://github.com/discourse/discourse-solved-reminders-plugin.git
      - git clone https://github.com/discourse/discourse-yearly-review