Reconnection Recovery
State fields tagged lvt:"persist" survive WebSocket disconnects, server restarts, and full page reloads — the framework restores them from the session store via the group cookie before the first render after reconnect.
Counter: 0 (lvt:"persist")
Try: Increment a few times and save some notes, then reload the page. State is restored before the first render. Why both tags on Notes? lvt:"persist" (server-side) survives reconnect. lvt-form:preserve (client-side) keeps your in-progress text in the DOM across re-renders that other actions trigger — without it, typing while the Counter is incrementing would lose the textarea draft.