Stream HTML to the browser as it becomes ready, or push updates after the page
has loaded. This section covers the three return types that move content over
time:Stream and Suspense for the initial render, and EventStream
(Server-Sent Events) for post-load updates. Signals and the reactive system
build onEventStreamto fan one server value out to many bound elements
automatically.
Progressive page rendering
Send the shell immediately, fill in content as data arrives. Suspense streams deferred blocks via OOB swaps.
Real-time HTML updates
Push kida-rendered fragments to the browser over SSE.
Server-owned reactive values
Declare a live value once, bind it many places, update them all over one shared SSE connection.
Automatic SSE from data changes
Mutate your data; Chirp finds the affected blocks and pushes re-rendered fragments to connected browsers.
Four update patterns
Display-only, client-managed, streaming append, and one-shot mutations.