diff --git a/bridgev2/portalbackfill.go b/bridgev2/portalbackfill.go index c656ada1..f6597fbc 100644 --- a/bridgev2/portalbackfill.go +++ b/bridgev2/portalbackfill.go @@ -248,7 +248,9 @@ func (portal *Portal) cutoffMessages(ctx context.Context, messages []*BackfillMe if lastMessage == nil { return messages } - if forward { + if forward && !aggressiveDedup { + // With aggressive dedup, the ID-based pass below decides what's already bridged, so this + // timestamp prefix-trim is skipped. cutoff := -1 for i, msg := range messages { if msg.ID == lastMessage.ID || msg.Timestamp.Before(lastMessage.Timestamp) { @@ -265,7 +267,7 @@ func (portal *Portal) cutoffMessages(ctx context.Context, messages []*BackfillMe Msg("Cutting off forward backfill messages older than latest bridged message") messages = messages[cutoff+1:] } - } else { + } else if !forward { cutoff := -1 for i := len(messages) - 1; i >= 0; i-- { if messages[i].ID == lastMessage.ID || messages[i].Timestamp.After(lastMessage.Timestamp) {