Skip to content

fix(desktop): retain live rows in exhausted windows#1813

Closed
wesbillman wants to merge 1 commit into
mainfrom
pinky/fix-live-window-boundary
Closed

fix(desktop): retain live rows in exhausted windows#1813
wesbillman wants to merge 1 commit into
mainfrom
pinky/fix-live-window-boundary

Conversation

@wesbillman

Copy link
Copy Markdown
Collaborator

Summary

Live top-level events could disappear before scrolling began when a short channel's first page was already exhausted. mergeLiveChannelWindowEvent compared a same-second event's Nostr ID against the oldest loaded row and discarded it as below the retained boundary, even when hasMore=false meant no unloaded boundary existed.

  • Defer below-boundary live rows only while the oldest page remains open (hasMore=true).
  • Preserve live rows in exhausted windows regardless of same-second ID ordering.
  • Add deterministic regression coverage for that ordering case.

This is separate from #1802: that PR fixed a refresh/cache overwrite race; this fixes event loss at the live-window boundary. It keeps the existing scroll contracts intact and does not increase timeouts or retries.

Validation

  • Focused channel-window/project tests: 33/33 passed
  • Full desktop unit suite: 2,763/2,763 passed
  • Typecheck passed
  • Lint/check passed
  • Desktop build passed (existing unrelated warnings only)

Local real-relay E2E repetition could not run because no relay was listening on localhost:3000; CI should provide the integration signal. Several consecutive integration/scroll-shard passes are still required before treating the recurring missing-seed signature as stabilized.

A complete short channel window has no unloaded older boundary. Preserve
same-second live rows there even when their event id sorts beyond the current
oldest row; otherwise valid messages are silently discarded.

Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
@wesbillman wesbillman requested a review from a team as a code owner July 13, 2026 16:28
@wesbillman

Copy link
Copy Markdown
Collaborator Author

Closing as an accidental duplicate of #1810. Both PRs contain the same two-file product fix and deterministic regression; #1810 is the canonical PR and already has review/CI progress.

@wesbillman wesbillman closed this Jul 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant