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). |
||
|---|---|---|
| .. | ||
| assets/canvaskit | ||
| pkg-ck | ||
| pkg-webgl | ||
| smoke | ||
| src | ||
| tests | ||
| .gitignore | ||
| Cargo.toml | ||