When moving a solved topic to a category that disallows solutions, remove solved

AI-generated summary

The discussion addresses a bug where moving a solved topic to a category that disallows solutions failed to remove the “solved” status. codinghorror initially reported the issue, noting that topics moved out of categories with solutions retained their solved markers. sam agreed to the cleanup, and bekicot submitted a PR adding a plugin hook to handle category changes. tgxworld suggested using a model callback instead of a new event trigger. fhe and nildarar confirmed the issue persisted, explaining that admins could not uncheck the solution after moving the topic to an incompatible category. lindsey initially claimed a fix was in place, but Moin clarified that the previous fix only addressed moving individual posts, not entire topics. lindsey acknowledged the misunderstanding and lindsey committed to fixing the topic-level issue. Finally, lindsey confirmed the behavior was updated: when a solved topic is moved to a category without solution support, the accepted solution is automatically removed, and admins receive a notification before the move is completed.

I’ve seen this too when moving topics out of a category where solved was set, any way to fix this @sam?

  • When moving a topic out of a category with solutions, remove solved stuff

  • When moving a topic into a category with solution, make solved possible

2 лайка

Agree, we should get this cleaned up, for now pr-welcome

4 лайка

Added Trigger DiscourseEvent when topic category is changed by bekicot · Pull Request #4785 · discourse/discourse · GitHub, so that plugin can hook into :topic_category_changed. I think it is required in order to fix this issue.

5 лайков

Thanks for the PR @bekicot :thumbsup:

I was just curious but is it possible to avoid adding a DiscourseEvent trigger and just add a model callback which checks when the category_id has been changed?

2 лайка

Seems like this is still happening.

A topic marked as solution which is moved out of a category with solutions remains marked as solution (and cannot be unchecked as such)

1 лайк

Если один из ответов ошибочно помечен как правильный, администратор видит, что категория выбрана неверно, и перемещает тему в другую категорию. Помеченный ответ по-прежнему отображается как правильный, даже если эта функция не включена в новой категории.
В таких случаях администратор не может отменить пометку правильного ответа. Необходимо изменить категорию на ту, где эта функция включена, отменить пометку правильного ответа, а затем снова изменить категорию.

Это было бы немного проще, если бы менеджеры могли отменять пометку правильного ответа во всех категориях (даже в тех, где эта функция отключена).

Мы решили эту проблему, обеспечив, что если пост с решением перемещается за пределы темы, тема возвращается в состояние «не решено».

Пользователь, перемещающий пост с решением, получает уведомление о последствиях до завершения действия перемещения:

4 лайка

Мне кажется, это исправление для Carelessly splitting a solved post to a new topic breaks things

Похоже, оно не решает проблему, описанную в исходном сообщении (OP), где речь идёт о перемещении всей темы в категорию, где функция «решений» не включена, а не о перемещении нескольких сообщений в другую тему. Когда я перемещаю `personal_messages:username` search filter doesn't work, которая является решённой темой, в Contribute > Feature, где решения не допускаются, решение не удаляется, и предупреждение не появляется.

Это решает следующую проблему:

Однако я вижу, что проблема шире, поэтому мы можем оставить этот запрос открытым.

Хм, я всё ещё не понимаю. Разве это не то, что я только что сделал?

Тема, помеченная как решение

Я выбрал эту тему, которая была помечена как решённая: `personal_messages:username` search filter doesn't work

которая была перемещена из категории с решениями

Я переместил её в Contribute > Feature, где решения не включены.

остаётся помеченной как решение (и её нельзя снять с этой отметки)

И она всё ещё была помечена как решённая. Что именно изменило это исправление в этом процессе?

2 лайка

Извините, теперь я понимаю, что вы имеете в виду. Я неправильно прочитал это как сообщение, помеченное как решение, которое было перемещено из категории.

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

3 лайка

Мы обновили это поведение: теперь, когда решённая тема перемещается в категорию, не поддерживающую решения, принятое решение будет удалено из темы. Перед завершением перемещения мы уведомим администраторов об этом:

5 лайков

Эта тема была автоматически закрыта через 2 дня. Новые ответы больше не принимаются.