UIで非スタッフユーザーのメッセージへのリンクがありません

テストや権限などをテストするために使用しているテストTL1ユーザーがいますが、今日、このユーザーには「メッセージ」が利用できないことに気づきました。

メッセージを送信したり、通知から開いたり、直接URL経由で開いたりすることはできますが、以下の場所にはメッセージのURLがありません。

  • プロフィール
  • 新しいサイドバー
  • 通知メニューのサブタブ「メッセージ」が表示されない

これを修正する方法について、何かアイデアはありますか?

ユーザーはTL1であり、PMアクセスが可能であるはずです。

例:私のプロフィールページには、ここに「メッセージ」が表示されるはずです。

「いいね!」 4

確認できると思います。バグチャンネルに移動します。:+1:

  • personal message enabled groupstrust_level_1 に設定されている
  • TL1/2/3 ユーザーはプライベートメッセージを送受信できるが、ユーザーメニューやユーザーエリアにメッセージタブは表示されない

メタでも確認しています:

「いいね!」 3

確認ありがとうございます。MetaではTL3ですが、メッセージタブは表示されています。

「いいね!」 1

実は、メタテストでしくじりました… :slight_smile: 以前、テストユーザーをTL0にダウングレードしたのを忘れていました。彼らをTL1に引き上げたところ、メッセージタブが表示されました。もっとも、それが私のテストサイトで同じことが起こらない理由を突き止めるのに役立つかもしれません。

「いいね!」 1

以前、TL1からTL0、そしてTL1に戻し、さらにはTL3に変更しても、何も違いはありませんでした。

セーフモードでも問題は解決しませんでした。

「いいね!」 2

テストサイトでは、スタッフ以外のユーザーには非表示になっているようです。テストユーザーをモデレーター未満にダウングレードしても表示されません。メタでは問題ありませんが。:thinking:

「いいね!」 2

別のインスタンスを更新した後、TL1ユーザーにログインしたところ、メニューやプロフィールからメッセージが消えました。ここでは新しい/実験的なサイドバー/通知メニューを使用していません。

これは、私が2つのインスタンスで経験していることと全く同じです。

「いいね!」 2

今朝、テストサイトを更新してもう一度試したところ、この問題は発生しなくなりました。メッセージタブが、スタッフ以外のユーザーに対して本来表示されるべき場所に表示されるようになりました。これが新しいアップデートの結果なのか(関連するコミットは見つかりません)、あるいは設定を変更したか、他の問題テスト中に何かを行ったことによるものなのかは分かりません。:thinking:

念のため、最新バージョンに更新して問題が解決するかどうか確認していただけますか?

(ちなみに、別のことを調べているときに新しいテストサイトも立ち上げましたが、そちらの新しいTL1テストユーザーでもメッセージタブは正しい場所に表示されていました)

「いいね!」 1

過去24時間で2回再構築しましたが、今のところ問題は解決していません。奇妙です。原因は何だろうか。セーフモードでも解決しません。

TL1ユーザーのプロフィール設定ページにも、「他のユーザーが個人的なメッセージやダイレクトメッセージを送信できるようにする」というオプションがないことに気づきました。

新しい「ダイレクトメッセージ有効グループ」(および既存の「チャット許可グループ」)プラグイン設定を、タブがない状態からある状態に変わる間にいくつかテストしていました。それらの設定を変更したりリセットしたりしたことが原因である可能性はわずかにあります。

「いいね!」 1

これらのチャット設定で試してみました。以前にも他の設定でバグがないかテストしましたが、古い設定がまだ有効になっているのでしょうか?よくわかりません。

編集:min trust to send messages0: new user に設定すると、ユーザーをTL1に昇格させてもメッセージが表示されるようになります。


編集2:最新の発見から結論として、以下に見られるセットアップでは、管理者/モデレーター以外はメッセージを見ることができません。min trust to send messages0: new user に設定すると、TL0を含む全員がメッセージセクションを見ることができます。2つのインスタンスで同じ動作です。

personal message enabled groupsある程度効果があり、ユーザーページではユーザーが必要なTLを持っていない場合、メッセージボタンが削除されます。しかし、メッセージタブは min trust to send messages0: new user に設定されている場合にのみ表示されます。

「いいね!」 1

Discourse インスタンスを 2.9.0.beta10 にアップデートしましたが、新しいサイドバー機能は有効にしませんでした。ユーザーから、右上のアバターをクリックしたときのメニューバーにある個人メッセージアイコンが消えたと指摘されています。ただし、管理者としては自分のアイコンはまだ見えています。新しいサイドバーメニューのリリースにより、アイコンが削除されたのでしょうか?元に戻す方法はありますか?よろしくお願いします!

管理者メニューバー:

通常のユーザーメニューバー:

ありがとうございます!

「いいね!」 3

投稿をこのトピックに移動しました。同じ問題のようです。:+1:

私の場合は、原因を特定せずに偶然修正してしまいましたが、2回目の報告があれば特定しやすくなると思います。:slightly_smiling_face:

min trust to send messages を TL0 に変更してから TL1 に戻してみて、リセットすることで解決するかどうか試していただけますか?

「いいね!」 1

いいえ、それは解決しません。

注目すべきは、上記の設定を TL0 に設定し、ページを保存して更新すると、次のようになります。

私も同じことに気づきました。設定変更について、personal_message_allowed_groups に関連付けられたスタッフログに何かが記録されていると思いますが、明日もう少し詳しく調べる必要がありますが、私が何をしたかを追跡できる場所かもしれません。

「いいね!」 1

personal_messages_enabled_groups 設定を追加したので、この動作を確認しています。この動作は予期しないものです。

enable_personal_messagesmin_trust_to_send_messages の設定を UI で変更すると、personal_message_enabled_groups 設定も変更されるようです。enable_personal_messages のチェックを外して保存すると、personal_message_enabled_groups がクリアされ、上記で示された動作が再現されます。または、min_trust_level_to_send_messages を TL1 に設定すると、personal_message_enabled_groups が管理者に設定されます。

UI で古い設定を非表示にし、この overridetrue に設定されていなくても、新しい設定の値を古い設定の変更値に無条件に設定する SiteSettingsController のこの部分を修正する PR を本日オープンします。

まず古い設定を非表示にして、被害を食い止めます。personal_message_enabled_groups を希望の値に設定し、他の設定はそのままにしておいてください。それでも問題が解決しない場合はお知らせください。

「いいね!」 2

古い設定を非表示にするためのPRをマージしました。

「いいね!」 4

ありがとうございます。再構築しましたが、まだ1コミット遅れています。/admin/upgradeでもアップデートが利用可能であることが表示されていません。明日もう一度試します。重ねて感謝申し上げます。おやすみなさい!

「いいね!」 2

UIで非表示になっていない他の非推奨設定では、このようにならないはずです。これは、以前に別の修正をマージしたためです。FIX: Deprecated settings should not override from UI by martin-brennan · Pull Request #18536 · discourse/discourse · GitHub

「いいね!」 2

古い設定は削除されたようですが、すべてのTLグループは無視され、新しい設定が「全員」に設定されている場合にのみ、ユーザーはメッセージへのアクセス権を持ちます。

「いいね!」 1