From b3dd7e91a42d3163ff5e52c79034b7a94e1608f4 Mon Sep 17 00:00:00 2001 From: npub1tquskdu6yc4h8l7xxtceculxw600grekeq0xg2ukqfrwl7vrzg3quz3gmp <58390b379a262b73ffc632f19c73e6769ef40f36c81e642b960246eff9831222@buzz.block.builderlab.xyz> Date: Mon, 27 Jul 2026 20:46:40 -0700 Subject: [PATCH] fix(mobile/ios): retain exact active-second push history Co-authored-by: npub1tquskdu6yc4h8l7xxtceculxw600grekeq0xg2ukqfrwl7vrzg3quz3gmp <58390b379a262b73ffc632f19c73e6769ef40f36c81e642b960246eff9831222@buzz.block.builderlab.xyz> Signed-off-by: npub1tquskdu6yc4h8l7xxtceculxw600grekeq0xg2ukqfrwl7vrzg3quz3gmp <58390b379a262b73ffc632f19c73e6769ef40f36c81e642b960246eff9831222@buzz.block.builderlab.xyz> --- .../ios/BuzzPushKit/Sources/BuzzPushKit/PushCatchUp.swift | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mobile/ios/BuzzPushKit/Sources/BuzzPushKit/PushCatchUp.swift b/mobile/ios/BuzzPushKit/Sources/BuzzPushKit/PushCatchUp.swift index e4d328ce3b..71567733c0 100644 --- a/mobile/ios/BuzzPushKit/Sources/BuzzPushKit/PushCatchUp.swift +++ b/mobile/ios/BuzzPushKit/Sources/BuzzPushKit/PushCatchUp.swift @@ -100,8 +100,13 @@ public enum PushCatchUp { guard consumptionState.canSelect(position, for: origin) else { return nil } return PushCatchUpSelection(event: event, wasPreviouslyConsumed: false) } + let duplicateFallbackID = consumptionState.state(for: origin).lastDisplayed?.id let duplicates = ordered.compactMap { event -> PushCatchUpSelection? in - guard consumptionState.hasConsumed(eventID: event.id, for: origin) else { return nil } + guard event.id == duplicateFallbackID, + consumptionState.hasConsumed(eventID: event.id, for: origin) + else { + return nil + } return PushCatchUpSelection(event: event, wasPreviouslyConsumed: true) } return selectable + duplicates