Ultimate

X_LIVE_ROUTE_NO_ISLAND

Means

a route reads live rows and boots nothing that could receive them

Typical cause

a browser-only read (useQuery, useConnection, useMutation, useMutationQueue, useRecord, useChannel, or hasPageSocket) sits in a module of the route's server graph that no island imports, or on a route declaring hydrate: 'never'. It only ever runs on the server, where it answers its server state (nothing, or loading) forever, at 200. hasPageSocket() is no exemption since 21.0.0: it answers false on the server every time, which is how the reference app's update banner never showed. Reported by the budgets step

Fix

move it into an island: x g island <route-dir> --at <route-dir>, import the module from that island's mount(), and declare it with island({ src }) in the route file, with a hydrate other than 'never'

Listed under Routes, render and budgets

This page as markdown