返信後に編集して引用通知の冗長性を追加

誰かがあなたを引用して返信すると、返信と引用の2つの通知が届きます。これは意図された動作でしょうか?少し重複しているように思えます。

「いいね!」 7

はい、これは意図したものではなく、バグの境界線にある問題です…

ここで通知が2件届いたことを確認できますか?

「いいね!」 3

私は届きませんでしたが、それはトピックに返信したためで、他の投稿に返信しなかったからかもしれません。5日前にあなたから別の返信があった際にも、同じ問題が発生していました:

また、今日早些頃に他の人からも同様の問題が発生しました:


この返信から通知が2件届きましたか?トピックへの返信を除き、毎回このように起こっていると思います。

「いいね!」 1

これはトピックではなく、特定の投稿への直接返信です。

確かにその現象は起きていると信じていますが、正確な再現手順が知りたいのです。

「いいね!」 1

返信通知だけが届きました……おかしいですね。つまり、毎回起こるわけではないようですが、けっこう頻繁に目撃しています。

あなたのこの返信と、以前問題を引き起こした返信との違いはわかりません。どちらも同じ投稿からの引用を含んだ、前の投稿(トピック本体ではない)への返信です。上記で言及した2つの投稿へのリンクを以下に示します。何か違いが見つけられますか。

Install Discourse on Windows for development - #49

`min ratio to crop` site setting should respect w/h ratio as defined in markdown - #8 by md-misko

考えられるもう一つのことは、引用通知が時々遅れて届くことです。一般的には返信通知の後に届きます。これらの通知がバックグラウンドタスクから送られている場合、何らかの競合状態があるかもしれません。

「いいね!」 4

はい、これは私から見ても競合状態に非常に似ています。

「いいね!」 4

最初に返信して、後で引用を編集して追加する場合は、そうならないのでしょうか?

「いいね!」 5

確かにそのケースでは起こりますが、それだけとは考えにくいです。頻繁に起こるため、これほど多くの人が編集時に引用を追加しているとは考えにくいです。もしかしたら、@sam が参照した投稿を一度に書いたのか、後から引用を編集して追加したのか確認できるかもしれません。6 日前のことなので、覚えているかもしれません。

私もこれを受け取りました reply/quote、スクリーンショット:

「いいね!」 4

その場合、私はまず返信し、その後保存し、ほぼ直後に引用を追加してより良い文脈を与えるために編集しました。そのため、返信に対する通知と、編集時に引用が追加されたことに対する通知の 2 つの通知が来たことになります。

「いいね!」 5

ああ、ありがとう、それなら納得がいきますね。

「いいね!」 1

それでも、元の返信(編集時ではなく)で付けられた引用が、編集時に追加された引用のように扱われるような競合状態(レースコンディション)があるのか不思議です。単にタイミングの問題かもしれませんが。

この引用/返信に対して通知が 1 件だけ届きました。これだけでは競合状態を完全に否定はできませんが、Falco が指摘したシナリオ、つまり返信してからすぐに編集して引用を追加するケースである可能性が高いです。

「いいね!」 6

ですから、ユーザーにはこれをやめてもらうようお願いする必要がありますね :slight_smile:

どうやら、それは後付けで行われているようです。投稿を素早く書いて送信した後、文脈が完全には明確ではないことに気づき、戻って引用を追加することがあります。

「編集時に引用」という側面が言及されてから、私はより注意深く見ており、引用通知を受け取らずに引用されたことが何度かあります。そのため、それに関連している可能性が高いようです。残念ながら、引用通知を受け取るたびに「編集時に引用を追加したのですか?」と相手に聞くわけにはいかないので、自分で何かを確認するのは難しいです。

もし本当に編集時のみ(競合状態からは決して)発生するのであれば、それはむしろ便利な「機能」だと言えます。すでに読んだ投稿にさらに内容が追加されたことを知らせてくれるからです。

「いいね!」 6

最近、これが私に頻繁に起こっています… ちょうど @downey からトリプル通知を受け取りました。

@kris.kotlarek さん、これを調査してもらえますか?少なくとも、レイスコンディションではない通常のケースではこれが起こり得ないことを確認してください(直接返信し、その後編集して引用を追加してください)。

一般的なルールとして、すでに直接返信である場合、「メンション」があることを通知してはいけません。

タイミングに対する保護は難しくなるでしょう。ユーザーと投稿のペアに対して分散ミューテックスが必要になりますが、それを追加する前に少し待機しましょう。

「いいね!」 10

これが私の提案する解決策です。ユーザーがすでに未読の「新しい返信」通知を持っている場合は、通知を作成しないという考え方です。

もし「新しい返信」通知が既読であれば、投稿が編集されたことや、引用が追加されたことなどの通知は引き続き表示します。なぜなら、追加情報は受信者にとって価値がある可能性があるからです。

「いいね!」 9

よくわかりません……少し問題に過剰に反応しすぎている気がします。

今すぐ :arrow_double_up: に直接返信した場合、明日この投稿にあなたがそれを読んだ後戻ってきて「casino」という単語を追加しても、通知は届きません。

投稿を編集しました。これはあなたへの直接返信でした。

あなたが実際に投稿した内容を引用する形で私が編集を加えることが、なぜ特別な重みを持つ必要があるのでしょうか?それよりも、この投稿を完全に消し去ってゼブラの画像に置き換えることの方が重要ではないでしょうか :slight_smile:

:zebra:

ここはシンプルにすべきだと思います……メンションや直接返信のタイプに対しては、投稿ごとに通知は一度だけ、そして決してそれ以上出ないように。

この問題の一部は、おそらくこの @pmusaraj によって導入されたものではないでしょうか?Do not collapse quote notifications · discourse/discourse@27387b0 · GitHub

「いいね!」 6

ご質問の意図は理解しました。それを簡略化しましょう。

直接の返信を編集しただけでは通知が来ると思っていたのですが、もし来ないのであれば、そのパターンに従いましょう。

これは小さなリスクです。例えば、あなたが
「ねえクリス、あの機能終わらせてくれる?」
という投稿をしたとします。
私は
「もちろん、気にしないで」
と答えます。
そして、来週あなたが元のメッセージを
「ねえクリス、100万ドル貸してくれない?」
に変更した場合、私はあなたが私に頼みごとをしたなんて一生気づかないでしょう :slight_smile:

とはいえ、これは極めて稀なケースのように思えます :slight_smile:

そのケースはすでに未対応だと思います。現在の奇妙な挙動は以下の通りです:

この時点で、現在あなたは何も重複通知を受け取っていません。最初の返信のみが通知されます。奇妙なエッジケースは、このすべてを行った後に引用を追加すると発生します:

…そして、そこで初めて重複通知が届きます。

この新しい通知は全く意味がわかりません。あなたはすでに私に100万ドルを約束したのに、私たちはそのことについて何も言っていないのですから。

:blush:

「いいね!」 3