Случайный поток писем/уведомлений при попытке беззвучно переместить темы между категориями

Только что получил «погорелку»: при перемещении 30 тем между категориями из-за шторма писем пострадали мои самые ценные пользователи.

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

Я оставил этот параметр без галочки, и мне начали приходить письма в огромных количествах! Целевая категория настроена как «Следить за первым сообщением», но до этого изменения такие уведомления должны были подавляться.

Что здесь происходит?

5 лайков

Извините за это, @nathank :frowning:

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

… но всё, похоже, работает как ожидалось :thinking:

Не могли бы вы предоставить шаги для воспроизведения?

1 лайк

@zogstrip Я не вижу покрытия тестами для этого случая.

По моему пониманию, спецификации describe "silent option" охватывают только сценарии, когда обсуждение, которое перемещают, уже находится в списке наблюдаемых.

Описанный здесь случай относится к ситуации, когда целевая категория находится в режиме «наблюдение» или «наблюдение за первым сообщением».

@nathank, насколько мне известно, мы никогда не делали этого в тихом режиме.

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

Вот такое у меня предположение.

Я считаю, что это законный запрос категории Contribute > Feature или Contribute > UX, и я полностью поддерживаю его реализацию. Но я не думаю, что это технически является ошибкой или регрессией.

2 лайка

Мне казалось, что это одна из целей включения этой опции в массовые действия (чтобы соответствовать поведению «Отключить уведомления об редактировании категорий» и «Отключить уведомления об редактировании тегов» в индивидуальном порядке).

Без этого функционал был бы довольно ограниченным.

2 лайка

Хорошая мысль. Честно говоря, я не уверен.

Я вижу, что это именно тот случай использования, который описан в исходном запросе на новую функцию:

Также я вижу, что несколько человек подумали то же самое, когда увидели новый флажок: Bulk editing topic categories should not trigger thousands of email notifications - #12 by mbauman

Сам PR тоже создаёт впечатление, что это было намерением:

Когда флажок «Выполнить это действие без уведомлений» установлен, задача :notify_category_change sidekiq не должна ставиться в очередь.

Но я не вижу явного покрытия этого случая в спецификациях.

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

Теперь мне это больше кажется ошибкой. Не уверен, является ли это регрессией, но кажется, что мы упускаем покрытие этого случая.

3 лайка

Аха! Кажется, я нашёл проблему :bug:

Опция @silent не передавалась корректно, из-за чего пользователи, следящие за категорией назначения, получали уведомления, даже когда была отмечена галочка «Выполнить это действие без уведомлений».

6 лайков

Превосходно! И спасибо за то, что отнеслись к этому серьёзно и так быстро всё исправили! Я только что протестировал, и всё работает как надо.

Хочу лишь отметить, что текст в интерфейсе теперь изменился/перевернут: установка флажка теперь делает ровно противоположное тому, что делала раньше. Но эта сторона дела, похоже, работает исправно, так что, надеюсь, всё в порядке.

Раньше было:

Теперь стало:

1 лайк

*:telephone: Пожалуйста, слушайте внимательно, так как наши пункты меню изменились…

2 лайка

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