From a03ed5e6ae23e52941e91ecb892a7b5c88964d90 Mon Sep 17 00:00:00 2001 From: reivilibre Date: Thu, 30 Sep 2021 11:06:47 +0100 Subject: [PATCH] Fix issue causing sending presence to ASes to fail (due to incomplete type annotations) (#10944) --- changelog.d/10944.bugfix | 1 + synapse/handlers/presence.py | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 changelog.d/10944.bugfix diff --git a/changelog.d/10944.bugfix b/changelog.d/10944.bugfix new file mode 100644 index 000000000..49baff7df --- /dev/null +++ b/changelog.d/10944.bugfix @@ -0,0 +1 @@ +Fix a bug introduced in v1.44.0rc1 which prevented sending presence events to application services. diff --git a/synapse/handlers/presence.py b/synapse/handlers/presence.py index 983c837c6..404afb940 100644 --- a/synapse/handlers/presence.py +++ b/synapse/handlers/presence.py @@ -52,6 +52,7 @@ import synapse.metrics from synapse.api.constants import EventTypes, Membership, PresenceState from synapse.api.errors import SynapseError from synapse.api.presence import UserPresenceState +from synapse.appservice import ApplicationService from synapse.events.presence_router import PresenceRouter from synapse.logging.context import run_in_background from synapse.logging.utils import log_function @@ -1521,10 +1522,11 @@ class PresenceEventSource(EventSource[int, UserPresenceState]): user: UserID, from_key: Optional[int], limit: Optional[int] = None, - room_ids: Optional[List[str]] = None, + room_ids: Optional[Collection[str]] = None, is_guest: bool = False, explicit_room_id: Optional[str] = None, include_offline: bool = True, + service: Optional[ApplicationService] = None, ) -> Tuple[List[UserPresenceState], int]: # The process for getting presence events are: # 1. Get the rooms the user is in.