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

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

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

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

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

5 лайков

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

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

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

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

1 лайк

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

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

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

@nathank, насколько мне известно, мы никогда не делали это без уведомления.

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

По крайней мере, это моя версия.

Я считаю, что это обоснованный запрос на #feature или 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 часов. Новые ответы больше не принимаются.