「名前を有効にする」を無効にすると、管理者が奇妙な動作をします

私が書いたコードは、「名前を有効にする」設定を削除するものではありません。[1] しかし、それに加えています。

  1. full_names_visible_to_groups 設定を追加します(adminsmoderators を必須値として含みます)。
  2. Guardiancan_see_full_names? メソッドを追加します。これは、enable_namesfull_names_visible_to_groups のグループメンバーシップの「and」を実行します。
  3. この新しいメソッドを、サーバーによってフルネームが公開/発行されるすべての適切な場所で使用します。

1と2は簡単でした。3はより複雑で、アドバイス/ガイダンスなしでは解決方法がわからなかったいくつかの問題に直面したことを知っています。コードとメモを深く見直す必要があります。(最後にこれに没頭してから2か月以上経ちました。 :see_no_evil_monkey:

(私の記憶が正しければ、「投稿での表示名」などはクライアントサイドの設定であり、サーバーから受信したデータの表示に影響します。つまり、サーバーが出力するものの上に制限が課せられます。)

(1)については、enable_names が true の場合に対応されていると思います。これは、新しいグループごとの設定が利用可能になったら、ほとんどの人が望むものになるでしょう。[2]

(2)については、遭遇し、対処したと思います。[3]

フルネームが漏洩している他のケースもいくつかあったことを覚えています。[4]

いずれにせよ、メモを見直して、今週中にPRを提出し、その過程で未解決の質問/未解決の事柄を掘り起こすつもりです。


  1. …これには多くの理由がありますが、そのうちのいくつかは次のとおりです。(a) 設定の実際の意図が何であるかわかりませんでした(上記の以前の投稿での私の質問を参照してください)、(b) そのままにしておくことで、より安全な段階的なアップグレードパスが提供されます。 ↩︎

  2. enable_names = false を「このサイトではフルネームは一切使用しない」というスタンスで捉えるならば。 ↩︎

  3. 例えば、招待メールが(明らかにユーザーに関連付けられていない、そうでなければ招待は不要な)アドレスに送信された場合、メールに招待者のフルネームが含まれるかどうか。 ↩︎

  4. 例えば、oneboxer.rb は、ローカルユーザーをワンボックス化する際に、フルネームをクックされた投稿コンテンツに書き込みます。これにより、誰でも、いつでも表示できるようになります。 ↩︎

「いいね!」 4