Y a-t-il un moyen de cacher la colonne Vu?

Some of my users dont like this option:

1 « J'aime »

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

3 « J'aime »

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 « J'aime »

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 « J'aime »

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 « J'aime »

Désolé pour le déterrage, mais je n’ai pas pu trouver de publication récente parlant de cela. La possibilité de masquer certaines informations de « vu » et de « présence » même aux utilisateurs connectés, afin d’offrir plus de confidentialité aux utilisateurs.

Existe-t-il de nouveaux paramètres pour contrôler cela ? Devrions-nous ouvrir une demande de fonctionnalité ?

1 « J'aime »

Est-il possible d’ajouter des classes CSS pour permettre de masquer la dernière heure de connexion pour des utilisateurs spécifiques ?

Je souhaite la masquer pour mon profil, car les gens m’envoient des messages et peuvent ensuite voir quand j’étais en ligne pour la dernière fois. C’est juste gênant si je ne réponds pas pendant quelques jours (pas assez de temps pour que je puisse tout faire tout de suite) mais ils peuvent voir que j’étais en ligne récemment car ils vérifient mon profil à plusieurs reprises, parfois parce que j’ai juste un onglet ouvert quelque part mais que je ne consulte pas le site.

Je pense que personne ne devrait s’attendre à ce que quelqu’un fasse quoi que ce soit simplement en étant présent. C’est votre vie et vous avez vos devoirs. Je pense donc qu’il serait utile de fixer des limites, par exemple en les écrivant dans votre profil. Comme « Je suis une personne occupée et je vous réponds dans la semaine ». Ou « Veuillez seulement vous attendre à ce que je réponde aux questions sur X et Y, pour le reste attendez la communauté ».

Je pense donc que c’est plutôt un problème pour les autres. Comme s’ils vous voyaient quelque part dans la vraie vie et se précipitaient vers vous avec quelque chose de très important que vous devez faire tout de suite !

C’est plus compliqué que ça, mais je ne peux pas expliquer en détail. La pression peut être immense.

3 « J'aime »

Je suis d’accord avec ça. Parfois, c’est moi qui fais la vérification, donc je suis nerveuse quand je sais que l’utilisateur est en ligne, mais qu’il ne m’a pas répondu.

1 « J'aime »

Impossible avec du CSS pur, aucun chemin de nœud ne peut utiliser votre nom d’utilisateur pour cibler les éléments « dernière connexion ».

Avec JavaScript, cela devrait fonctionner :

<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>

Avec l’aimable autorisation de


Pour les futurs lecteurs, regardez le meilleur script ci-dessous qui évite le ciblage incorrect des utilisateurs (pour éviter de cibler un utilisateur nommé « johndoe » si vous utilisez .startsWith("/u/john")).

1 « J'aime »

Est-ce que cela cesserait de fonctionner avec le mode sécurisé activé ?

1 « J'aime »

Oui. L’administrateur peut désactiver le mode sécurisé pour les non-employés si nécessaire :slight_smile:

2 « J'aime »

Mais un utilisateur curieux pourrait toujours lire les informations de la réponse JSON, n’est-ce pas ?

1 « J'aime »

Oui. En tant que personnalisation côté client uniquement, il s’agit toujours d’une « barrière souple ». Les utilisateurs peuvent être suffisamment déterminés (et compétents) pour exploiter cette faiblesse, ou non.

2 « J'aime »

Merci, ça fonctionne.

Modification : Je l’ai changé pour le rendre insensible à la casse :

<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 « J'aime »