Skip to content

fix(desktop): retain live rows after window exhaustion#1810

Merged
wesbillman merged 1 commit into
mainfrom
pinky/fix-live-window-exhaustion
Jul 14, 2026
Merged

fix(desktop): retain live rows after window exhaustion#1810
wesbillman merged 1 commit into
mainfrom
pinky/fix-live-window-exhaustion

Conversation

@wesbillman

Copy link
Copy Markdown
Collaborator

Summary

  • retain live rows when the oldest channel window is exhausted
  • continue deferring rows below an open pagination boundary
  • cover same-second live events whose IDs sort after the current tail

Why

mergeLiveChannelWindowEvent treated the last loaded row as an exclusion boundary even when the relay had reported hasMore: false. In short newly-created channels, live messages sharing the same second could therefore be discarded based only on ID order. This produced the repeated missing-final-seed failures in stream.spec.ts after #1802.

Validation

  • channelWindowStore.test.mjs (25/25)
  • pnpm --dir desktop typecheck
  • Biome check on changed files

@wesbillman wesbillman requested a review from a team as a code owner July 13, 2026 16:24
@wesbillman wesbillman enabled auto-merge (squash) July 13, 2026 16:54
@wesbillman wesbillman force-pushed the pinky/fix-live-window-exhaustion branch 3 times, most recently from 881ec9c to f4dac25 Compare July 14, 2026 16:31
A completed short channel window has no unloaded lower boundary, so keep
same-second live events regardless of their ID position relative to the
current tail. Continue deferring older live rows while pagination remains.

Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
@wesbillman wesbillman force-pushed the pinky/fix-live-window-exhaustion branch from f4dac25 to 1e59629 Compare July 14, 2026 17:24
@wesbillman wesbillman merged commit fa6f481 into main Jul 14, 2026
45 of 47 checks passed
@wesbillman wesbillman deleted the pinky/fix-live-window-exhaustion branch July 14, 2026 18:05
brow pushed a commit that referenced this pull request Jul 14, 2026
…image-paste

* origin/main:
  refactor(clients): standardize product naming on community (#1858)
  fix(desktop): retain live rows after window exhaustion (#1810)
  Add private product feedback sidecar (#1857)
  fix(desktop): resolve Doctor install shell and command detection on Windows (#1854)
  fix(desktop): navigate to channel from inbox thread header (#1847)
  feat(desktop): surface needsRestart badge on live UI surfaces (#1853)
  fix(desktop): prevent menu-to-dialog UI lockups (#1839)
  feat(relay): add durable community archival (#1834)
  feat(desktop): add conversation-style DM composer (#1768)
  feat(push): add public APNs gateway (#1770)
  feat(relay): add atomic community ownership transfer (#1845)
  fix(desktop): stabilize agent identity restore (#1831)
  fix(buzz-acp): distinguish idle vs hard-cap timeout, dead-letter hard kills immediately (#1844)
  fix(observer): align scroll-anchor ids with transcript display-block keys (#1849)
  [codex] Add view activity label to agent popover (#1748)
  ci(desktop): surface flaky E2E tests instead of retry-masking them (#1838)
  fix(desktop): treat channel creator as member before 39002 provisioning (#1830)
  fix(mobile): mirror app bar title padding when actions are empty (#1832)

Co-authored-by: npub1shglkdhngx3hrnhf4gf8vhpqdrmeludctechdvpwd3988zzs7ncq2cmtxu <85d1fb36f341a371cee9aa12765c2068f79ff1b85e7176b02e6c4a738850f4f0@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: npub1shglkdhngx3hrnhf4gf8vhpqdrmeludctechdvpwd3988zzs7ncq2cmtxu <85d1fb36f341a371cee9aa12765c2068f79ff1b85e7176b02e6c4a738850f4f0@sprout-oss.stage.blox.sqprod.co>
tlongwell-block pushed a commit that referenced this pull request Jul 14, 2026
* origin/main:
  fix(desktop): retain live rows after window exhaustion (#1810)
tlongwell-block pushed a commit that referenced this pull request Jul 14, 2026
* origin/main:
  fix(desktop): retain live rows after window exhaustion (#1810)

Co-authored-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co>
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.

2 participants