Discourse Retort

我们的“反应”按钮在最新更新后无法工作。

点击表情符号 d-icon 时,我在控制台中找不到任何错误。由于对实现方式的了解有限,我无法定位这个 bug。希望有人能解决 :smiley: …(我尝试查看了代码仓库,但凭借我对构建 Discourse 插件的有限知识,什么也没发现 -

3 个赞

同样的问题。我的网站无法点击。

2 个赞

我可以确认此 bug 确实存在。点击后没有任何反应。

2 个赞

我也可以确认。当我点击反应图标进行设置时,它不会弹出,没有任何反应……

2 个赞

暂时在此添加 #plugin:broken-plugin。修复后请告知。

2 个赞

有人知道可能是什么问题吗?插件的代码库已经很久没有变动了,所以我猜测可能是 Discourse 的代码库中发生了某些变化导致了这个问题(不过我还没看到任何明显的、我认为会有影响的更改……)。

1 个赞

这个插件需要处理多个 Discourse 更新。

我已经提交了一个 PR,可以作为临时解决方案。我可能会因为修复方式而被扔进塔尔塔罗斯的烈火深渊,但这可以作为一个权宜之计 @gdpelican

@Jite 你看起来很有热情。你愿意多了解一些 Discourse 开发以及这个插件的工作原理,从而帮助维护它吗?我可以帮你熟悉 Discourse 代码库的方方面面。

8 个赞

我本来很乐意接受你的提议,但目前手头的事情实在太多,暂时无法做到。我已经开发过几个小型插件,但我的 Ruby 经验还很有限,所以暂时还没能力深入探究其内部实现,哈哈。
不过我会继续关注的,如果以后有更多时间,我很乐意再告诉你!:slight_smile:

我也会顺便看看那个修复方案,因为我使用这个插件的实例似乎对它很满意 :smiley:

4 个赞

另外,我真纳闷昨天我像读书一样仔细查看了日志,怎么就没发现那个合并记录。这确实是我疏忽了 ;D

3 个赞

请告诉我 :slight_smile: 我很乐意帮助你快速上手 Discourse。

5 个赞

:sob:
我超爱这个插件,真希望它还能继续维护。其实我觉得它应该直接集成到 Discourse 本身……

7 个赞

所以我尝试使用了你们的临时修复分支,如果不使用限定集,表情选择器会弹出并一直旋转。此外,它也无法关闭选择器窗口。实际上,这也破坏了默认编辑窗口中的表情选择器(它会出现在屏幕最右侧并一直旋转)。限定集的表情选择器在页面滚动时会固定在页面上,因此它会停留在出现的位置,但除此之外其他功能正常。我在最新版 Chrome 和 Firefox(macOS 系统)上都测试过。

我粗略看了一下你们的代码,没发现明显问题。不过我不熟悉 Discourse 框架。直觉告诉我可能是与 onShow 相关的改动导致的,但我平时不太做前端开发。如果我有时间,可能会深入排查一下,一旦发现任何问题,我会以某种方式反馈。

1 个赞

没错,我也遇到过同样的问题。点击 React 按钮会打开窗口,但内容无法加载,窗口甚至看起来卡死了。

3 个赞

@leighno5 遇到同样的问题,这个扩展会让页面卡死,只能卸载了。

@angus 我看到你的修复已经合并了,但正如上面报告的,它仍然无法正常工作。你方便再看一下吗?

大家好,这里通知一下,James 已授予我对 Retort 仓库的推送权限。接下来我将:

  • 在未来几天内彻底解决此兼容性问题
  • 在此处添加 .discourse_compatibility 文件,以便将插件锁定在 stable 分支
  • 将插件添加到 Pavilion 的公开测试实例:try.thepavilion.io
  • 每月更新插件的兼容性(锁定 stable 分支并确保与 tests-passed 兼容)

请大家稍安勿躁!

13 个赞

好的,我已更新插件,以正确支持 Discourse 的新表情选择器 :tada:

该更新已在完整模式和受限模式下进行了全面测试,同时也支持移动端。您可以在此自行测试:

https://try.thepavilion.io/t/heres-something-to-react-to/571

该站点每 24 小时自动重新构建一次(从而更新到最新版本的 Discourse)。因此,如果您使用的是 tests-passed 分支(默认分支),建议在更新之前先在那里测试您所使用的任何自定义插件。

我还为插件添加了一个 .discourse_compatibility 文件:

这意味着,如果您运行的是 Discourse 的 stable 分支,可以照常进行更新,而该插件将锁定在与最新稳定版兼容的提交版本上。详见:

在此情况下,Discourse 上一个稳定版(2.5.1)发布于两周前,而 导致 Retort 失效的表情选择器重构 则发生在 10 天前。因此,该插件对应的稳定版提交为 https://github.com/gdpelican/retort/commit/92738f00fce990fa6a6027016bb82845a4c6c8a1,该提交是我在六月创建的(已测试,与稳定版 2.5.1 兼容并正常工作)。

17 个赞

感谢 @angus!在我们的 Discourse 实例上已经可以正常工作了!

3 个赞

@sam 能把这个移回 #plugin 吗?谢谢。

4 个赞

非常感谢你完成这项工作!

我注意到一件事(除了它确实能运行,太棒了):当你点击“反驳”按钮时,页面会跳转到顶部,使表情选择器位于最上方(在最新的 Chrome 和 macOS 上),但如果你滚动页面,表情选择器会移动到一些奇怪的位置。特此反馈。

3 个赞