Data Explorer 新安装的站点上出现异常错误

大家好,我来报告一下最近几天我遇到的一个奇怪的行为/bug。我在自托管的 Discourse 实例上首次启用了 Discourse Data Explorer,该实例已正常运行一年多。这是一个相当简单的设置,实例上仅有的其他插件是 Akismet 和 Calendar。

我像往常一样安装了 Discourse Data Explorer,将其添加到 containers/app.yml 并执行了完整的 git pull 然后 /launcher rebuild app 以确保所有内容都是最新的。安装和重建都顺利完成,没有出现错误。

Discourse 实例运行的是 (最新) 3.1.0.beta2 版本(当前提交是 7eb6223b04),并且没有太多其他自定义设置。

我是该实例的管理员。

当我尝试创建新查询时,加载指示器一直在旋转,并且我在控制台中看到一个 JavaScript 错误:

rest.js:63 Uncaught Error: You must overwrite `createProperties()` before saving a record
    at n.createProperties (rest.js:63:1)
    at n._saveNew (rest.js:42:1)
    at n.save (rest.js:66:1)
    at d.create (admin-plugins-explorer.js:247:1)
    at d._triggerAction (d-button.js:116:1)
    at d.click (d-button.js:80:1)

新查询未保存,我也无法编辑任何现有查询。事实上,我甚至看不到编辑按钮,这让我怀疑是否存在某种奇怪的权限问题。通过 JSON 导入也失败了,并在 JavaScript 控制台中出现相同的错误。

搜索该错误但一无所获,我找不到任何与此问题相关的信息。在 Meta 上也找不到关于 DE 问题的任何内容。

我的其他 Discourse 实例,运行相同的 Discourse 版本并安装了 DE,运行正常。

我使用 Brave 浏览器,但已为该网站禁用了所有 Brave 隐私功能。使用纯粹的 Google Chrome 浏览器也出现了完全相同的错误。

Discourse 错误日志中没有我能关联到此问题的任何错误。

大家有什么关于如何进一步调试的建议吗?

4 个赞

好的,我好像找到了解决方案。看起来两天前出现了一个回归错误,昨天已修复,但该修复是在我昨天最后一次运行 ./launcher rebuild app 几小时后才合并的。

我已经重新构建,问题已解决。也许值得保留此报告,以防其他人遇到相同问题,直到下次重建。这可能只会影响那些运行 2 月 7 日/8 日版本 Data Explorer 的用户。我只是在这里运气不好,昨天中午(格林威治标准时间)安装了 DE。

重述:解决方案:./launcher rebuild app

4 个赞

伟大的调试 @pacharanero :slight_smile:

很抱歉赶上不好的时机!

3 个赞

感谢 @isaac 的修复!

1 个赞

“橡皮鸭”调试法!我在 Meta 上写一份 bug 报告,通常这个操作会迫使我的大脑去寻找解决方案,而不是凭空想象。

4 个赞