property DaemonState.browser
Private

Resolved Chrome handle. null until the initial in-flight launch settles (see browserReady) and again briefly during recoverBrowser. Run handlers MUST go through awaitBrowser(state) rather than reading this field directly — it's null until the first awaiting caller resolves it. The split lets run listen() and write the info file immediately, instead of blocking on Chrome launch. Under CI load Chrome launch tail latencies regularly exceed 100 s; gating socket readiness on Chrome would propagate that latency to every daemon start/status/ ping and exhaust client-side spawn timeouts in both the Node and Deno paths (CI runs 26006815757 + 26007923495).

Type

PlaywrightBrowser | null

Usage

import { type DaemonState } from "lib/commands/daemon/server.ts";