TypeError:无法设置 [object Object] 的 deleteTopic 属性,它只有一个 getter

我有一个长久以来安装的 Discourse,似乎出现了 js 错误。

Uncaught (in promise) TypeError: Cannot set property deleteTopic of [object Object] which has only a getter
    at ye (index.js:1641:1)
    at y (mixin.js:281:1)
    at w.apply (mixin.js:482:1)
    at e.proto (core.js:600:1)
    at new y (core.js:91:1)
    at new e (core.js:371:1)
    at e.create (core.js:385:1)
    at h.create (index.js:385:1)
    at index.js:287:1
    at index.js:230:1
    at i.lookup (index.js:125:1)
    at u.lookup (container_proxy.js:19:1)
    at m.s (index.js:2075:1)
    at index.js:1310:1
    at validator.js:635:1
    at pe.get (index.js:1309:1)
    at m.r [as topic] (index.js:881:1)
    at Te (index.js:1682:1)
    at reference.js:164:1
    at reference.js:125:1
    at validator.js:622:1
    at d (reference.js:124:1)
    at reference.js:162:1
    at reference.js:125:1
    at validator.js:622:1
    at d (reference.js:124:1)
    at De (index.js:1806:1)
    at ze.create (index.js:1974:1)
    at Object.evaluate (runtime.js:2676:1)
    at Object.evaluate (runtime.js:1052:1)
    at It.evaluateSyscall (runtime.js:4204:1)
    at It.evaluateInner (runtime.js:4175:1)
    at It.evaluateOuter (runtime.js:4168:1)
    at Wt.next (runtime.js:4999:1)
    at Wt._execute (runtime.js:4986:1)
    at Wt.execute (runtime.js:4979:1)
    at Qt.sync (runtime.js:5046:1)
    at hr.anonymous (index.js:4672:1)
    at index.js:4934:1
    at Nt (runtime.js:4080:1)
    at gr._renderRoots (index.js:4916:1)
    at gr._renderRootsTransaction (index.js:4960:1)
    at gr._renderRoot (index.js:4905:1)
    at gr._appendDefinition (index.js:4830:1)
    at gr.appendOutletView (index.js:4820:1)
    at invoke (backburner.js.js:282:1)
    at h.flush (backburner.js.js:197:1)
    at p.flush (backburner.js.js:358:1)
    at B._end (backburner.js.js:798:1)
    at backburner.js.js:523:1
application.js:155 TypeError: r.subscribe is not a function
    at d.setupController (topic-from-params.js:94:21)
    at d.setup (route.js:444:1)
    at o (router_js.js:1544:1)
    at s.routeEnteredOrUpdated (router_js.js:1554:1)
    at s.setupContexts (router_js.js:1500:1)
    at s.finalizeTransition (router_js.js:1408:1)
    at router_js.js:1347:1
    at _ (rsvp.js:434:1)
    at y (rsvp.js:420:1)
    at invoke (backburner.js.js:282:1)
    at h.flush (backburner.js.js:197:1)
    at p.flush (backburner.js.js:358:1)
    at B._end (backburner.js.js:798:1)
    at backburner.js.js:523:1
error @ application.js:155
router.js:1141 Error while processing route: topic.fromParamsNear r.subscribe is not a function

结果是一系列 js 错误。当我转到某个特定主题时,它只显示错误,一个“出了点问题”的屏幕。

有什么故障排除的建议吗?提前感谢。

1 个赞

你好 @etc :wave: 你检查过安全模式了吗?

你说“长期存在”——我猜你的意思是长期有效;但它最近是否已更新到最新版本?

3 个赞

我会尝试安全模式,谢谢。

是的,长期存在,意味着它已经运行了好几年。我之前使用的是 3.1 版本,然后我回复了一个帖子,之后就开始遇到错误。我升级到了最新版本,只是想看看是否能解决问题,但尽管更新正常工作,问题仍然存在。

谢谢您提供的链接,它帮助我缩小了范围。

所以,“禁用所有客户端插件自定义”这个选项最终解决了问题。您是否有关于它具体指什么的文档?谢谢!新年快乐!<3

1 个赞

所以,我们的插件很少,但看起来是 Discourse-Encrypt 插件,我相信这是一个官方插件。当我禁用它时,一切正常,一旦我重新启用它,一切又会中断。不知道为什么会突然发生这种情况。

1 个赞

此插件已弃用,您可能需要卸载它阅读主题以获取说明。

2 个赞

我将卸载它。我想知道一月一日有什么东西被更改导致插件损坏。它似乎是凭空出现的。非常感谢!新年快乐!

2 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.