-
-
Notifications
You must be signed in to change notification settings - Fork 112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
State events from blocked users should not be shown to clients #2025
Comments
This is problematic in case the user gets un-ignored at some later point. If state events are not sent, I as the ignoring/un-ignoring side have no idea whether that user is gone, if their display name is current etc. Clients are expected to hide all events from ignored users, but they have to keep track of what is happening to those users. |
I haven't seen this in the spec at all, and multiple clients I've tried (gomuks, fluffychat, even element x) don't hide state events from blocked users. I also wasn't able to block users at all until conduwuit implemented it server-side in any of those clients. |
An option could be to always redact the state events of blocked users? I think that would allow the "room state" to maintain intact while blocking potentially abusive content from them. This would work well for joins, topics, etc. This probably breaks down with some events though (e.g. power levels). |
The spec mentions that clients should hide historical events from ignored-users client side unless they want to do an initial sync every time a new user is ignored. I believe element implements this by just dropping all events sent by ignored users in the UI, which hides both historical events and new events sent by the server. IMO server-side ignore was kinda a mistake in the first place, because it doesn't give clients flexibility to implement things like a "N events from an ignored user" placeholder, and requires an initial sync every time a user is unignored. I would strongly prefer clarifying that clients need to determine how state events related to ignored users are presented over expanding the scope of server-side ignore. Some situations where clients might want varying behavior:
|
Oh, just noticed another case where client-side ignore is currently needed: server-side ignore does not apply to the |
Suggestion
In the client-server API, this is said:
Ignoring a user should imply that you won't see anything from said user, including joins, leaves, display name changes, avatar changes, etc.
The text was updated successfully, but these errors were encountered: