Some of my users dont like this option:
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;
}
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
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.
Disculpad por reflotar el tema, pero no he podido encontrar ninguna publicación reciente que hable de esto. Poder ocultar parte de la información de “visto” y “presencia” incluso a los usuarios registrados, como una forma de proporcionar más privacidad a los usuarios.
¿Hay alguna configuración nueva para controlar esto? ¿Deberíamos abrir una solicitud de características?
¿Es posible agregar clases CSS para permitir ocultar la hora de última conexión de usuarios específicos?
Quiero ocultarla para mi perfil, porque la gente me envía mensajes y luego puede ver cuándo estuve en línea por última vez. Es simplemente incómodo si no respondo durante un par de días (no tengo tiempo suficiente para ocuparme de todo de inmediato), pero pueden ver que estuve en línea recientemente, ya que revisan mi perfil repetidamente, a veces porque simplemente tengo una pestaña abierta en algún lugar pero no estoy revisando el sitio.
Creo que nadie debería esperar que nadie haga nada solo por estar presente. Es tu vida y tienes tus deberes. Así que supongo que ayudaría a establecer límites, por ejemplo, escribiéndolos en tu perfil. Como “Soy una persona ocupada y te respondo en una semana”. O “Por favor, solo espera que responda preguntas sobre X e Y, por lo demás espera a la comunidad”.
Así que creo que es más un problema de las otras personas. ¡Como si te vieran en algún lugar de la vida real y corrieran hacia ti con algo muy importante que tienes que hacer ahora mismo!
Es más complicado que eso, pero no puedo explicar en detalle. La presión puede ser inmensa.
Estoy de acuerdo con esto. A veces soy yo quien revisa, así que me pongo nervioso cuando sé que ese usuario está en línea, pero no me ha respondido.
No es posible con CSS puro, ninguna ruta de nodo puede usar tu nombre de usuario para apuntar a los elementos “última vez visto”.
Con JavaScript, esto debería funcionar:
<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>
Cortesía de 
Para futuros lectores, mira el mejor script a continuación que evita la orientación incorrecta de los usuarios (para evitar apuntar a un usuario llamado “johndoe” si se usa .startsWith("/u/john")).
¿Dejaría de funcionar esto con el modo seguro activado?
Sí. El administrador puede desactivar el modo seguro para los no empleados si es necesario ![]()
Pero un usuario curioso aún podría leer la información de la respuesta json, ¿verdad?
Sí. Como personalización exclusiva del lado del cliente, siempre es una “barrera blanda”. Los usuarios pueden o no estar lo suficientemente decididos (y ser lo suficientemente conocedores) como para explotar esta debilidad.
Gracias, eso funciona.
Editar: Lo cambié a esto para que no distinga entre mayúsculas y minúsculas:
<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>