-
Notifications
You must be signed in to change notification settings - Fork 396
Allow admins to see soft failed events (if they want to) #18238
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
Conversation
As we're now performing another db txn to check if the user is an admin.
Thanks for getting this deployed quickly. It's already proven extremely valuable in mitigating spam 💚 I'm not sure this PR is exactly in a great position to land as-is though. Many server operators are admins themselves, and would be disproportionately affected by receiving confusing events. Given the number of APIs which route through this function, it feels potentially useful to just define a list of admin user IDs in the config which can have this applied to them rather than a query string/filter parameter. Are there thoughts on the approach? Is a different solution preferred? |
Clients being able to tell them appart over sync etc would be nice, as mentioned in my review thread. |
that would be scope for a future PR or MSC. |
As a homeserver admin i think that the option of defining who this applies to rather than all admins sounds great. The exact way to do that i wont comment on. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please don't do this because downstream devs will not have time to evaluate the implications of suddenly receiving soft failed events.
Instead it would be nice to add a toggle somewhere. Like the rate limits API https://element-hq.github.io/synapse/latest/admin_api/user_admin_api.html#override-ratelimiting-for-users. Ideally this would just be an option on /sync
but if this is needed quickly then modelling after the rate limit override API would be a good compromise.
Please read #18238 (comment) - this PR is waiting for backend review. |
@@ -0,0 +1,25 @@ | |||
# Client-Server API Extensions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Discussed in the #synapse-dev:matrix.org
room
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some small things, otherwise this LGTM! Thanks!
Co-authored-by: Andrew Morgan <[email protected]>
Tested on NetBSD 9 amd64 (federation, multiple clients) # Synapse 1.135.0 (2025-08-01) ## Features - Add `recaptcha_private_key_path` and `recaptcha_public_key_path` config option. ([\#17984](element-hq/synapse#17984), [\#18684](element-hq/synapse#18684)) - Add plain-text handling for rich-text topics as per [MSC3765](matrix-org/matrix-spec-proposals#3765). ([\#18195](element-hq/synapse#18195)) - If enabled by the user, server admins will see [soft failed](https://spec.matrix.org/v1.13/server-server-api/#soft-failure) events over the Client-Server API. ([\#18238](element-hq/synapse#18238)) - Add experimental support for [MSC4277: Harmonizing the reporting endpoints](matrix-org/matrix-spec-proposals#4277). ([\#18263](element-hq/synapse#18263)) - Add ability to limit amount of media uploaded by a user in a given time period. ([\#18527](element-hq/synapse#18527)) - Enable workers to write directly to the device lists stream and handle device list updates, reducing load on the main process. ([\#18581](element-hq/synapse#18581)) - Support arbitrary profile fields. Contributed by @clokep. ([\#18635](element-hq/synapse#18635)) - Advertise support for Matrix v1.12. ([\#18647](element-hq/synapse#18647)) - Add an option to issue redactions as an admin user via the [admin redaction endpoint](https://element-hq.github.io/synapse/latest/admin_api/user_admin_api.html#redact-all-the-events-of-a-user). ([\#18671](element-hq/synapse#18671)) - Add experimental and incomplete support for [MSC4306: Thread Subscriptions](https://github.com/matrix-org/matrix-spec-proposals/blob/rei/msc_thread_subscriptions/proposals/4306-thread-subscriptions.md). ([\#18674](element-hq/synapse#18674)) - Include `event_id` when getting state with `?format=event`. Contributed by @tulir @ Beeper. ([\#18675](element-hq/synapse#18675))
This probably needs a config option or filter parameter or something, but for now the immediate need is to exclude admins from the soft fail hiding logic.There is now a config flag - see included docs.
Pull Request Checklist
EventStore
toEventWorkerStore
.".code blocks
.(run the linters)