ユーザー設定に従って、Chat の通知メールが送信されていません

チャットチャネル内のすべてのユーザーの、チャットのメールメッセージ受信設定を強制的に更新する方法はありますか?

ユーザーがデフォルトでメールを受信するようにしたいです。

よろしくお願いします。

なぜそんなことをするのですか?ユーザーの設定はユーザーが望むものであるはずです。新しいDIscourseインスタンスにサインアップするとき、私が最初に行うことは、プロフィールに移動してメール設定を「なし」に変更することです。誰かが、私がDiscourseとのやり取りをどのように望んでいるかについて、私よりもよく知っていると判断したと知ったら、私は非常に腹を立てるでしょう。実際、管理者が私にこのようなことをした場合、スパム行為と見なします!

「いいね!」 3

はい、ユーザーが選択したものを上書きするためのものではありません。

しかし、初期のデフォルト値があると理にかなっています。チャット機能を有効にしたところ、現在メールが送信されていないようです。

私たちのフォーラムのような場合、人々は設定にアクセスして、適切に通知されることを期待することはありません。

「いいね!」 1

テストサイトを確認したところ、チャットのメール通知のデフォルトは「不在時のみ」(もう一つの選択肢は「なし」)になっているようです。

ユーザー設定の管理画面にデフォルトを追加できるのではないかと思いますが、おそらくあなたが提案していることとは逆のものが適切でしょう。:slightly_smiling_face:これは他のデフォルト設定と同様に機能し、手動で設定を選択していないユーザーのプリファレンスのみを変更します。

検討のため、UX に移動しました。:+1:

「いいね!」 4

ありがとうございます。しかし、デフォルトの「不在時のみ」は、最近サイトにアクセスしていないすべての人にメールを送信するべきではありませんか?

一般チャットチャンネルには300人以上のメンバーがいましたが、送信されたメッセージは2通だけでした。
言うまでもなく、300人のほとんどは15分のウィンドウでサイトにいませんでした。

「いいね!」 3

チャットメッセージごとに通知が届くわけではなく、メンションされたメッセージ(自分自身の@メンション@here@all)のみに通知が届くようになっているため、それが原因かもしれません。

「いいね!」 4

申し訳ありません。明確にしなかったかもしれませんが、@ を使用しましたが(ここではスペースを追加しました)、機能しませんでした。

追伸:実際、私のサイトのチャットに最近アクティブなメンバーとして追加されていないのはなぜだろうと思っています。:grinning:

「いいね!」 2

ああ、投稿投票コメントのテストが終わった後、あなたのサイトのテストアカウントを削除してしまったんです。:slight_smile:

チャットユーザーが「@all」に含まれるタイミングについて何か変わった点がないか簡単に試してみましたが、(非常に簡単な確認ですが)チャンネルリストにいる全員が含まれているようでした。メールが届かなかったユーザーを数人選び、通知が届いたかどうか、またチャットのメール設定が意図した通りになっているかを確認してみてはいかがでしょうか?

「いいね!」 3

これは私のテストです。

1. すべてを通知するようにチャネル設定を変更しました(メールには影響しないと思いますが)。

2. チャネル内の313人からメンバーを1人選び、標準ユーザー設定は「不在時のみメール」です。チャットメッセージで数時間前に作成された@ allは、ここで見られるように通知を送信しましたが、メールは送信されませんでした。

3. 2人のメンバーを除き、メールは送信されませんでした。どちらも管理者/モデレーターであり、以前にチャットを使用していました。それが違いかどうかはわかりません。

4. 余談ですが、管理者はユーザーのチャット設定を見ることができないようです。

「いいね!」 2

今朝、もう少し詳しく調べてみましたが、私の環境では問題なく動作しているようです。:thinking:

テストユーザーは6人おり、全員が~generalチャンネルの自動登録メンバーです。そのうち1人は管理者で、もう1人はチャットチャンネル(またはチャット)を一度も開いたことのない、完全に新規のTL0ユーザーです。昨日以降、テストユーザーのいずれもログインしていません(新しいテストユーザーtest_sixを除く。ただし、テスト前に少なくとも15分間の「ダウンタイム」を確保しました)。

@all~generalチャンネルにメンションしたところ、全員に通知が送信されました。数分後、それぞれのテストメールアドレスに6通のchat_summaryメールが送信されました。

他に確認すべきことが分かりません。コードを調べましたが、私のコード解読スキルはあまり高くありません。:slightly_smiling_face: もう少し考えてみます。


それに言及していただきありがとうございます。:+1: チームに伝えました。:slightly_smiling_face:

「いいね!」 2

ありがとうございます。
私自身はあまり専門知識がないのですが、lib/chat_mailer.rbusers_with_unprocessed_unread_mentions は、メールを送信するユーザーをすべて取得していないように思われます。

どなたか、これを検証する方法をご存知でしょうか?

@JammyDodger
実際の状況を反映するようにタイトルを更新しました。
他に提案できるテストはありますか?
これをバグとしてタグ付けすべきでしょうか、それとも再現するための他のテストが見つかりますか?

まだ明確な再現手順はないと思います。

私の理解では、@JammyDodger があなたの報告に基づいてこの問題を再現しようとしていますが、今のところ成功していません。

