Is there a way to hide Seen column?

Some of my users dont like this option:

「いいね!」 1

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

「いいね!」 3

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;
}
「いいね!」 5

Hi! I am working on a Discourse instance that wants to invite people from various backgrounds and wants to provide a safe, secure and trusting environment.
I am wondering if in the future you would consider having a setting to globally turn off the Seen information (in group lists and anywhere else)? We would like to give a promise to our users that no other user can see when they were last online (i.e. the information is also not accessible when inspecting the html).

If the answer is no, I wonder if you can give advice for how to go about what I mentioned above? I am still quite new to this, so I would like to know if it’s best to hire someone to edit the source code or would a plugin or a component work?

Thank you very much!

I’m not sure about your actual question but this discussion relates to your issue:

It documents the setting that hides the user card:
hide_user_profiles_from_public

「いいね!」 3

Thank you for your comment!
We already hide the user cards, I think that’s a good feature.
However, I am concerned that in the future people in my community will want to hide the “seen” information even from logged in users. So, I just wanted to check what our options are if that time comes.

「いいね!」 2

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

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

「いいね!」 1

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

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

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

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

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

「いいね!」 3

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

「いいね!」 1

純粋な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」という名前のユーザーをターゲットにしないようにする)以下のより良いスクリプトを参照してください。

「いいね!」 1

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

「いいね!」 1

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

「いいね!」 2

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

「いいね!」 1

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

「いいね!」 2

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

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

<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>
「いいね!」 1