Fix #227: SSE reconcile pinned windows #228
No reviewers
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 milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
crueber/walhub!228
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/issue-227"
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?
Remote SSE events refetch only the newest-50 view, which slides forward while pinned older windows stay put — the evicted boundary row(s) holed the assembly (rendered 0..64 missing seq 14) and more() kept lying until reload. Own mutations keep reload() (drop extras); the live path now carries the evicted tail onto the extras head via reconcilePinnedWindow (web/src/lib/thread-order.js, wired by a view-tracking effect in Issue.jsx): history preserved, viewport untouched, zero extra round trips. Tests: node --test web/test/unit/*.test.js 442/442 green (incl. 4 new reconcile tests: one-event hole, multi-event slide, no-op cases, no-mutation). Decision appended to docs/features/02_issues.md. Browser verification open (no runnable browser daemon in this env). No new deps.