# X_REALTIME_UNINSTALLED

## Means

a realtime hook ran in an island bundle that never installed realtime

## Typical cause

`useQuery`, `useRecord`, `useMutation` or `useConnection` in a browser island whose bundle never called `installRealtime()`, or on a page where the page runtime (`@ultimat3/realtime/boot`: the store, the socket, the transport) never loaded. A server render is not this: with no DOM the hooks answer their server-render state

## Fix

`x build`. It builds an island whose own import graph reaches `@ultimat3/realtime` from an entry that awaits the page runtime — the page boot, or the `/islands/page-runtime.<id>.js` chunk where no boot is rendered — and calls `installRealtime({ signal: createSignal })` first (`packages/cli/src/island-realtime.ts`). **The one case it misses** is a *package* that imports realtime on the island's behalf, or an island built by hand. That island's page loads `import '@ultimat3/realtime/boot'` before the island, and the island calls `installRealtime({ signal: createSignal })` in its `mount`, before its first render

[Realtime](/error-codes#realtime)
