Conversation
Size Report
Startup median (7 runs, lower is better):
|
There was a problem hiding this comment.
All reported issues were addressed across 33 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
|
This PR is ready at 0780e5e. All 14 checks pass, and bundle size grows by +1.1 kB unpacked, under the 3 kB threshold. There are no conflicts. I did not rerun the focused tests or the planted mutations, and I judged mutation sensitivity by reading the base code paths. I also did not check whether the fence state that createNextFence mints leaves anything behind on the now-refused start paths. I read only enough to see that it is in-memory. The base is fix/session-capture-finish (#3137), so this review covers only the delta from 1376a9e. Please merge #3137 first. After that, only the notes below remain. Not blocking, and you can take or leave these: the same admission check ( |
1376a9e to
c4bd3ea
Compare
aa51d9b to
d9019e1
Compare
c4bd3ea to
75c680a
Compare
d9019e1 to
ee66f4b
Compare
17ba57f to
480429a
Compare
ee66f4b to
2184bed
Compare
|
The code still looks right at 2184bed. The rebase fixed the earlier gap: the owner table now sits in the base, so this PR no longer touches it. Handle identity in clear is covered by 'clearing an older handle or fence leaves a replacement capture intact' in src/daemon/tests/session-capture-binding.test.ts. Not blocking: the last commit, 'chore(gates): colocate durable capture field owners', now only adds a comment to the unit-include list at https://github.com/callstack/agent-device/blob/2184bed/vitest.config.ts#L181, so its title no longer matches the change. You could retitle it (for example 'test: note why daemon-test-cleanup runs in the unit lane') or squash it into the first commit, or leave it. On the open threads: I did not run the focused tests or the R68 gate. I also did not check that #3142 declares the record-only screenRecording writer, since that change is outside this PR. The two threads below no longer apply, so please resolve them. #3138 (comment) was already resolved before the earlier review, and the test above pins handle identity at the binding level. #3138 (comment) is about scripts/layering/session-resource-ownership.ts, which this PR no longer touches, and you said #3142 declares the owner. Checks for 2184bed are still queued or running. The cancelled runs are older runs replaced by the push, not failures. No conflicts are known. Before merge, the checks must finish green and the base PR (fix/session-capture-finish) must land. |
480429a to
fd483da
Compare
2184bed to
a0b22de
Compare
fd483da to
e0a818c
Compare
a0b22de to
054dd00
Compare
|
Consolidated into #3135 as part of reducing #3116 to seven PRs. Capture/lifetime changes are in #3135, registration corrections in #3127, and the exact home-path assertion in #3186. 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
Follow-up to #3133–#3137 for #3116. Daemon test cleanup stops independently observed children even with corrupt metadata, joins registered successors, and locks registration before deleting a directory. Timeout diagnostics distinguish retained metadata from a process that survived.
Capture bindings retain their own adopted handle after retirement. Cleanup refreshes only the same lifetime before a lazy import; native starts refuse closed admission. The shared fixtures now model lifetime and fence identity. Three capture field adapters live with their binding, fixing the eager-import CI regression.
flowchart LR R[Captured lifetime] --> B[Capture binding] B --> H[Owned handle] B --> C{Current lifetime and fence match?} C -->|Yes| U[Update matching slot] C -->|No| K[Preserve successor]Validation
Head:
0780e5e4c6. 33 changed files; 126 focused tests pass without skips. Ten planted regressions failed, then restored green. All 757 global import-budget tests pass. Lint, typecheck and changed-code Fallow pass. Independent read-only audit found no actionable issues.All locally runnable affected checks pass; platform/device CI remains GitHub-authoritative.