Счётчик решённых в сводке отображает неверные значения

В Discourse обнаружены расхождения в подсчёте решений: ранее учитывались темы и сообщения, которые уже были удалены.

До миграции мы указывали:

У Джона 27 решений, так как его сообщение отметили как решение 27 раз.

Эта информация хранилась в таблице UserActions.

После миграции мы теперь подсчитываем:

У Джона 20 решений, так как есть 20 тем, где его сообщения являются решениями.

Эта информация хранится в таблице SolvedTopics и имеет прямую ссылку на существующую, не удалённую тему.

Здесь есть тонкое различие: в первом случае не проводилась проверка на существование сообщения-решения или его темы.

Я уточню у нашей команды, какое число лучше отображать. Лично я склоняюсь к подсчёту решений только для тем, которые всё ещё существуют.

3 лайка