matrix-org / synapse

Synapse: Matrix homeserver written in Python/Twisted.
https://matrix-org.github.io/synapse
Apache License 2.0
11.82k stars 2.13k forks source link

Add config option to disable sending read receipts to other users. #9253

Open bavarialogy opened 3 years ago

bavarialogy commented 3 years ago

Hello,

I'm implementing Synapse for a public sector entity where the worker's council is likely to enforce enhanced privacy for message read receipts. As far as I understood Synapse's event handling, this isn't easy to accomplish in the current state of implementation.

I'm currently looking at pseudonymizing read receipt events for a public room as a workaround (others, like private rooms, might be harder to implement and will likely not be requested here in the first place). Is it possible to overwrite events in the database, i.e. so that every m.read or m.fully_read is then related to some dummy user (e.g. a service account)? People would see 'someone' read the message but can't tell who it was anymore.

erikjohnston commented 3 years ago

Read receipts happen outside of the event graph, so they can easily be dropped by the server. Would adding a switch to the config to drop all read receipts address your needs?

bavarialogy commented 3 years ago

Yep, I think it would. What about already existing read receipts though?

EdGeraghty commented 3 years ago

Read receipts happen outside of the event graph, so they can easily be dropped by the server. Would adding a switch to the config to drop all read receipts address your needs?

Hi - I'm really pleased that Matrix have finally managed to decouple read receipts from the legacy federation and multidevice problems which acted as blockers until now! 🎉

Could we please get this config switch added?

In the time between me and my colleagues testing and deploying Matrix at our (Privacy) org, the labs option to switch off read receipts from the client had been disabled. Several members of staff have (quite rightly) questioned us on this.

Please implement this switch, it's a humongous blocker for a lot of organisations, and has been for years!

EdGeraghty commented 3 years ago

Hey!

Is this in the Synapse dev timeline? 🤞

erikjohnston commented 3 years ago

I think we still need to support receiving read receipts from local users, so that the notification counts are correct, but we could simple not relay those receipts to local or remote users.

erikjohnston commented 3 years ago

Hey!

Is this in the Synapse dev timeline?

I'm afraid this isn't something we'd likely get around to anytime soon, but we'd happily accept a PR to add support for it.

EdGeraghty commented 3 years ago

Something like https://github.com/matrix-org/synapse/pull/10177/ ?