Conversation
Size Report
Startup median (7 runs, lower is better):
|
There was a problem hiding this comment.
All reported issues were addressed across 43 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
|
Thanks for the refactor. At 1c3da4c,
The rule: after any await, an interaction route reads and writes session state only through This change also touches snapshot publication, which sits behind every device snapshot, selector read, press/fill and The router already resolves the session under the locked scope (request-router.ts:496). Could it resolve the Not blocking, and you can take or leave it: Before merge, the post-capture interaction writes need to resolve the current record through the |
a3bf16c to
039fc5c
Compare
1c3da4c to
ede3e35
Compare
039fc5c to
d42ec00
Compare
ede3e35 to
1790d36
Compare
d42ec00 to
fb3df65
Compare
393dcb8 to
672583f
Compare
3ea090a to
ec8a4f8
Compare
672583f to
0cc39c1
Compare
…eclarations Daemon session bindings inferred a binding type whose clear result was an alias the durable-capture entry never exported, so declaration emit failed with TS2883.
Binding app-log capture through the session capture binding pulled that module into session-teardown's eager closure. Teardown now imports the app-log resource only when a session has an app log to stop.
Session teardown imported three per-capture binding modules plus their shared binding, which grew its eager closure past the merge-base. The audio, perf and screen-recording bindings now live beside bindSessionCapture.
0cc39c1 to
e4ca3d1
Compare
ec8a4f8 to
7e96b83
Compare
7e96b83 to
130fe6e
Compare
|
Consolidated into #3140 as part of reducing #3116 to seven PRs. The composition preserves the complete pre-consolidation source tree, including tests and later review corrections. This PR is superseded; its review discussion and native evidence remain available. Outstanding findings transfer to the owning keeper in the implementation record. |
Summary
Snapshots, selectors and interaction captures now retain the session lifetime they were admitted for. A rebuild remains writable; retirement or daemon shutdown refuses late publication. Settle ref issuance resolves that same lifetime before activating the frame, so returned refs belong to the current snapshot.
The runtime projection owns the reference and refreshes records within its lifetime. Snapshot transitions stay in their owning module. Removes redundant store resets and the interaction capture's reverse name lookup. 43 files; 925 gross lines. Part of #3116, stacked on #3140.
Validation
Head
1c3da4c2c6:pnpm check:affected --base refactor/session-journal-lifetimes --runpassed, including 1,613 related tests; parent-scoped Fallow passed. Seven planted regressions failed their intended assertions and the restored implementation passed.Controls cover a held real touch-settle continuation, scoped address reuse, intervening rebuilds, and late capture completion after actual request cancellation and bounded daemon-session teardown.
Independent read-only review found no remaining actionable findings. CI and live device validation remain pending on this head.