トピックをカテゴリ間でサイレントに移動しようとすると、意図せず大量のメール/通知が届く

トピックをカテゴリ間で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

素晴らしい!真剣に受け止めてくださったこと、そして非常に迅速な修正に感謝します!今テストしたところ、すべて順調のようです。

ただ、UIのテキストが変更され/反転したことを指摘しておきたいのですが、チェックボックスをオンにすると、以前とは正反対の動作になります。しかし、その側面はうまく機能しているようですので、すべて問題ないことを願っています。

以前はこうでした:

今はこうなっています:

「いいね!」 1

:telephone: メニューオプションが変更されましたので、ご注意ください…

「いいね!」 2