Skip to main content

The surface is unstyled

Import @rixx-ui/react/styles.css once from an application entry or root layout. Devtools require their own @rixx-ui/react-devtools/styles.css import.

Nothing renders while streaming

Pass the full accumulated string, not only the latest transport chunk. A statement must be complete on one physical line before it can enter provisional state. Add onStateChange or Devtools to inspect diagnostics and status.

Valid-looking source is rejected

Check component names, exact prop names, closed schemas, child cardinality, references, and catalog ID. RUI calls cannot span physical lines. The final authoritative graph also needs a reachable root and no unresolved references or cycles.

A retry still shows old diagnostics

Increment retryKey and start the new attempt with its own accumulated source. Appending retry output to the failed attempt creates one invalid document. Only credential-free HTTPS URLs pass the baseline. Then urlPolicy and imagePolicy apply independently. In committed mode images wait for commit; in manual mode they wait for user input. A policy exception is treated as a denial.

Actions do not fire

Interactions remain disabled before commit. Confirm that the action is registered, referenced by an action-capable component, and its payload matches the action input schema. Rixx UI emits a request; the host still must implement onAction.

SSR or hydration differs

Use the server subpath in server-only modules, place renderers in the appropriate client boundary, and pass identical source, config, locale, currency, time zone, theme, and direction on server and client.

Source exceeds the limit

The default maxSourceLength is 128,000 characters. Prefer reducing generated content or splitting messages. Raise the limit only after reviewing browser and model-output resource budgets.