Fix WiFi CRUD for hidden networks, add stepper wizard and advanced mode#426
Fix WiFi CRUD for hidden networks, add stepper wizard and advanced mode#426
Conversation
Firmware: WiFiManager::Save() and Forget() no longer require the network to be in scan results, enabling hidden network support and forgetting out-of-range networks. The connect field from WifiNetworkSaveCommand is now passed through to the handler. Frontend: Replace the flat config page with a stepper wizard (WiFi -> Hardware -> Account) as the default view. Add an Advanced mode toggle in the header that shows a flat page with all config sections including new OTA, Backend, and Captive Portal settings. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Cpp-Linter Report
|
…es-and-advanced-mode # Conflicts: # frontend/eslint.config.js # frontend/src/lib/components/Layout/Header.svelte # frontend/src/lib/components/WiFiEntry.svelte # frontend/src/lib/stores/index.ts # frontend/src/routes/+page.svelte # src/wifi/WiFiManager.cpp
Replace FlatBuffers WebSocket round-trips with simple HTTP calls for: - WiFi scan start/stop (POST /api/wifi/scan) - WiFi network forget (DELETE /api/wifi/networks) - Account link/unlink (POST /api/account/link, DELETE /api/account) - RF TX pin config (PUT /api/config/rf/pin) - EStop pin config (PUT /api/config/estop/pin) - EStop enabled toggle (PUT /api/config/estop/enabled) Commands that require async push events (WiFi connect/save/disconnect, OTA) remain on WebSocket. Real-time push (scan results, WiFi events) also stays WS. Co-Authored-By: Copilot <223556219+Copilot@users.noreply.github.com>
Leftover from merge conflict resolution — variable was renamed during the develop merge but the reference wasn't updated. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
All frontend→firmware commands now use HTTP endpoints. The WebSocket channel in the captive portal is now receive-only (firmware→frontend push): - WiFi network save (POST /api/wifi/networks) - WiFi network connect (POST /api/wifi/connect) - WiFi network disconnect (POST /api/wifi/disconnect) - OTA config endpoints (PUT /api/ota/*) - OTA check for updates (POST /api/ota/check) LocalToHubMessage FlatBuffers union is now empty — schema cleanup documented in FLATBUFFERS_CHANGES.md. Co-Authored-By: Copilot <223556219+Copilot@users.noreply.github.com>
Summary
WiFiManager::Save()andForget()no longer require the network to be in scan results, enabling hidden network support and forgetting networks that have gone out of range. Theconnectfield fromWifiNetworkSaveCommandis now properly passed through.Test plan
connectflag: saving with connect=false should not trigger a connection attemptpnpm check,pnpm build, andpio run -e ci-buildall pass🤖 Generated with Claude Code