|
@@ -239,7 +239,7 @@ func (user *User) handleHistorySync(reCheckQueue chan bool, evt *waProto.History
|
|
|
// If this was the initial bootstrap, enqueue immediate backfills for the
|
|
|
// most recent portals. If it's the last history sync event, start
|
|
|
// backfilling the rest of the history of the portals.
|
|
|
- if user.bridge.Config.Bridge.HistorySync.Backfill && (evt.GetSyncType() == waProto.HistorySync_INITIAL_BOOTSTRAP || evt.GetSyncType() == waProto.HistorySync_FULL) {
|
|
|
+ if user.bridge.Config.Bridge.HistorySync.Backfill && (evt.GetSyncType() == waProto.HistorySync_INITIAL_BOOTSTRAP || evt.GetSyncType() == waProto.HistorySync_FULL || evt.GetSyncType() == waProto.HistorySync_RECENT) {
|
|
|
nMostRecent := user.bridge.DB.HistorySyncQuery.GetNMostRecentConversations(user.MXID, user.bridge.Config.Bridge.HistorySync.MaxInitialConversations)
|
|
|
for i, conv := range nMostRecent {
|
|
|
jid, err := types.ParseJID(conv.ConversationID)
|
|
@@ -253,9 +253,11 @@ func (user *User) handleHistorySync(reCheckQueue chan bool, evt *waProto.History
|
|
|
case waProto.HistorySync_INITIAL_BOOTSTRAP:
|
|
|
// Enqueue immediate backfills for the most recent messages first.
|
|
|
user.EnqueueImmedateBackfill(portal, i)
|
|
|
- case waProto.HistorySync_FULL:
|
|
|
- // Enqueue deferred backfills as configured.
|
|
|
- user.EnqueueDeferredBackfills(portal, len(nMostRecent), i)
|
|
|
+ case waProto.HistorySync_FULL, waProto.HistorySync_RECENT:
|
|
|
+ if evt.GetProgress() >= 99 {
|
|
|
+ // Enqueue deferred backfills as configured.
|
|
|
+ user.EnqueueDeferredBackfills(portal, len(nMostRecent), i)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|