You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Subtracting 1 from the oldest timestamp means any additional events that share that same created_at value — but were not included in the current full page — are silently skipped on the next iteration. On a relay with many events at the same second (e.g., bulk imports), this can leave kind-4 events undeleted.
Suggested fix
Keep until = oldest (no subtraction) and rely on the kind4Ids Set for deduplication. Add a stall-detection check: if no new IDs were added during the last page fetch, break to avoid an infinite loop.
Summary
In
js/actions.js, thedeleteDeprecatedKind4()function paginates kind-4 events using anuntilcursor. When advancing the cursor, it does:Subtracting 1 from the oldest timestamp means any additional events that share that same
created_atvalue — but were not included in the current full page — are silently skipped on the next iteration. On a relay with many events at the same second (e.g., bulk imports), this can leave kind-4 events undeleted.Suggested fix
Keep
until = oldest(no subtraction) and rely on thekind4IdsSet for deduplication. Add a stall-detection check: if no new IDs were added during the last page fetch, break to avoid an infinite loop.References
Reported by @dannym-arx.