Похоже, что при перемещении темы с голосованием в другую категорию, где голосование отключено, голоса не возвращаются их владельцам. Это ошибка или ожидаемое поведение?
Кроме того, существуют пограничные случаи, когда закрытие темы не приводит к автоматическому возврату голосов пользователю.
Я только что протестировал это на своём локальном сервере разработки и могу подтвердить, что при перемещении темы в категорию, не поддерживающую голосование, голоса не возвращаются пользователю. Мне это кажется не идеальным, но я не уверен, является ли это ожидаемым поведением. Единственная альтернатива, которая приходит мне в голову, — это удаление всех голосов из темы при её перемещении в категорию, где голосование запрещено. Однако у такого подхода также могут возникнуть проблемы.
Если вам известны конкретные способы воспроизведения этих пограничных случаев, сообщите нам. На следующей неделе я смогу углубиться в этот вопрос.
Мне также нужно сбрасывать голоса после перемещения темы в категорию, где голосование не предусмотрено. На мой взгляд, текущий подход рискован: перемещение темы с голосами в категорию без голосования может нарушить работу системы голосований, поскольку чем больше база данных, тем сложнее и трудоемче модераторам вручную следить за тем, чтобы пользователи не «теряли» свой голосовой ресурс. Если разрешено 10 голосов и две темы, за которые я голосовал, будут перемещены в категорию без голосования без сброса этих голосов, я потеряю 20% своего глобального голосового ресурса.
Первое, что пришло в голову: если тему ошибочно переместили в другую категорию (например, пользователем с уровнем TL3), то все голоса будут потеряны при возврате её в правильную категорию.
Несколько месяцев назад мы исправили некоторые крайние случаи. Возможно, мы всё ещё упустили некоторые сценарии, но для проверки проблемы нам очень помогут воспроизводимые шаги.
Вы наблюдаете это в каждом перемещённом топике? Или есть какой-то конкретный сценарий, которым вы можете поделиться?
Тема, на которой я это заметил, была создана и перемещена 17 апреля. Возможно, проблема уже исправлена с тех пор? Мы обновляемся регулярно, поэтому обычно отстаем от tests-passed не более чем на неделю или около того.
Я только что попытался воспроизвести это на тестовом сайте, но у меня не получилось. Перемещение темы из категории с голосованием в категорию без голосования вернуло моему тестовому пользователю его голос.
Просто чтобы убедиться, что я всё делаю правильно:
Включить голосование по темам в категории
Использовать тестового пользователя для голосования за тему
Как администратор, переместить тему в категорию без голосования
Как тестовый пользователь, проголосовать за другую тему и посмотреть, сколько голосов осталось, в информации во всплывающем окне