You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This means if a user sets their status message while another user is logged out of all of their devices, that other user won't get the (new) status message. This is causing issues with deployments relying on status messages being distributed reliably.
A fix could be:
diff --git a/synapse/handlers/presence.py b/synapse/handlers/presence.py
index 741504ba9f..dcca322b56 100644
--- a/synapse/handlers/presence.py+++ b/synapse/handlers/presence.py@@ -1814,7 +1814,10 @@ class PresenceEventSource(EventSource[int, UserPresenceState]):
return [
update
for update in presence_updates
- if update.state != PresenceState.OFFLINE+ if (+ update.state != PresenceState.OFFLINE+ or update.status_msg+ )
]
def get_current_key(self) -> int:
Though I'm not fully sure of the performance implications and what it would mean in terms of the increase in the size of initial sync responses.
We could technically add a configuration setting to switch to this behaviour but it doesn't sound like the right solution to me.
The text was updated successfully, but these errors were encountered:
This issue has been migrated from #13507.
This means if a user sets their status message while another user is logged out of all of their devices, that other user won't get the (new) status message. This is causing issues with deployments relying on status messages being distributed reliably.
A fix could be:
Though I'm not fully sure of the performance implications and what it would mean in terms of the increase in the size of initial sync responses.
We could technically add a configuration setting to switch to this behaviour but it doesn't sound like the right solution to me.
The text was updated successfully, but these errors were encountered: