サスペンドされたアカウントで、ユーザー名は補完でアクティブなままですか?

関連:
故人となったコミュニティメンバーに関するベストプラクティス

セキュリティ上の理由から故人のユーザーを一時停止したところ、検索フィールドでのユーザー名の自動補完も停止してしまうようです。

このユーザーは最も多くの投稿を行ったメンバーでしたので、これは非常に望ましくありません。

ユーザーを一時停止したまま、検索フィールドや他の場所でユーザー名の自動補完を維持することは可能でしょうか?

また、「一時停止」の理由として「故人」を選択肢に追加してほしいです。

よろしくお願いいたします。

ユーザーが検索結果に表示されないのは、停止ではなく「無効化」されたアカウントが原因ではないでしょうか。ユーザーを停止させた上で、アカウントを有効化してみてください。

停止ダイアログでは、任意の理由を入力できます。

また、万一誰かが再活性化を試みた場合に備えて、ユーザーのメールアドレスを suspended123@no-email.invalid のようなランダムなアドレスに変更することもできます。

現在のアカウント状態は「アクティブ」と表示されています。

はい、それを使用しました。しかし、「故人」が有効なデフォルトオプションとして存在し、アカウントを自動的に適切な扱いにできるようにすべきです。

残念ながら、この変更はメールアドレスが検証されていない限り実行できないようです。少なくとも私が変更を試みた際、すぐに「ユーザーがメールに返信する必要がある」という通知が表示されました。つまり、変更を行うためには、少なくともその間有効なメールアドレスである必要があるということになります。

最新バージョンをお使いですか?もしかすると、新しい検索機能がこの動作を変更したかもしれませんが、私がまだ最新バージョンにアップデートしていない Discourse では、停止され、その後アクティブ化されたユーザーも表示されます:

明日、最新バージョンにアップデートして、この動作が変化するかどうかをお知らせします。

私は最新のリリースバージョンである 2.7.8 (18b6f4ecf6) を使用しています。

あなたは管理者ですか?この動作は、管理者(または他の権限を持つユーザー)か一般ユーザーかによって異なるはずです。私のフォーラムでは、管理者ユーザーは停止されたユーザー名を自動補完できますが、一般ユーザーはできません。

はい、私は管理者ですが、基本ユーザーとしてログインしている場合でも、停止中およびアクティブなユーザーが検索で自動的に表示されてしまいます。

これは 2.8.0.beta6 (d3be77a0d1) のバージョンです。そのため、数バージョン遅れています。

最新版の 2.8.0.beta6 (073e5ccd83) にアップデートしましたが、動作は当初ご説明いただいた通りです。管理者の場合、停止中かつアクティブなユーザーが検索時に自動入力されますが、一般ユーザーの場合は自動入力されません。

では、ユーザーを停止したまま、自動入力に含める方法はあるのでしょうか。

もちろん、ユーザーは停止したままにする必要がありますが、彼には数千件の投稿があり、彼がフォーラムで最も投稿数の多い人物であったため、人々が彼の作品を簡単に検索できるようにしたいと考えています。

なぜ、パスワードを /dev/random から 1 メガバイトの値に設定しないのでしょうか?

彼を停止・無効化されないようにするには、Rails コンソールでメールアドレスを変更できます。

rails c
u = User.find_by_email('user@domain.com')
u.email = 'user@no-email.invalid'
u.save!

パスワードやメールアドレスを悪用してアカウントへのアクセスを妨げるような解決策は、できれば避けたいと考えています。アカウントは停止または無効化されるべきですが、オートコンプリート機能では引き続き利用可能であるべきです。

実際、投稿が削除されず検索可能な限り、停止されたアカウントもオートコンプリートに含めるべきです。停止されていてかつ投稿が全くない場合を除き、除外される理由が見当たりません。