无法编辑带投票的主题,是否出现漏洞?

我在尝试编辑包含投票的主题帖子时遇到了一个错误。

重现步骤:

  1. 创建一个包含投票的新主题,如下所示:
[poll name=pollA type=regular results=on_close public=true chartType=bar]
* Option
[/poll]
  1. 发布主题并 投票。

  2. 刷新页面。

  3. 编辑主题帖子。

我在控制台中看到了这个错误,页面卡住了,没有生成作曲家预览等。

我认为这个 NaN% 可能与之有关:


希望我能在这里重现它,现在就试试。

  • Option
0 voters

遗憾的是,似乎无法在这里的 meta 上重现。在测试我的实例之前,我确实进行了全新更新,目前运行的是 3.4.0.beta1-dev ( a3d61ba1c4)

不确定这是否重要,但我将 poll edit window mins 设置为 90 分钟。

3 个赞

已在 3.4.0.beta1-dev 版本中进行测试,运行正常

已在 poll edit windows mins 设置为 90 的情况下进行测试

[poll name=pollA type=regular results=on_close public=true chartType=bar]
* Option
[/poll]

已在 poll 中投票,然后编辑了主题

您是否已在安全模式下尝试过?

http://discourse.example.com/safe-mode

我在安全模式下尝试过,没有启用主题(并且复现了问题),但不幸的是我无法在不启用插件的情况下进行尝试,因为轮询是一个插件。

1 个赞

我明白了,我的也出现了……

摘要

版本

3.4.0.beta1-dev

设置

已测试 poll edit windows mins 设置为 90

投票

[poll name=pollA type=regular results=on_close public=true chartType=bar]
* 选项
[/poll]

错误

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading '0b05a21ff916fbd0f86b5172a2817610')

可能与…有关

name=pollA 

@piffy 试试这个

[poll type=regular results=always public=true chartType=bar]
* 选项
[/poll]

**编辑:**这似乎没问题,所以 name=pollA 似乎是个问题

感谢您进一步调查。问题似乎不在于投票名称,而在于 on_close

我忘记在 OP 中添加投票的关闭时间(现在已经超过 5 分钟,我无法再编辑了 :))。但在我的实例上:

这个会导致问题

[poll name=pollB type=regular results=on_close public=true chartType=bar close=2024-08-15T19:00:00.000Z]
* Option
[/poll]

这个似乎没有问题

[poll name=pollC type=regular results=always public=true chartType=bar]
* Option
[/poll]
2 个赞

谢谢你的报告。我会看一下。

3 个赞

我已测试此项

[poll name=pollB type=regular results=on_close public=true chartType=bar close=2024-08-15T19:00:00.000Z]
* Option
[/poll]

对我来说运行正常,没有错误

请参阅 Can't Edit Topic with Poll, Bug Occurs? - #4 by Vaping_Community

我认为问题已经找到了。

我认为,当投票设置为“结果在关闭时显示”时,每个选项的投票数仅在投票关闭时才会被流式传输到浏览器。

问题在于,当您刷新页面时,默认视图是结果视图,而对于此类投票,不应该发生这种情况。

在投票关闭之前,即使是作者也不应该能够看到结果视图。

因此,这里的修复方法是确保(对于结果在关闭时显示的投票)默认视图是投票视图,直到投票关闭为止。

我将准备一个 PR。

4 个赞

PR 已在此提出:

4 个赞

这已合并,请确认所有问题现已解决。

1 个赞

此主题已在 3 天后自动关闭。不再允许回复。