synapse
synapse copied to clipboard
Option to only share presence with members of rooms with `m.direct`
As you know, presence updates have a major impact on the overall server performance... but just turning it off is not a real solution in most use-cases. Therefore, I'm suggesting a new option in the presence configuration called limit_to_direct_rooms (or something like that).
The idea is, that when collecting the list of interested parties for presence updates, only room ids with a m.direct membership should be used. As a result, users would retrieve presence updates for their "contacts", but not for everyone who's sharing a group chat room. This could help decreasing the server load and increase privacy at the same time.
What do you think? Could this be a reasonable solution?
This is a great proposal. Would even argue that it'd be a sane future default for privacy reasons.
Related: #8055 #10423
Any feedback on this? Presence is still a major performance/privacy issue, but disabling it completely is not an option for us. Haven't looked at Dendrite yet. Would that be worth a try?
We've initiated the implementation of this feature in our system and preliminary testing suggests a substantial reduction in both database usage and CPU load. You can track our ongoing efforts at the following link:
https://github.com/teamspeak/synapse
Our upcoming work will focus on introducing a user-configurable option for this feature. Upon completion, we will share these improvements by submitting a pull request.