diff --git a/synapse/handlers/appservice.py b/synapse/handlers/appservice.py
index 7826387e53..c0c156599b 100644
--- a/synapse/handlers/appservice.py
+++ b/synapse/handlers/appservice.py
@@ -236,16 +236,16 @@ class ApplicationServicesHandler:
events = await self._handle_receipts(service)
if events:
self.scheduler.submit_ephemeral_events_for_as(service, events)
- await self.store.set_type_stream_id_for_appservice(
- service, "read_receipt", new_token
- )
+ await self.store.set_type_stream_id_for_appservice(
+ service, "read_receipt", new_token
+ )
elif stream_key == "presence_key":
events = await self._handle_presence(service, users)
if events:
self.scheduler.submit_ephemeral_events_for_as(service, events)
- await self.store.set_type_stream_id_for_appservice(
- service, "presence", new_token
- )
+ await self.store.set_type_stream_id_for_appservice(
+ service, "presence", new_token
+ )
async def _handle_typing(self, service: ApplicationService, new_token: int):
typing_source = self.event_sources.sources["typing"]
@@ -271,7 +271,7 @@ class ApplicationServicesHandler:
async def _handle_presence(
self, service: ApplicationService, users: Collection[Union[str, UserID]]
- ):
+ ) -> List[JsonDict]:
events = [] # type: List[JsonDict]
presence_source = self.event_sources.sources["presence"]
from_key = await self.store.get_type_stream_id_for_appservice(
@@ -288,7 +288,7 @@ class ApplicationServicesHandler:
user=user, service=service, from_key=from_key,
)
time_now = self.clock.time_msec()
- presence_events = [
+ events.extend(
{
"type": "m.presence",
"sender": event.user_id,
@@ -297,8 +297,9 @@ class ApplicationServicesHandler:
),
}
for event in presence_events
- ]
- events = events + presence_events
+ )
+
+ return events
async def query_user_exists(self, user_id):
"""Check if any application service knows this user_id exists.
|