Repository navigation
fix(desktop): Chrome login mirror no longer blocks startup - #545
Conversation
|
Independent review at
Unproven: a |
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
0727249 to
2a511fa
Compare
|
What: PR #545 is rebased onto Current PR body with complete commands, failure logs and comparisons. One rebase conflict: Read both failing jobs: Test 118154631974 reports Comparison: rebased candidate before repair reproduces 1 failure / 1 pass; the byte-identical test and config from current main pass 2/2, and main CI run 39334964453 is green. Corrected fixture: 2/2 PASS. This is our PR regression, not a pre-existing main defect. Final-source commands/results:
Explicit lease was against remote Requirements and who asked: Planner: rebase, fix both failing checks, preserve worker/startup isolation, rerun focused gates and vp pack, and push with a lease. |
|
Independent review at
Unproven: native signed-app worker load; the Rocky live run settles it. |
Agent work on this PREstimated cost at least $0.18 · 11 responses · 16 sessions · 4.8 h wall time
Flags: 2 human corrections · 4 large tool outputs · 8 repeated commands · 4 repeated failures · 19 repeated reads · 9 repeated skill loads · 1 test edited after a failure · 5 unpriced responses Details: snapshot, prices, coverage, counters
Token counters by model (native counter semantics; never added across semantics):
Generated tokens (reasoning and other output are disjoint; other output includes code, tool calls and replies):
Usage by work phase (this task's own responses):
Recorded activity by phase (observations, not separate token bills):
Selected rates (USD per million tokens). These rates value the report at the selected schedule date; they do not establish historical prices or subscription spending.
Other output and reasoning are priced without double counting inclusive native output. Missing rates remain unknown. Local measurement from native records; usage totals are not billing. Updated in place by |
What: Chrome observation is opt-in per Mac, native Chromium key reads run in a worker, and the desktop bundle regression covers every configured worker.
Why: The original mirror could block startup on Keychain consent; its new worker also exposed a stale four-worker bundle-test fixture.
So what: The planner reviews head
2a511fa8e900b28fdc949d6b03305b7348296b59on current main, checks its new CI, and owns any approved rollout and Rocky live proof.Refs #541 (closes after the live Rocky startup proof). Refs #520 and #530.
Rebased merge-free onto
origin/mainat1e83a3169f77d5dbbd6727c929ffb8b0c1118754. The sole conflict was concurrent appended paths inscripts/fork-upstream-edits.txt; both main's secret/OAuth/research paths and #541's entries are retained. The existing implementation commits otherwise replay unchanged. No version bump.A nonempty
chromeCookieKeyCommandenables the Chrome source on that machine. Missing, invalid and empty commands leave it off; desktop-to-environment mirroring remains available. Shared Chromium key resolution runs native Keychain access in a worker for both one-off imports and the mirror fallback. The argv command already runs in a child process. No protocol, server or web-component behavior changed.CI repair: Test job 118154631974 failed with
[UNRESOLVED_ENTRY] Cannot resolve entry module src/preview/BrowserImport/ChromiumKeychainWorker.ts. The build config declared the new worker, but the synthetic fixture only created four older workers. The Check job merely propagatedtest: failure; it has no separate defect. The fixture now derives worker paths from the real bundle configuration, creates their nested directories and computes the shared-module import relative to each path. It loads every emitted worker and still asserts desktop startup occurs exactly once. The new touched upstream test is allowlisted and assigned to the existing mirror owner.Comparison: before repair, the rebased candidate reproduces the same unresolved-entry failure (1 failed / 1 passed). The byte-identical unmodified test and bundle config from
1e83a31pass (2/2); main's CI also passes. After repair the bundle regression passes 2/2. This CI failure is introduced by this PR, not pre-existing on main.Final-source proof, all exit 0:
Scoped
vp linton all 10 changed JavaScript/TypeScript files andvp fmt --checkon all 15 supported touched files pass. No web component changed, so React Compiler coverage and screenshots do not apply. Website/SEO impact: none; desktop startup and existing guidance only. The unresolved-key regression uses actual DesktopApp.program and BackendManager with synthetic process/HTTP/window boundaries; native Rocky acceptance remains unverified.The original upstream check inspected ChromiumKeys blob
0d91ebe5a3746b0e47ddc7da47efa34d3d05681c; upstream #21028 covers a different safeStorage path and no upstream fix was ported. The original three failing-before source/worker regressions and synthetic blocked-worker artifact probe remain recorded in the earlier #541 handoff. This follow-up used existing cached dependencies with an explicit Electron path, with no installs, launches, restarts, dev servers or live Keychain/cookie access. Full Knip now passes without changing dependency declarations; #544's earlier setup-limited findings no longer block this candidate.Range-diff maps
749e3369e1to4be08dfb65with only allowlist context changed, and0727249d45to identical patch2265c34feb;2a511fa8e9adds only the bundle-fixture repair and its fork ownership. Pushed with an explicit lease against remote0727249d45c20bcb044b80054c835390d2aae7c1.Opus
review/independentsuccess covered the old head0727249d45, not this new candidate. Fresh independent exact-head review and CI results remain planner-owned. No merge, production artifact, installation or live rollout is claimed; retain the task worktree until the planner merges and retires it.Requirements and who asked: The planner requests rebase onto current main, resolution of both failing checks, preserved worker/startup isolation, focused proof, vp pack and a lease push.
Deleted: The stale hand-maintained worker fixture list, assumptions that successful production bundling also proved the synthetic bundle test, and a separate fix for the aggregate Check job.
Bottleneck: The synthetic bundle fixture failed before exercising the worker/startup isolation assertion, blocking CI and fleet rollout.
Checked myself: Both complete failed-job logs, rebased failure, main test/config comparison and green CI, corrected bundle test, 192 focused tests, actual vp pack, desktop typecheck, scoped lint/format, full Knip, range-diff and fork checks.
Implemented with GPT-6.1 Sol through the Codex harness.