チャットチャネル内のすべてのユーザーの、チャットのメールメッセージ受信設定を強制的に更新する方法はありますか?
ユーザーがデフォルトでメールを受信するようにしたいです。
よろしくお願いします。
チャットチャネル内のすべてのユーザーの、チャットのメールメッセージ受信設定を強制的に更新する方法はありますか?
ユーザーがデフォルトでメールを受信するようにしたいです。
よろしくお願いします。
なぜそんなことをするのですか?ユーザーの設定はユーザーが望むものであるはずです。新しいDIscourseインスタンスにサインアップするとき、私が最初に行うことは、プロフィールに移動してメール設定を「なし」に変更することです。誰かが、私がDiscourseとのやり取りをどのように望んでいるかについて、私よりもよく知っていると判断したと知ったら、私は非常に腹を立てるでしょう。実際、管理者が私にこのようなことをした場合、スパム行為と見なします!
はい、ユーザーが選択したものを上書きするためのものではありません。
しかし、初期のデフォルト値があると理にかなっています。チャット機能を有効にしたところ、現在メールが送信されていないようです。
私たちのフォーラムのような場合、人々は設定にアクセスして、適切に通知されることを期待することはありません。
テストサイトを確認したところ、チャットのメール通知のデフォルトは「不在時のみ」(もう一つの選択肢は「なし」)になっているようです。
ユーザー設定の管理画面にデフォルトを追加できるのではないかと思いますが、おそらくあなたが提案していることとは逆のものが適切でしょう。
これは他のデフォルト設定と同様に機能し、手動で設定を選択していないユーザーのプリファレンスのみを変更します。
検討のため、UX に移動しました。![]()
ありがとうございます。しかし、デフォルトの「不在時のみ」は、最近サイトにアクセスしていないすべての人にメールを送信するべきではありませんか?
一般チャットチャンネルには300人以上のメンバーがいましたが、送信されたメッセージは2通だけでした。
言うまでもなく、300人のほとんどは15分のウィンドウでサイトにいませんでした。
チャットメッセージごとに通知が届くわけではなく、メンションされたメッセージ(自分自身の@メンション、@here、@all)のみに通知が届くようになっているため、それが原因かもしれません。
申し訳ありません。明確にしなかったかもしれませんが、@ を使用しましたが(ここではスペースを追加しました)、機能しませんでした。
追伸:実際、私のサイトのチャットに最近アクティブなメンバーとして追加されていないのはなぜだろうと思っています。![]()
ああ、投稿投票コメントのテストが終わった後、あなたのサイトのテストアカウントを削除してしまったんです。![]()
チャットユーザーが「@all」に含まれるタイミングについて何か変わった点がないか簡単に試してみましたが、(非常に簡単な確認ですが)チャンネルリストにいる全員が含まれているようでした。メールが届かなかったユーザーを数人選び、通知が届いたかどうか、またチャットのメール設定が意図した通りになっているかを確認してみてはいかがでしょうか?
これは私のテストです。
1. すべてを通知するようにチャネル設定を変更しました(メールには影響しないと思いますが)。
2. チャネル内の313人からメンバーを1人選び、標準ユーザー設定は「不在時のみメール」です。チャットメッセージで数時間前に作成された@ allは、ここで見られるように通知を送信しましたが、メールは送信されませんでした。
3. 2人のメンバーを除き、メールは送信されませんでした。どちらも管理者/モデレーターであり、以前にチャットを使用していました。それが違いかどうかはわかりません。
4. 余談ですが、管理者はユーザーのチャット設定を見ることができないようです。
今朝、もう少し詳しく調べてみましたが、私の環境では問題なく動作しているようです。![]()
テストユーザーは6人おり、全員が~generalチャンネルの自動登録メンバーです。そのうち1人は管理者で、もう1人はチャットチャンネル(またはチャット)を一度も開いたことのない、完全に新規のTL0ユーザーです。昨日以降、テストユーザーのいずれもログインしていません(新しいテストユーザーtest_sixを除く。ただし、テスト前に少なくとも15分間の「ダウンタイム」を確保しました)。
@allで~generalチャンネルにメンションしたところ、全員に通知が送信されました。数分後、それぞれのテストメールアドレスに6通のchat_summaryメールが送信されました。
他に確認すべきことが分かりません。コードを調べましたが、私のコード解読スキルはあまり高くありません。
もう少し考えてみます。
それに言及していただきありがとうございます。
チームに伝えました。![]()
ありがとうございます。
私自身はあまり専門知識がないのですが、lib/chat_mailer.rb の users_with_unprocessed_unread_mentions は、メールを送信するユーザーをすべて取得していないように思われます。
どなたか、これを検証する方法をご存知でしょうか?
@JammyDodger
実際の状況を反映するようにタイトルを更新しました。
他に提案できるテストはありますか?
これをバグとしてタグ付けすべきでしょうか、それとも再現するための他のテストが見つかりますか?
まだ明確な再現手順はないと思います。
私の理解では、@JammyDodger があなたの報告に基づいてこの問題を再現しようとしていますが、今のところ成功していません。
いくつか注意点があります。
これはチャンネル全体の設定ではなく、そのチャンネルに対するユーザーの設定です。しかし、表示されているのはデフォルト設定なので、313人のメンバーのほとんどがそのように設定していると推測されます。
本当に離席していたのですか?もしサイトに接続していた場合、通知はメールを送信しません。
なるほど、これは期待通りに動作していない「何か」があるというかなり強い証拠です。313人中2人よりも多くの人が離席していたと推測していました。その時、全員がサイトに接続していた可能性はありますか?
明確化していただきありがとうございます。これらは管理者が変更できるチャンネル設定だと思っていました。「設定」という言葉は管理者のコントロールのように聞こえます。
彼らがオフラインだったと確信していますか?もしサイトにアクセスしていた場合、通知はメールを送信しません。
わかりました、これは何かが期待どおりに機能していないというかなり強い証拠です。313人のうち3分の2以上がオフラインだったと推測していました。その時点で全員がサイトにアクセスしていた可能性はありますか?
はい、その大部分(すべてではないにしても)が直前の15分間オフラインだったと言っても安全です(そのようなエンゲージメントがあればいいのですが:blush:)。オフラインだった非スタッフアカウントを選んで確認しました。
これを再現できたと思います。
![]()
既存のテストサイトではできませんでしたが、以前に何かを変更・調整したことが影響しているのではないかと思い、新しいサイトを立ち上げて試してみました。
新規サイトを作成
チャットを有効にし、chat_allowed_groups に staff と共に everyone を追加しました。
3人のテストユーザーをサインアップしてログインし、すべてを約 general チャンネルに自動登録しました(うち1人は管理者)。全員ログアウトしました。
お茶を淹れました。
メイン管理者の権限で、チャンネルのメンバーであることを確認し、@all でメンションしました。
全員が通知を受け取りました。
管理者ユーザーのみがメールで通知を受け取りました。
@JammyDodger - チャット許可グループの設定値を変更しましたか? staffのみに設定されている場合、管理者のみがメールを受信した理由が説明できます。
チャットを有効にし、同時に everyone を追加しました。
(すみません、ステップバイステップから抜け落ちていました。今追加します)
@Roman さん、把握したと思います。
chat_allowed_groups に everyone を追加すると、全員がチャットにアクセスでき、通知を受け取ることができますが、@all のメールは届きません。しかし、trust_level_0 を追加すると、スタッフではないテストユーザーが @all メンションに関するメールを受け取ります。
すごい、なんて調査だ!![]()
確認したところ、私のサイトではチャットで許可されたグループに全員が所属しているスタッフがいます。
@JammyDodger さん、ありがとうございます ![]()
everyone のケースは他のグループとは異なるため、特別に処理する必要があります。修正は以下のとおりです。
main ← emails_for_everyone
The mailer in charge of sending chat summary emails applies a filter to ensure o…
@alehandrof が、一部のユーザーがグループチャットのメッセージに対するメール通知を受け取れていないと報告しています。
特定のユーザーとチャットを試していますが、「メール通知の設定は正しいのに、チャットにコメントがあったことを知らせるメールが届かなかった」という報告があります。
ユーザーによると、設定はデフォルトになっており、最近アクティブではなかったとのことです。
また、グループダイレクトメッセージでは、「チャンネル」設定がデフォルトで「すべてのアクティビティ」の通知を受け取るようになっているため、通知には @mention が必要ないはずです。
一方、Alex(管理者)は直接メール通知を受け取っています。
Alex、現在お使いのサイトのバージョンを確認していただけますか?