ユーザーが個人メッセージに他のユーザーを追加できない

これは TPM で今さっき作成したものです。

試しにあなたにメッセージを送ってみたところ、ここでは以下のような表示になりました。

私はここでは TL2 ではありませんが、TPM では TL3 です(テストのためにモデレーターが昇格させてくれました)。

そのため、送信者である私は自分自身を削除できません——これは当然のことですが——他の誰かを削除することもできません。受信者である場合は自分自身のみを削除できますが、TPM では「+」ボタンを通じて他の人を追加するオプションが表示されません。

以下が見つかりました:

  • TL2 以上のユーザーは、トピックの作成者受信者のいずれかに関わらず、他のユーザーを PM に追加できます。
  • TL1 の PM 作成者は、ユーザーの追加や削除ができません。
  • TL1 の PM 受信者は自分自身を削除できますが、新しいユーザーを追加することはできません。

信頼レベルの概要によると、上記の動作は正しいようです(強調は追加):

@laughingriver 最も良い対応は、サイトを最新の状態に更新することです。その後、関与している可能性のある他の要因について調査できます。

そういえば、@sam さんには、以下のような機能を追加したいと考えています:

  • 誰も参加者を追加・削除できない「クローズド」な PM を作成する(スタッフを除く)
  • PM のオーナーのみが参加者を追加・削除できるようにする(スタッフを除く)

これは、ここで TL2 や TL3 をいじくるよりもはるかに有用だと思います。

了解です。もしサイトアップデートの問題であれば、TPM が頻繁にアップデートを行っていることを考えると、解決までには時間がかかるかもしれません。

その信頼レベル設定は、2.3.0 リリースへのアップグレード前に公開されたものでした。そのため、数回のリリースにわたって有効だと考えていました。

当サイトでは、保護者や他の成人をコピー(CC)せずに成人が青少年にメッセージを送信するのを防ぐ必要があるため、「個人メッセージを有効にする」設定をオフにしています。ただし、モデレーターとユーザー間のコミュニケーションには個人メッセージを利用しています。

問題が発生するのは、既存のメッセージの「追加または削除」をクリックした際、受信者を削除することはできますが、新しい受信者を追加できない点です。別の設定が必要でしょうか、それとも「個人メッセージを有効にする」がオフになっているため、モデレーターや管理者であっても受信者の追加が無効になっているのでしょうか?

ご支援ありがとうございます。

本日早些頃、同様の問題について調べていました:https://meta.discourse.org/t/unable-to-add-user-to-pm-topic/162945。そのケースでは、`max invites per day設定が0の場合、一般ユーザーはPMにユーザーを招待できないという問題が見つかりました。あなたのケースでは、おそらく enable personal messages サイト設定が原因です。この設定が無効になっている場合、管理者のみが既存のPMにユーザーを追加できます。enable personal messages` が無効になっている場合、モデレーターはPMにユーザーを追加できません。

あなたのサイトでも、管理者がPMにユーザーを追加できるか確認していただけませんか?これを行うには、管理者が個人メッセージを開始するユーザーである必要があります。

この動作は意図的なものであり、コードに明示的に記述されているため、ほぼ確信しています。enable personal messages サイト設定が無効になっている場合に、モデレーターがPMにユーザーを追加できない背景にある考えについてはっきりとはわかりません。おそらく、これは変更可能な点かもしれません。

もし誰かが確認したい場合に備えて、開発者へのメモを残しておきます。問題はここで発生しています:discourse/lib/guardian.rb at main · discourse/discourse · GitHub

新しいプライベートメッセージを作成し、管理者アカウントからユーザーを追加するテストを行いました。これは正常に動作しました。

「個人メッセージを有効にする」が無効になっている場合でも、モデレーターがメッセージを発信できるのであれば、モデレーターがユーザーをプライベートメッセージに追加できるようにすると便利だと思います。

「個人メッセージを有効化」が無効になっている場合に、スタッフが自分が開始したプライベートメッセージにユーザーを追加できるようにするオプションの追加(あるいは制限の撤廃)について、検討はなされましたか?

こんにちは、皆様。

数週間前のアップデート以降、この問題が発生しています。ユーザーは自分が所有するプライベートメッセージ(PM)から他の参加者を削除できますが、新しいユーザーを追加することができなくなっています。

招待権限は「TL2 を持つ全員」(私のテストユーザーも該当)に設定されており、「プライベートメッセージを有効化」もオンになっています。1 日あたりの最大招待数は 10 に設定されています。他に問題の原因となる要因は見つかりませんでした。

ご意見をお聞かせください。よろしくお願いいたします!

最新のコミットでも同じ現象が見られます :cry:

@tshenry さん、ここで問題の再現は可能ですか?

本日、この件について少し調査する機会がありましたが、報告されている動作を再現できませんでした。設定(PM が有効で、TL2 は 1 日最大 10 回まで招待可能)を用いて、以下の 3 つのメッセージングシナリオを試みました。

  1. 管理者 → TL2 :white_check_mark:
  2. TL2 → 管理者 :white_check_mark:
  3. TL2 → TL2 :white_check_mark:

その後続する返信が新しいユーザーを追加する機能を破損させるかどうかを確認しようとしましたが、興味深いことに、上記のすべてのシナリオで、オーナーと参加者の両方に「追加」オプションが表示されました。むしろ、現在の設定は少し 緩い ように感じられます。

「削除」ボタンは表示されるものの「追加」オプションが表示されない状況に陥ったのは、自分が他人が開始した PM の TL1 参加者であった場合のみでした。その場合、自分自身を削除することはできましたが、他のユーザーを追加したり削除したりすることはできませんでした。

@sdpiowa @diakopter 今でもこの問題が発生していますか?もしそうであれば、私が再現試行できるよう、詳細な再現手順を特定していただけますでしょうか?

はい、関係者の TL と設定を調査します。すべてのアカウントは TL2 だと考えていますが、特定の項目については最小 TL 設定を変更しました。近日中に改めてご連絡いたします。

こんにちは、

Discourse でホストされている当社のフォーラムでも、同様の問題が発生しています。当サイトでは「招待」(非ユーザーへのメール招待を許可する機能)が無効になっており、個人メッセージには(管理者以外のユーザーに対して)「削除…」ボタンしか表示されません。ここにリンクされているコードを簡単に確認しました。

私の推測では、既存の個人メッセージに他のユーザーを招待する権限があるかどうかをテストするための専用コード(関数や分岐)が存在しないのではないかということです。おそらくこの「テスト」は当初、何らかの方法で副次的に処理されていたものが、最近のアップデート後に意図せず(副作用として)動作が変化したのかもしれません。これを管理ダッシュボード上の独自の適切な設定として実装していただければ幸いです(「スレッド作成者が既存の個人メッセージスレッドにユーザーを追加することを許可するか?」および「任意の参加者が既存の個人メッセージスレッドにユーザーを追加することを許可するか?」など)。

上記の情報は @tshenry さんのお役に立ちましたか?

可能性があります!まだ再度調査する機会がありませんでした。優先度を上げ、明日に取りかかるように努めます。

この件について進展はありましたか?最新バージョンに更新したばかりですが、動作は同じようです。

私の見解では、これは「ユーザーの承認を必須とする」という設定と、PM(プロジェクト管理)における外部ユーザーの招待と既存ユーザーの招待との相互作用にかかっています。

お騒がせして申し訳ありません。エンジニアが対応しておりますので、まもなく解決いたします。

トピックへの招待(既存ユーザー)とフォーラムへの招待(新規ユーザー)は別物であり、それぞれ適切に処理すべきだと考えます。この変更に関する PR を作成しました: