I don’t like the fact, that average users can see all the members of our general chat-room, because this way they can see every discourse user who exists. we already disabled the public user directory to secure the privacy of the users. but every average user is generally assigned to this public chat for all users. is there a way to disable the showing of all chat-members? i checked website settings for “chat members” or “chat”, but couldn’t find so far a setting for it. I would really appreciate any idea ![]()
סיכום מבוסס בינה מלאכותית
In this thread, winterk0rn expresses concern about the privacy implications of showing all members in a public general chat room, as it exposes every existing Discourse user. Although the public user directory is disabled for privacy, all average users are automatically assigned to this public chat, making the member list visible. The user asks if there is a website setting to hide the chat members list.
NateDhaliwal responds by suggesting that CSS could be used to hide the ‘Members’ link within the chat interface. However, they caution that this method is insecure because users can bypass CSS restrictions by enabling safe mode with themes disabled. To effectively restrict access to the member list, NateDhaliwal recommends creating a custom plugin that removes the backend route or empties the data, while also overriding the frontend. This approach ensures that disabling plugin customizations would also disable the chat entirely, preventing users from accessing the member list via route manipulation.
You could use CSS to hide the ‘Members’ link in the chat info. But, a user could reveal that if they enable safe mode with themes OFF but plugins ON.
So perhaps the best way is to create a plugin to remove that page/empty backend but overrides the frontend. That way, disabling plugin customizations would also disable chat entirely, so users can’t get the route. I think. I’m on my phone now but I’ll try this out when I’m back on my computer.
Sorry for the technical solution, but no Discourse-native solution comes to mind.