Type Alias RealtimeStateExperimental

RealtimeState:
    | "opening"
    | "live"
    | "failed"
    | "closed"

opening → live → (failed | closed).

Both endings are TERMINAL and neither is reachable from the other: a session that failed reports "failed" forever, and does not decay into "closed" as its resources are released. Teardown happens either way, so reporting it would overwrite the only thing that separates "the transport died" from "the user pressed disconnect".

The fal.realtime.open() extension API is experimental and may change in a minor release.