diff options
Diffstat (limited to 'synapse/handlers/message.py')
-rw-r--r-- | synapse/handlers/message.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/synapse/handlers/message.py b/synapse/handlers/message.py index ca9c48cabc..9d295b536e 100644 --- a/synapse/handlers/message.py +++ b/synapse/handlers/message.py @@ -232,6 +232,20 @@ class MessageHandler(BaseHandler): event_filter=event_filter, ) + if source_config.direction == 'b' and extremities: + yield self.hs.get_handlers().federation_handler.maybe_backfill( + room_id, extremities + ) + + events, next_key, extremities = yield self.store.paginate_room_events( + room_id=room_id, + from_key=source_config.from_key, + to_key=source_config.to_key, + direction=source_config.direction, + limit=source_config.limit, + event_filter=event_filter, + ) + next_token = pagin_config.from_token.copy_and_replace( "room_key", next_key ) |