Version:
Connects to a stream and receives 5 messages then closes.
Checks the extension is registered (full WS test requires ws-server.js).
Hover the button to preload, then click to swap. Check Network tab — request fires on hover.
Browser's native loading spinner should appear during the 1.5s request.
Should trigger a file download without navigating away.
Template content shows immediately; server response replaces it after 1.5s.
⏳ Saving…Same response swapped into two elements simultaneously.
Counter increments live as you type.
Item 1 updates in place, Item 3 is inserted. Item 2 is preserved.
Alpine is not loaded here — extension should silently no-op. Check console for errors (there should be none).
Navigate to page 2, then hit the browser back button.
The restore should come from sessionStorage (no network request in DevTools).
Page 1 — initial content.
Go to page 2