主题关闭时投票未返回

If the topic is closed with a topic timer, I don’t think this is working properly. We’ve had a few users report that this is a problem. We’ve just had it again and assuming he is correct when he says he is out of votes, he (at time of writing) has 20 votes cast (which is our limit) and one of these topics is closed, so he should have one spare vote.

We’ve had this mentioned a number of previous times, but they have always told us after they have “removed” their old votes so I’ve been unable to verify it. 99% of our votable threads are closed via a topic timer of a number of days since the last reply, so I suspect the bug may be originating here?

We’re on the latest plugin version and very recently updated discourse itself:

Thanks for the otherwise, incredible platform - we love it! :pray:

1 个赞

我正在追查一个类似的问题。我认为它以前出现过几次,但到目前为止,我认为我们还没有找到“原因”。

我刚刚用“最后一帖后关闭”的主题计时器测试了它(希望这是我一直在寻找的缺失部分 :slight_smile:),但我的投票在计时器触发时按预期返回了。:frowning:

您是否注意到在其他特殊主题上发生了这种情况?

另外,如果您安装/启用了数据浏览器,您可以使用此查询查看过去已关闭和/或存档但投票未返回的主题:

SELECT 
    dvv.topic_id,
    t.last_posted_at::date,
    tvc.votes_count
FROM discourse_voting_votes dvv
  JOIN topics t ON t.id = dvv.topic_id
  JOIN discourse_voting_topic_vote_count tvc ON tvc.topic_id = dvv.topic_id
WHERE dvv.archive = false
  AND (t.closed = true OR t.archived = true)
GROUP BY 1,2,3
ORDER BY 2
1 个赞

谢谢。这是我们社区的相应结果:

嗯,这很有意思……

  • 如我之前所说,我们的大部分主题都是通过主题计时器关闭的,但我认为除了一个之外,其他主题都是通过“关闭主题”按钮关闭的(可能全部都是)。有没有办法检查主题是如何关闭的?所以,与我猜测计时器是问题相反,这是一个巨大的巧合,问题似乎出在那些使用正常关闭按钮关闭的主题上。通过此按钮关闭的主题占很小的比例,因此这7个示例中有6或7个是这样,这非常指向该按钮有关联。
  • 看起来是主题上的所有投票都没有被退还,而不仅仅是一部分。
  • 同一天有两个。也许只是巧合。
  • 最后一个主题被发帖人删除了。
  • 除了我上面第一点之外,我看不出有什么模式,但如果您愿意,可以自己查看这些帖子,以防您发现什么 :+1:

现在有没有办法手动将这些退还给用户?或者在找到根本原因之前,是否有自动化的夜间更正?

1 个赞

不幸的是,这似乎也不是原因。我认为还有其他因素在起作用,导致它在某些情况下发生,但并非所有情况都发生。

为了测试一个理论,你是否可以重新打开一个,然后再次关闭它,看看是否能让投票生效?(如果它们被移动到非投票类别,也应该将它们还回来,这可能值得测试。然后移回,看看问题是否仍然存在)

1 个赞

我们认为我们可能已经找到了一个可能与您的情况相符的场景。您的编辑历史记录不公开,但看起来您可能在这些投票结束后添加了一个标签?如果是这样,我认为我们正在开发一个修复程序,以防止系统将这些投票重新标记为“当前”。:crossed_fingers:

1 个赞

是的,这会把投票还回来(根据数据探索器报告):+1:

啊,是的,那应该就是原因了:boom:通常,我们会添加一个标签(通常是“idea-completed”之类的),然后使用主题计时器关闭。在立即关闭的特殊情况下,我们通常也会添加一个标签,但这可能在“关闭”之前或之后完成,但都在几秒钟之内(我从来没有真正考虑过)。这就解释了它们都是使用关闭按钮关闭的“巧合”!

感谢所有的帮助,非常感激:pray:期待修复版本的发布。

作者删除了一则帖子,但似乎没有返还投票数,我尝试“打开”再“关闭”也未能返还。您有什么建议吗?或者修复此 Bug 的更新会附带数据修复迁移吗?如果是这样,我们可以等待更新。

不客气。 :slight_smile: 修复程序现已推出:

这将防止将来再次发生这种情况,但不会修复已有的问题。

可以通过 rails 控制台重置它们,但如果您没有太多问题,我认为使用 UI 触发“退回投票”机制会更容易。

嗯。 :thinking: 真遗憾。您可以尝试取消删除它,将其移动到您的 #staff 类别,然后关闭并将其存档。这三个操作都应该会释放投票,所以希望其中一个会起作用。 :crossed_fingers: 如果不行,我们可以采取 rails 方法来处理顽固的问题。

2 个赞