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

Commit bc991c2

Browse files
committed
Replace exception with log & empty return when stream tokens invalid.
1 parent 9445883 commit bc991c2

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

synapse/handlers/appservice.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -268,10 +268,10 @@ async def _notify_interested_services_ephemeral(
268268
service, events
269269
)
270270

271-
# Persist the latest handled stream token for this appservice
272-
await self.store.set_type_stream_id_for_appservice(
273-
service, "read_receipt", new_token
274-
)
271+
# Persist the latest handled stream token for this appservice
272+
await self.store.set_type_stream_id_for_appservice(
273+
service, "read_receipt", new_token
274+
)
275275

276276
elif stream_key == "presence_key":
277277
events = await self._handle_presence(service, users, new_token)
@@ -280,10 +280,10 @@ async def _notify_interested_services_ephemeral(
280280
service, events
281281
)
282282

283-
# Persist the latest handled stream token for this appservice
284-
await self.store.set_type_stream_id_for_appservice(
285-
service, "presence", new_token
286-
)
283+
# Persist the latest handled stream token for this appservice
284+
await self.store.set_type_stream_id_for_appservice(
285+
service, "presence", new_token
286+
)
287287

288288
async def _handle_typing(
289289
self, service: ApplicationService, new_token: int
@@ -342,7 +342,8 @@ async def _handle_receipts(
342342
service, "read_receipt"
343343
)
344344
if new_token is not None and new_token <= from_key:
345-
raise Exception("Rejecting token lower than stored: %s" % (new_token,))
345+
logger.debug("Rejecting token lower than stored: %s" % (new_token,))
346+
return []
346347

347348
receipts_source = self.event_sources.sources.receipt
348349
receipts, _ = await receipts_source.get_new_events_as(
@@ -378,7 +379,8 @@ async def _handle_presence(
378379
service, "presence"
379380
)
380381
if new_token is not None and new_token <= from_key:
381-
raise Exception("Rejecting token lower than stored: %s" % (new_token,))
382+
logger.debug("Rejecting token lower than stored: %s" % (new_token,))
383+
return []
382384

383385
for user in users:
384386
if isinstance(user, str):

0 commit comments

Comments
 (0)