Skip to content

Advanced cases

Partial reloads

Keep the module. Reload only the data you name. The client shallow-merges.

only and except ride as X-Keel-Only / X-Keel-Except. They apply only on visits — a document GET is the SEO unit and always returns the full seed. The host filters top-level keys of data and sets X-Keel-Partial to the comma-separated list it kept.

The client shallow-merges that data object over peekPage()?.data before setPage. Combined with preserveState, the adapter calls update(ctx) on the same module instead of unmounting.

router.reload({ only: ["feed"], preserveState: true })
router.visit("/u/ada", { except: ["sidebar"], preserveState: true })

Partial responses are never read from or written to the prefetch cache. A partial must not satisfy a later full visit.

Use this for flash-message strips, comment lists, and validation 422s where scrolling away from the field would be hostile. Hover prefetch on Link still warms a full seed plus the entry module.