「トピックに到達」招待権限の問題

概要:

招待に「トピックへ移動」オプションを使用すると、奇妙な権限の問題が発生します。

再現手順:

  1. グループ specialgroup を作成
  2. カテゴリ testcategory を設定
  3. trust_level_0 と specialgroup の両方を、See/Reply/Create* として追加
  4. そのカテゴリにトピックを作成
  5. 招待を作成し、「トピックへ移動」をステップ4で作成したトピックに設定

  1. ため息
  2. 一時的にカテゴリの権限から specialgroup を削除し、カテゴリには trust_level_0 だけが See/Reply/Create を持つようにする
  3. 招待を再度作成し、「トピックへ移動」をステップ4で作成したトピックに設定
  4. 状況が実際には悪化しているのを確認

  1. 賢く振る舞い、カテゴリの権限を trust_level_0 の代わりに logged_in_users に設定してみる
  2. これでも違いがないことを知る

関連する可能性があるもの

Invite link to private group, arrive at topic (private category) not working のバリエーション。今回は招待リンクの作成中に問題が発生します。

*) 両方のグループを持つことは理にかなっていないように聞こえますが、specialgroup だけが許可されているサブカテゴリがある場合、trust_level_0 は常にスーパーセットであることを Discourse が理解しないため、そのグループを親カテゴリにも追加する必要があります。

「いいね!」 1

問題を確認しました。再現手順を共有してくださってありがとうございます。この修正により、リンクされたトピックの問題も解決できるはずです。

問題の原因は、招待を適用した後、すべてのユーザーが trust_level_0 および logged_in_users(ならびに default_invitee_trust_level)に所属しているという事実を見落としていたことです。招待プロセスでは、招待されたユーザーをこれらのグループに追加することを要求していましたが、それらは自動グループであるため、追加することはできません。

「いいね!」 1