Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit 5eda018

Browse files
authored
Properly handle presence events for application services. (#8656)
1 parent 437a99f commit 5eda018

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

changelog.d/8656.bugfix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fix a bug introduced in v1.22.0rc1 where presence events were not properly passed to application services.

synapse/handlers/appservice.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ async def _handle_receipts(self, service: ApplicationService):
238238

239239
async def _handle_presence(
240240
self, service: ApplicationService, users: Collection[UserID]
241-
):
241+
) -> List[JsonDict]:
242242
events = [] # type: List[JsonDict]
243243
presence_source = self.event_sources.sources["presence"]
244244
from_key = await self.store.get_type_stream_id_for_appservice(
@@ -252,7 +252,7 @@ async def _handle_presence(
252252
user=user, service=service, from_key=from_key,
253253
)
254254
time_now = self.clock.time_msec()
255-
presence_events = [
255+
events.extend(
256256
{
257257
"type": "m.presence",
258258
"sender": event.user_id,
@@ -261,8 +261,9 @@ async def _handle_presence(
261261
),
262262
}
263263
for event in presence_events
264-
]
265-
events = events + presence_events
264+
)
265+
266+
return events
266267

267268
async def query_user_exists(self, user_id):
268269
"""Check if any application service knows this user_id exists.

0 commit comments

Comments
 (0)