いくつか注意点があります。

これはチャンネル全体の設定ではなく、そのチャンネルに対するユーザーの設定です。しかし、表示されているのはデフォルト設定なので、313人のメンバーのほとんどがそのように設定していると推測されます。

本当に離席していたのですか?もしサイトに接続していた場合、通知はメールを送信しません。

なるほど、これは期待通りに動作していない「何か」があるというかなり強い証拠です。313人中2人よりも多くの人が離席していたと推測していました。その時、全員がサイトに接続していた可能性はありますか?

「いいね!」 2

明確化していただきありがとうございます。これらは管理者が変更できるチャンネル設定だと思っていました。「設定」という言葉は管理者のコントロールのように聞こえます。

はい、その大部分(すべてではないにしても)が直前の15分間オフラインだったと言っても安全です(そのようなエンゲージメントがあればいいのですが:blush:)。オフラインだった非スタッフアカウントを選んで確認しました。

「いいね!」 1

これを再現できたと思います。:slightly_smiling_face: :raised_hand:

既存のテストサイトではできませんでしたが、以前に何かを変更・調整したことが影響しているのではないかと思い、新しいサイトを立ち上げて試してみました。

  • 新規サイトを作成

  • チャットを有効にし、chat_allowed_groupsstaff と共に everyone を追加しました。

  • 3人のテストユーザーをサインアップしてログインし、すべてを約 general チャンネルに自動登録しました(うち1人は管理者)。全員ログアウトしました。

  • お茶を淹れました。

  • メイン管理者の権限で、チャンネルのメンバーであることを確認し、@all でメンションしました。

  • 全員が通知を受け取りました。

  • 管理者ユーザーのみがメールで通知を受け取りました。

「いいね!」 5

@JammyDodger - チャット許可グループの設定値を変更しましたか? staffのみに設定されている場合、管理者のみがメールを受信した理由が説明できます。

チャットを有効にし、同時に everyone を追加しました。:+1: (すみません、ステップバイステップから抜け落ちていました。今追加します)

@Roman さん、把握したと思います。 :raised_hand: chat_allowed_groupseveryone を追加すると、全員がチャットにアクセスでき、通知を受け取ることができますが、@all のメールは届きません。しかし、trust_level_0 を追加すると、スタッフではないテストユーザーが @all メンションに関するメールを受け取ります。

「いいね!」 6

すごい、なんて調査だ!:clap:

確認したところ、私のサイトではチャットで許可されたグループに全員が所属しているスタッフがいます。

「いいね!」 4

@JammyDodger さん、ありがとうございます :tada:

everyone のケースは他のグループとは異なるため、特別に処理する必要があります。修正は以下のとおりです。

「いいね!」 8

@alehandrof が、一部のユーザーがグループチャットのメッセージに対するメール通知を受け取れていないと報告しています。

特定のユーザーとチャットを試していますが、「メール通知の設定は正しいのに、チャットにコメントがあったことを知らせるメールが届かなかった」という報告があります。

ユーザーによると、設定はデフォルトになっており、最近アクティブではなかったとのことです。

また、グループダイレクトメッセージでは、「チャンネル」設定がデフォルトで「すべてのアクティビティ」の通知を受け取るようになっているため、通知には @mention が必要ないはずです。

一方、Alex(管理者)は直接メール通知を受け取っています。

Alex、現在お使いのサイトのバージョンを確認していただけますか?

チャットトランスクリプト
Originally sent in chat feedback
alehandrof

特定のユーザーとチャットを試していますが、メールで通知されるタイミングや方法がよくわかりません。

関連する設定はこのようです。

しかし、「メール通知の設定は正しいのに、チャットにコメントがあったことを知らせるメールが届かなかった」という報告があります。

何が足りないのでしょうか?

mcwumbly

@alehandrof おそらく、メールは、その人がいるチャンネルのすべてのメッセージではなく、@mention された人にのみ送信されるのではないでしょうか。

チャンネルごとに、すべてのアクティビティの通知を受け取るようにオプトインする設定もあります。その場合、メールが送信されるかどうかは覚えていませんが、試してみてはどうでしょうか。

alehandrof

しかし、複数の人にチャットを送信する場合(チャンネルではなく)、それらの特定の人物を対象としているはずですよね?

また、その3人のグループでは、@mention されていなくてもメール通知を受け取りました。

私だけが受け取ったと思われるメールの例

なぜ私が受け取って、彼らは受け取らないのでしょうか?(管理者の場合、違いがあるかもしれません。)

おっしゃっていた設定に気づきました。設定がどうなっているか確認するために、後で連絡します。しかし、これらの設定がこの動作に影響している場合、デスクトップとモバイルの通知についてしか言及しておらず、メールについては何も言及していないため、少し不明瞭です。

参考までに、同僚の少なくとも一人が私と同じ設定をしていることを確認しました。そのため、チャットがメール通知をどのように処理しているのか、引き続き首をかしげています。

mcwumbly

ああ、良い点ですね。「すべてのアクティビティ」は、ダイレクトメッセージ(複数人とのものを含む)のデフォルトの通知レベルなので、メール通知が送信されるはずだと思います。

もっと詳しく調べるために、これをトピックにしたいと思います。