Writing below a take is the one moment the server is told which take is meant, and it obeys before a token is generated. The transcript only learned that from the resync after the turn, so clearing the preview at Send time put the replaced take back on screen for the whole turn — and left it there for good if the resync never landed: a turn that errored, a lost connection, a tab closed mid-generation. The story then read one way and reloading the page read another, which is what a player reported. The chosen take is pinned instead of dropped. Same text override as a preview, but it does not truncate the story below it, because the turn being played goes there; the pager's ordinal follows it so the number matches the words above it. The pin is released only when a re-read actually succeeds, so a failed read leaves the correct take on screen rather than reverting to the one it replaced. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vo14iJFj4TZuMLhbUeH2LF
React + Vite
This template provides a minimal setup to get React working in Vite with HMR and some Oxlint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Oxc
- @vitejs/plugin-react-swc uses SWC
React Compiler
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.
Expanding the Oxlint configuration
If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the TS template for information on how to integrate TypeScript and Oxlint's TypeScript related rules in your project.