1 files changed, 6 insertions, 1 deletions
diff --git a/synapse/handlers/delayed_events.py b/synapse/handlers/delayed_events.py
index 80cb1cec9b..cb2a34ff73 100644
--- a/synapse/handlers/delayed_events.py
+++ b/synapse/handlers/delayed_events.py
@@ -208,8 +208,13 @@ class DelayedEventsHandler:
)
event = await self._store.get_event(
- delta.event_id, check_room_id=delta.room_id
+ delta.event_id, check_room_id=delta.room_id, allow_rejected=True, allow_none=True
)
+
+ if event is None or event.rejected_reason is not None:
+ # This event has been rejected, so we don't want to cancel any delayed events for it.
+ continue
+
sender = UserID.from_string(event.sender)
next_send_ts = await self._store.cancel_delayed_state_events(
|