Я только что выполнил массовое редактирование почти тысячи тем, чтобы немного очистить и переорганизовать категорию. Я не ожидал, что это действие отправит письма (возможно, только авторам тем, что их темы были отредактированы), но пользователям, наблюдающим за целевой категорией, было отправлено почти по тысяче писем каждому!
Обратите внимание, что это массовое редактирование не изменило дату поднятия тем — даже для тем, в которых не было ответов. Я начал с нескольких тем, чтобы убедиться в таком результате, прежде чем выполнить действие для всех тысячи. Это именно то поведение, которое я хотел бы видеть здесь, и в моей наивной модели обновлённая дата поднятия тесно коррелирует с уведомлением по почте (но, очевидно, это было ошибочным предположением).
Это неожиданное поведение с крайне серьёзными последствиями. Было бы отлично, если бы интерфейс делал это более очевидным или если бы такое просто не происходило.
Само диалоговое окно выглядит довольно безобидно, а троеточие в кнопке Изменить категорию… создаёт впечатление, что перед выполнением действия откроется ещё одна панель.
Я не совсем понимаю, что вы имеете в виду, но, насколько я понимаю, текущее положение дел (по умолчанию) таково:
Джейн следит за новыми первыми сообщениями в категории #foo.
Я массово изменяю 1000 старых тем, перемещая их из #bar в #foo.
Джейн получает 1000 уведомлений (письма, звуковые сигналы или значки), которые кажутся ей «устаревшими» — переход в категорию #foo не показывает эти темы как новые, так как дата обновления темы не изменилась.
Я хотел бы изменить это поведение одним или несколькими способами. Мне кажется полезным, если Discourse предупреждал бы о возможности получения множества уведомлений на этапе 2. Было бы ещё лучше, если бы можно было отключить эти уведомления с помощью флажка или чего-то подобного на этапе 2. И, на мой взгляд, это должно быть по умолчанию — возможно, это отсутствие у меня воображения, но интуитивно я чувствую, что администраторы обычно хотят выполнять массовые действия без отправки массовых уведомлений. Это совершенно иной случай, чем перемещение одной темы.
Да, я обнаружил, что настройка «Отключить уведомления об редактировании категории на темах» apparently влияет на уведомления watching_first_post, после поиска здесь и нахождения связанной темы выше. Я не знал об этой настройке до этого, но даже если бы знал, я бы ожидал, что она повлияет только на уведомления об edit автора темы, исходя из её формулировки. Это определённо полезно знать, но тот факт, что вы стараетесь помнить о её отключении для массовых действий, довольно показателен.
Я действительно считаю, что имеет смысл, чтобы ручное (не массовое) редактирование категории вызывало уведомление watching_first_post. И я не против, чтобы автор темы получал уведомление edit при массовом действии (их, вероятно, на порядки меньше, и причины их появления гораздо более очевидны).
Также существует настройка disable system edit notifications, которая «отключает уведомления об изменениях от системного пользователя, когда активна опция ‘download_remote_images_to_local’».
Полагаю, это сделано для того, чтобы при автоматическом переписывании постов с использованием локальных URL для загрузки не возникало раздражения. (Кто-нибудь может подтвердить?) Но это также означает, что можно вносить «тихие» изменения через API, используя системного пользователя…
Кажется, это уже возникало несколько раз. Мне кажется, есть ещё вот эта тема, которая также поднимает вопрос о повторном уведомлении людей, упомянутых через @ в оригинале:
Давайте посмотрю, смогу ли я привести это в порядок.
(Я выбрал вариант «закрыть и перенаправить», так как слияние могло бы привести к путанице)
Я искал подобные темы и нашёл несколько, но, боже, их очень много. Всё просто не работает так, как ожидают многие. Мои ожидания здесь вполне совпадали с этим мнением:
Но это не совсем верно. Действительно, массовое редактирование не поднимает темы, но оно всё же вызывает уведомления.
У нас уже есть подобные ограничения в других местах, например, максимальное количество упоминаний, которые просто предоставляют информационную обратную связь в духе: «Вы превысили максимальное количество упоминаний, поэтому никто не будет уведомлен».
Может быть, поступить так же здесь? Установить некоторый максимальный объем для массовых уведомлений и отображать это ненавязчивым образом, когда лимит превышен?
Мы могли бы выбрать разумное значение по умолчанию в диапазоне от 5 до 20. Сайты, которые никогда не хотят, чтобы массовые действия приводили к уведомлениям, могут установить это значение в 0, а сайты, которые всегда хотят уведомлять, могут установить его на очень большое число.