ショートカットキーでトピックを追跡すると、他のトピックも追跡されてしまいます

m tm r のショートカットを使ってトピックの追跡/追跡解除を行うと、同じウィンドウで最近閲覧した他のトピックの追跡ステータスも変更されてしまいます。

マウスを使用している場合はこの問題は発生しません。

Firefox 68.4.1esr で確認しました。Rust Discourse で最初に発見し、現在はこちらでも確認しました。

「いいね!」 5

こんにちは、ご報告ありがとうございます!

このバグは結構前から存在していたと思います。最近の変更でより目立つようになったのかもしれません。

要点をまとめると:

  • 変更イベントを受信する際にトピック ID の検証を行っていない
  • ショートカットのサミング(抑制)を行っていないため、キー「m」を押し続けると同じイベントが無限に送信されてしまう…

これで修正されるはずです:

今週中にマージされる見込みです。

「いいね!」 7

こんにちは、プルリクエストのマージから修正がデプロイされるまで、通常どれくらい時間がかかりますか?
現時点では、動作に変化が見られません。

フォーラムによって異なります。コミットはマスターにマージされ、安定ブランチにもバックポートされているため、誰でも取得できるようになっています。

「いいね!」 4

このトピックは3日後に自動的に閉鎖されました。新しい返信は許可されていません。

@Falco、これは回帰しましたか?

「いいね!」 2

こんにちは、@david
この Discourse でもまだ問題を再現できます。その間に再現不能になったかどうかはわかりません。

「いいね!」 2

@joffreyjaffeux 再度ご確認いただけますでしょうか?

@mpol 再現できておりません。メタで再現するために取られた正確な手順を教えてください。

「いいね!」 1

もし私の側の問題であれば申し訳ありませんが、まずは Firefox 68.6.0esr での状況を報告します。

  1. キーボード操作のみを使用し、新しいタブで https://meta.discourse.org/ を開いた直後のメインページから始めると、最初は追跡中のトピックはありません。
  2. ‘j’ を押して ‘Enter’ を押し、トピックに入ります。
  3. 提案されたトピックに ‘j’ を十分に押し、‘Enter’ を押してその中の一つに入ります。
  4. ‘j’ ‘m’ ‘t’ を押すと、このトピックとメインページから入ったトピックの両方を追跡するようになります。

余談ですが、ステップ3で ‘m’ ‘t’ を即座に押した場合は、正しいトピックのみが追跡されていました。しかし、その後も ‘j’ ‘m’ ‘t’ を押すと、前のトピックの状態が変更されてしまいました。

「いいね!」 1

そのため、この特定のバグを再現できませんでした。@david も同様です。ただし、@david のブラウザでは多数のリクエストが発生しており、私の環境ではそれがありませんでした。最初はブラウザの問題か、複数のブラウザが開かれていることが原因かと考えました。

いくつか検索した結果、原因はブラウザのサイズ(私の場合は狭く、David の場合は広かった)にあることがわかりました。また、話題のタイムラインボタンが David の画面には表示され、私の画面には表示されず、新しい appEvents ハンドラーを継続して登録していました。

これにより、トピックの追跡状況が大幅に改善されると考えています。詳細は以下のコミットをご覧ください。

「いいね!」 4

ああ、リクエストですね。つまり、上記の手順の最後に、https://meta.discourse.org/t/146924/notifications に対して 2 つの同一の POST リクエストが生成され、その後、おそらく問題となる https://meta.discourse.org/t/113192/notifications へのリクエストが送られたのでしょう。

「いいね!」 2

はい、これでこのような問題は解決するはずです。今すぐマージしますので、まもなくメタでお試しください。

「いいね!」 5

@joffreyjaffeux ありがとうございます。数回試行した結果、こちらでは問題が再現しなくなりました。現在、/notifications へのリクエストは正しいものが 1 つだけ送信されていることを確認しています。重複はなく、他のトピックへのリクエストもありません。

「いいね!」 3