Mirrors the firmware repo's api-reference.md audit (project-vesper docs/reference/api-reference.md): - playback.play: correct field semantics (url not download_url, speed boot default 500 / 0→300, note_assignments value = 1-based bell, sticky fields, legacy total_duration ignored without continuous_loop); playback.stop has no error path. - UART whitelist now matches UARTTransport::WHITELIST (5 raw cmd strings). - Add the missing rf namespace (set_slot/clear_slot/get_slots/enable) with every error string. - Fix clock.set_alerts (camelCase), clock.set_silence (nested), clock.set_time offsets, relay.test_bell missing error, ota.update default channel, ota.set_channel description, files.download download_url, list_builtin "pid" key, logs.list extra error, telemetry boot-history limit=0, diagnostics topic, network.set_config AP-mode messages, ping data.type. - Legacy map now matches LegacyAdapter's tables; message-format card and req_id notes reflect MQTT-only req_id and per-transport "v" defaults. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
React + Vite
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Babel (or oxc when used in rolldown-vite) for Fast Refresh
- @vitejs/plugin-react-swc uses SWC for Fast Refresh
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 ESLint 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 typescript-eslint in your project.