data-island attribute. When state
changes, only the selectors you name are re-rendered.
Optimistic updates
Update the UI immediately, then reconcile with the server. The first callback runs at once. If the second fails, the first is rolled back.Use
ApiUtility from api.js rather than raw fetch. It handles CSRF tokens and
retries, and raw fetch is a feather check error.Drag and drop
Available through thedraggable config, documented in full in the CLAUDE.md that
ships with every project. Pair it with OrderingMixin on the model so
positions persist.
Generating an island
feather check reports an
island no template mounts (orphan-island), and a template mounting an island that does
not exist (missing-island).