openpencil/crates
Kayshen-X cfb2435fa3 fix(web): recheck bridge token at fallback completion to close late-init window
The pass-1 late-init fix captured `managed` before the fallback reset was issued,
so a host `init` landing DURING the reset round-trip (up to ~30s with the XHR
timeout + retry) left `handle_init` firing an unregistered hook (no-op) while
`complete()` re-checked the stale flag -- neither emitting `ready` nor arming a
hook that could still fire. Wedge.

Decide readiness from the LIVE token in `complete()`: token present since capture
-> emit `ready` directly; token arrived during the round-trip -> run the managed
recovery inline; token still absent -> register the one-shot LATE_INIT_HOOK. The
inline and hook paths share one guarded `run_late_init_recovery` (tokened reset ->
emit_ready), so `ready` cannot double-fire. Add two source-order structural tests
(handle_init emits no `ready` directly; completion re-checks bridge_token live).
2026-07-17 04:18:11 +08:00
..
op-acp
op-ai feat(agent): unify generation UX and CLI providers 2026-07-15 03:48:29 +08:00
op-ai-skills fix(orchestrator): preserve and repair progress rings 2026-07-15 03:29:39 +08:00
op-cli fix(ci): clear Rust workflow blockers 2026-07-15 22:47:39 +08:00
op-codegen test: decouple document fixtures from product releases 2026-07-15 21:17:20 +08:00
op-config-store
op-design-lint fix(orchestrator): preserve and repair progress rings 2026-07-15 03:29:39 +08:00
op-editor-core fix(web): drop redundant external-apply dirty bump 2026-07-17 04:06:17 +08:00
op-editor-host-core fix(ci): clear Rust workflow blockers 2026-07-15 22:47:39 +08:00
op-editor-ui fix(canvas): align generating label icon with text 2026-07-16 21:19:58 +08:00
op-figma perf(figma): cut import clone amplification 2026-07-11 10:04:41 +08:00
op-git fix(ci): address rust check failures 2026-06-19 03:03:33 +08:00
op-host-desktop feat(web): managed serve-web contract with handshake and parent-death lease 2026-07-16 23:28:08 +08:00
op-host-native test: decouple document fixtures from product releases 2026-07-15 21:17:20 +08:00
op-host-services docs(web): refresh stale cross-task comments to describe landed behavior 2026-07-17 03:12:23 +08:00
op-host-web fix(web): recheck bridge token at fallback completion to close late-init window 2026-07-17 04:18:11 +08:00
op-host-web-server test(web): end-to-end smoke for the managed daemon contract 2026-07-17 02:52:05 +08:00
op-i18n feat(agent): unify generation UX and CLI providers 2026-07-15 03:48:29 +08:00
op-mcp fix(mcp): harden batch design and image semantics 2026-07-14 00:29:59 +08:00
op-opmerge
op-orchestrator fix(orchestrator): center resolved radial content 2026-07-15 23:49:58 +08:00
op-pen-loader test: decouple document fixtures from product releases 2026-07-15 21:17:20 +08:00
op-process-io
op-rpc-transport
op-smoke chore(smoke): audit rubric and loop-vs-orchestrator A/B harness 2026-07-12 02:56:43 +08:00
op-web-sdk perf(sdk): share scene via rc and idle the raf pump when clean 2026-07-10 22:56:25 +08:00
CLAUDE.md fix(orchestrator): preserve and repair progress rings 2026-07-15 03:29:39 +08:00