mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-02 10:56:06 -04:00
Add a 'backfill room' button
This commit is contained in:
parent
598a1d8ff9
commit
75b6d982a0
6 changed files with 81 additions and 25 deletions
|
@ -35,7 +35,7 @@ class FederationHandler(BaseHandler):
|
|||
|
||||
@log_function
|
||||
@defer.inlineCallbacks
|
||||
def on_receive(self, event, is_new_state):
|
||||
def on_receive(self, event, is_new_state, backfilled):
|
||||
if hasattr(event, "state_key") and not is_new_state:
|
||||
logger.debug("Ignoring old state.")
|
||||
return
|
||||
|
@ -70,6 +70,21 @@ class FederationHandler(BaseHandler):
|
|||
|
||||
else:
|
||||
with (yield self.room_lock.lock(event.room_id)):
|
||||
store_id = yield self.store.persist_event(event)
|
||||
store_id = yield self.store.persist_event(event, backfilled)
|
||||
|
||||
yield self.notifier.on_new_room_event(event, store_id)
|
||||
if not backfilled:
|
||||
yield self.notifier.on_new_room_event(event, store_id)
|
||||
|
||||
|
||||
@log_function
|
||||
@defer.inlineCallbacks
|
||||
def backfill(self, dest, room_id, limit):
|
||||
events = yield self.hs.get_federation().backfill(dest, room_id, limit)
|
||||
|
||||
for event in events:
|
||||
try:
|
||||
yield self.store.persist_event(event, backfilled=True)
|
||||
except:
|
||||
logger.debug("Failed to persiste event: %s", event)
|
||||
|
||||
defer.returnValue(events)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue