Ethsim2
(Ethan )
1
摘要
在我们的 Discourse 实例中,主题下的新帖子和回复不会自动显示。即使用户正在查看该主题,也必须手动刷新页面才能看到后续内容。
这似乎是实时更新功能(MessageBus/WebSocket/轮询)的回归问题,因为并未安装任何主题、插件或自定义组件。
环境
• Discourse 版本:2026.4.0-latest (9776b417b8)
• 托管方式:自建
• 自定义主题:默认
复现步骤
1. 在一个浏览器/会话中打开某个主题
2. 在另一个会话或用户账户中打开同一主题
3. 在该主题中发布一条新回复
4. 观察原始会话的表现
预期行为
新帖子应实时显示,无需手动刷新页面(通过 MessageBus 更新 / 实时主题更新)。
实际行为
新帖子不会出现在已打开的主题视图中。
只有在以下情况下才会显示:
• 手动刷新浏览器(F5 / 重新加载),或
• 离开该主题后再返回
备注 / 观察
• 未安装可能产生干扰的自定义插件或主题
• 问题在不同用户/会话中表现一致
• 该问题特别影响主题线程中后续帖子的可见性
• 表明可能存在以下方面的回归或故障:
• `MessageBus` 订阅处理
• `/message-bus/` 长轮询 / WebSocket 降级机制
• 主题更新流(`topic:reload`, `post:created`)的传播
影响
• 破坏了实时讨论流程
• 导致用户除非刷新页面,否则会错过新回复
• 造成用户不确定帖子是否成功发布
请求
能否确认近期构建版本中是否存在影响实时主题更新的已知回归问题?或者建议应检查哪些子系统(MessageBus、轮询降级机制等)?
Ethsim2
(Ethan )
3
不——实例前方没有代理或 CDN(如 Cloudflare 或类似服务)。
这是一个采用标准网络配置的直接自托管设置,因此不应有外部因素干扰 MessageBus/WebSocket 或长轮询行为。
鉴于此,问题不太可能由中间缓存或连接缓冲引起,而更可能是实时更新机制本身的问题(例如 MessageBus 订阅、轮询回退,或此构建版本中的客户端处理逻辑)。
如需进一步排查,我很乐意提供任何日志(例如 /logs、浏览器控制台或 /message-bus/ 请求)。
Ethsim2
(Ethan )
4
我确认这已在 v2026.4.0-latest +289 版本中修复。
因此,GitHub 上从问题报告时到现在的对比链接为:
该对比显示了最有可能修复此问题的提交: