SSE event with pinned older windows leaves a one-seq hole #227
Labels
No labels
actions
bug
cli
duplicate
enhancement
fork
forum
git storage
help wanted
insights
invalid
issues
moderation
oidc
ownership transfer
packages
pr/merge protection rules
projects
pull requests
question
releases
sponsorships
tags
webhooks
wiki
wontfix
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
crueber/walhub#227
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found during the #225 browser pass (not caused by it). With older windows loaded (pinned extras), a remote SSE event slides the newest-50 view while pinned extras stay put, leaving a one-seq gap (e.g. rendered 0..64 missing seq 14); more() then reads false so it persists until reload. Mechanism: own mutations call reload() (clears extras, Issue.jsx:93) but the SSE path (useCollabStream to invalidateCollab) refetches only the view. Fix: SSE path should reconcile pinned extras against the slid window (or reload like own mutations). Acceptance: pinned older windows + remote SSE event leaves no gap; node --test green; browser proof.
Fix open as PR #228 (fix/issue-227): SSE path now reconciles pinned extras against the slid newest-50 window via reconcilePinnedWindow (carry the evicted tail, zero round trips) instead of holing the assembly. node --test 442/442 green. Browser proof still open — no runnable browser daemon in this env.
Re-review of PR #228 (fix/issue-227) after the interrupted attempt.
BRANCH STATE: origin/fix/issue-227 is a single commit
f35d9a9on top of main (67055c1). No review fix commits landed — the branch is unchanged since the PR opened, so the interrupted prior attempt pushed nothing. No PR comments exist on #228.REVIEW (all clear, no fixes pushed):
VERIFY (scratch worktree /tmp/pr228b, since removed; other agents' /tmp dirs untouched): node --test web/test/unit/*.test.js → 442 pass / 0 fail. vite build (direct binary, web/ dir) → 131 modules, success in 1.64s. (pnpm wrapper refused due to the read-only node_modules symlink tripping its install check — vite itself is the substantive check and it passed.) No browser drive: logic-only change, DOM untouched — noted explicitly per instructions.
RECOMMENDATION: ready to merge.
Fixed by PR #228 (re-review clean after interrupted attempt; 442/442 node tests), merged. Closing.