Skip to main content
Many flows need both: page-level state (form fields, selection) and server-rendered HTML patches (saved confirmation, refreshed list). Enable both flags and Nitro when you need API fragments.
aero.config.ts

How they connect

on:* handlers can call GET / POST without an import. Calls from <script is:state> need import { GET } from '@aero-js/hypermedia' (do not import these in is:build). You do not call process() manually for standard hypermedia targets when both flags are on — the runtime runs destroy → swap → remount/process for compiled regions.

Form state + partial server response

Keep editable fields reactive; post current values; show server result in a target:
The handler validates, persists, and returns an HTML fragment (success message or field errors). Swapped error markup with data-aero-* bindings is processed automatically.

Reactive fragments from the server

Return HTML that uses runtime directive attributes. Prefix signal paths with $ to read the page store:
server/api/greeting.get.ts
After swap, the paragraph stays in sync with note because process wires $note to the shared store.

Manual process for client-inserted HTML

When you insert markup outside hypermedia (for example a client script building a preview):
See Process runtime fragments for structural data-aero-switch and other patterns.

busy requires both flags

The busy attribute and hypermedia state option reference boolean let bindings. The compiler enforces reactivity: true and hypermedia: true.

Decision checklist

  1. Client-only UI (toggle, local form) → reactivity alone
  2. Server HTML partial (load panel, submit form region) → reactivity + hypermedia + server route
  3. Swapped fragment must bind to page state → both flags; use $signal in fragment or compile reactive markup server-side
  4. No client JS → hypermedia fallbacks on <a> / <form> only; reactive bindings will not run

Reactivity

Enable flag, is:state, and binding overview.

Hypermedia

Actions, swap modes, and loading state.

Reactivity recipes

Forms, lists, reactive props.

Hypermedia recipes

Panels, partial posts, lifecycle.