feat(desktop): preserve transcript continuity across bounded ranges - #4560
feat(desktop): preserve transcript continuity across bounded ranges#4560Sun-GLiang wants to merge 3 commits into
Conversation
fc447c8 to
fd473f0
Compare
fd473f0 to
c69e995
Compare
|
Thanks for the work, and I owe you an apology: I left you hanging after asking you to pause #4258 and #4295 on Aug 31, so you had to build against the outdated issue text. That is entirely on me. I have corrected #4123. Most of this PR's 6.7k lines trace back to two incorrect assumptions in the original issue:
The position-index chain ( Two scroll-layer issues to note regardless of scope:
Landing order: #4793 (pin owns scroll anchoring) then #4259 (containment CSS) must land first. Both touch the same scroller, and #4259 already conflicts with this branch. Next steps: A rebase will not fix this, as the shape follows issue text I got wrong. The corrected #4123 is now specific enough to build against directly: generic rows, a gap row, and existing pagers — no new persistence, no epoch bump. If you would rather not redo it after two false starts, let me know and I will take it over. Either way, I will review follow-ups within a day, not a week. |
c69e995 to
6b2c88a
Compare
6b2c88a to
d856588
Compare
d856588 to
9868f5f
Compare
Generated-by: Codex
9868f5f to
7fdc015
Compare
|
Thanks for substantially simplifying this! My earlier comments about the timer/extra scroll writer and waiting for #4793 no longer apply; #4793 is closed, and I don't see a reason to require #4259 first. One remaining P2 at AI-assisted review with Codex. |
|
@Astro-Han Fixed in b93cefee6. I reproduced the behavior in the Electron E2E: after explicit newer navigation, the newer range appeared briefly, then The fix stays at the existing The existing bounded-history E2E now waits across rendered frames after clicking the newer gap and verifies that both boundaries remain present, so the page stays advanced (regression). The added assertion fails before the fix and passes after it. Local verification passed: Desktop build, typecheck, 2163 Desktop tests, 101 architecture checks, and the targeted Electron E2E. |
Summary
Rebuilds transcript partial-history handling on current
mainaround the existing bounded-range seams.This intentionally does not add a position index, storage table, cursor protocol, compatibility-epoch change, alternate pager, or second scroll authority.
Fixes #4123
Current status
Ready for maintainer review. The rebuild and local verification are complete, CI is green, and the PR remains open awaiting approval.
Verification
Current head:
e5365d2e34daa79aef702356e729b14e58284854test— passedlabel— passednpm --workspace @maka/desktop run build:with-depsnpm --workspace @maka/desktop run typechecknpm --workspace @maka/desktop run test:dist— 2163 passed, 0 failednpm --workspace @maka/desktop run check:architecture— 101 checks passed plus architecture-ledger validationpartial-history-notice.spec.ts— passedReview focus
loadBefore,loadAround,loadLatest, reading-anchor, and scroll-authority seamsAI use
Codex rebuilt the implementation from current
main, added tests, and reviewed the diff against the corrected issue and repository standards.Checklist
Does this PR entail a change in behavior?