Seen 列を非表示にする方法はありますか?

Some of my users dont like this option:

Screenshot_2018-07-29%20How%20to%20hide%20users%20column%20on%20latest%20

Per user, no we do not have this option, you can suppress it globally via CSS.

If hiding it for all users in an option, this would be the CSS to globally suppress the “last seen” user profile stat:

// Hide the "Last Seen" section of the user profile
.user-main .about .secondary dl div:nth-child(3) {
    display: none;
}

こんにちは!多様な背景を持つ方々を招き入れ、安全で安心できる信頼ある環境を提供したいと考えている Discourse インスタンスに取り組んでいます。
将来的に、グループリストやその他の場所で見られる「Seen(閲覧済み)」情報をグローバルに無効化する設定を導入するご検討はなさいますでしょうか?当サイトでは、他のユーザーが利用者の最終オンライン時刻を確認できない(HTML を検査してもその情報が取得できない)ことをユーザーに約束したいと考えております。

もしそのご回答が「いいえ」の場合、上記の要望を実現するためのアドバイスをいただけますでしょうか?私はまだこの分野に詳しくないため、ソースコードを編集するために専門家を雇うのがベストなのか、それともプラグインやコンポーネントで対応可能なのかを知りたいです。

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

あなたの実際の質問については確信が持てませんが、この議論はあなたの問題に関連しています:

これはユーザーカードを非表示にする設定を文書化しています:
hide_user_profiles_from_public

ご意見ありがとうございます!
ユーザーカードはすでに非表示になっており、それは素晴らしい機能だと思います。
ただ、将来的にコミュニティのメンバーが「既読」情報をログインユーザーからも非表示にしたいと望む可能性があるため、その場合の選択肢について確認しておきたくてご連絡しました。

お世話になります。この件について最近の投稿が見つからなかったので、質問させていただきます。ユーザーにより多くのプライバシーを提供する方法として、「既読」および「オンライン状態」情報をログインユーザーからも隠せるようにすることについてです。

これを制御するための新しい設定はありますか?機能リクエストをオープンすべきでしょうか?

特定のユーザーの最終ログイン時間を非表示にするためのCSSクラスを追加することは可能ですか?

自分のプロフィールでは、人々がメッセージを送信してから私が最後にオンラインになった時間を確認できるため、それを非表示にしたいです。数日間返信しない場合(すぐにすべてに対応できるほどの時間がない場合)は気まずいですが、タブを開いているだけでサイトを確認していない場合でも、最近オンラインであることが繰り返し確認されることがあります。

誰もそこにいるだけで何かをしてくれると期待すべきではないと思います。それはあなたの人生であり、あなたの義務があります。ですから、境界を設定することが役立つと思います。たとえば、プロフィールに書き込むなどです。「私は忙しい人間なので、1週間以内に返信します」とか、「XとYに関する質問にのみ答えることを期待してください。それ以外はコミュニティを待ってください」などです。

ですから、それはむしろ他の人の問題だと思います。まるで、現実世界であなたを見かけて、今すぐやらなければならない非常に重要なことであなたに駆け寄ってくるようなものです!

もっと複雑ですが、詳しく説明できません。プレッシャーは計り知れません。

これには同意します。時には私がチェックする側になるので、そのユーザーがオンラインであるにもかかわらず、私に返信していないとわかっていると、落ち着かなくなります。

純粋なCSSでは不可能です。ノードパスは、ユーザー名を使用して「最終ログイン」要素をターゲットにすることはできません。

JavaScriptを使用すると、これは機能するはずです。

<script type="text/discourse-plugin" version="1.4.0">
  function hideLastSeen() {
    if (location.pathname.startsWith("/u/j127")) {
      document.querySelectorAll(".last-seen-at").forEach(el => el.remove());
    }
  }

  api.onPageChange(hideLastSeen);

  document.addEventListener("DOMContentLoaded", hideLastSeen);
</script>

Courtesy of


後で読む人のために、ユーザー名の誤ったターゲット設定を防ぐ(.startsWith("/u/john")を使用して「johndoe」という名前のユーザーをターゲットにしないようにする)以下のより良いスクリプトを参照してください。

セーフモードをオンにすると、これも機能しなくなりますか?

はい。管理者は必要に応じて、スタッフ以外のユーザーに対してセーフモードを無効にすることができます :slight_smile:

しかし、好奇心旺盛なユーザーはJSONレスポンスから情報を読み取ることができますよね?

はい。クライアントサイドのみのカスタマイズであるため、常に「ソフトバリア」となります。ユーザーはこの脆弱性を悪用するのに十分なほど決意(および知識)がある場合もあれば、そうでない場合もあります。

ありがとうございます、うまくいきました。

編集: 大文字小文字を区別しないように次のように変更しました。

<script type="text/discourse-plugin" version="1.4.0">
    function shouldHideLastSeen() {
        const p = location.pathname.toLowerCase();
        return p === "/u/username" || p.startsWith("/u/username/");
    }

    function hideLastSeen() {
        if (shouldHideLastSeen()) {
            document.querySelectorAll(".last-seen-at").forEach(el => el.remove());
        }
    }

    api.onPageChange(hideLastSeen);
    document.addEventListener("DOMContentLoaded", hideLastSeen);
</script>