Document concurrent flash architecture (client-side Web Serial),
bandwidth-based concurrency estimates, current MVP limitations,
and phased roadmap for commercial deployment including HTTPS,
auth, rate limiting, DB migration, S3 storage, and license model.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add new_install_improv_wait_ms: 0 to manifest — prevents esp-web-tools
from waiting for Improv WiFi provisioning response after installation,
so the completion dialog shows only Close instead of Next.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Auto-select uploaded firmware immediately after upload completes
- Auto-select single firmware on list load (no manual click needed)
- Hide flash button and show warning when no firmware is selected
- Re-apply manifest on list reload to avoid stale state
- Restore warning banner on firmware delete
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Default nginx limit is 1MB — merged.bin (16MB+) was rejected with 413
HTML response, causing JSON parse error in the frontend.
Added proxy_read_timeout 120s for slow upload connections.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add ESP8266, ESP32-C6, ESP32-C2, ESP32-H2 to chip selector with
optgroup layout. Generalize UI text from ESP32-S3-specific to
board-agnostic. Add esptool merge_bin examples for ESP32, ESP32-S3,
and ESP8266.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>