WebUI: couvrir les routes backend non exposées #10
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Contexte
Le check de parité routes montre que plusieurs endpoints backend existent mais ne sont pas encore utilisés par la WebUI.
Scope backlog (WebUI)
/api/bluetooth,/api/bluetooth/hfp/connect,/api/bluetooth/hfp/disconnect,/api/bluetooth/ble/start,/api/bluetooth/ble/stop/api/config/audio,/api/config/mqtt,POST /api/config/pinsGET /api/network/mqtt,GET /api/network/espnow,GET /api/network/espnow/peerObjectif
Ajouter les blocs UI manquants (visualisation + actions) pour couvrir ces routes côté opérateur.
Critères d'acceptation
Spec orchestrateur publiée:\n- PR: https://github.com/electron-rare/RTC_BL_PHONE/pull/16\n\nLe scope couverture WebUI des routes backend est maintenant cadré en exigences + DoD.
Spec merged: https://github.com/electron-rare/RTC_BL_PHONE/pull/16\n\nNext step on this issue: implement UI coverage endpoints from spec section EF-03.
Implémentation en PR:\n- https://github.com/electron-rare/RTC_BL_PHONE/pull/17\n\nCoverage ajouté: Bluetooth actions + édition JSON config audio/mqtt/pins côté WebUI.
Implemented and merged via PR #17: https://github.com/electron-rare/RTC_BL_PHONE/pull/17
Cross-repo update:
Cela aligne la stratégie avec RTC (
#13/#15) pour la robustesse UI/API et les checks CI.Mise a jour automatique suite au merge de la PR #26.\n\n- PR mergee: https://github.com/electron-rare/RTC_BL_PHONE/pull/26\n- Commit merge: 1f277f8598db8469e9005e35cf8312bee7989590\n- Workflow CI (Firmware CI): https://github.com/electron-rare/RTC_BL_PHONE/actions/runs/22264380212\n- Job build-and-test (PASS): https://github.com/electron-rare/RTC_BL_PHONE/actions/runs/22264380212/job/64407648537\n- Artefact CI attendu: (contient )\n\nStatut: gate parity valide, report JSON genere et publication artefact active en CI.
Correction: format artefact CI (message precedent).
Mise a jour automatique suite au merge de la PR #26.
1f277f8598Statut: gate parity valide, report JSON genere et publication artefact active en CI.
Update hardware (ESP32 Audio Kit sur /dev/cu.usbserial-0001)
Execution autonome terminee apres flash du firmware courant:
platformio run -e esp32dev -t upload --upload-port /dev/cu.usbserial-0001-> SUCCESSpython3 scripts/hw_validation.py --port-a252 /dev/cu.usbserial-0001 --base-url http://192.168.0.103 ...-> PASSResultats automatiques:
Resultats manuels (non automatises):
Rapports locaux generes:
Mise a jour auto (commit
52c4aba):\n\n- Repo State CI: success\n https://github.com/electron-rare/RTC_BL_PHONE/actions/runs/22265034082\n- Firmware CI: en cours\n https://github.com/electron-rare/RTC_BL_PHONE/actions/runs/22265034083\n\nPreuves locales hardware (ESP32 Audio Kit /dev/cu.usbserial-0001):\n- artifacts/hw_validation_latest.json\n- artifacts/hfp_commands_smoke_latest.json\n\nNotes: BT discoverable OK, BT_PBAP_SYNC retourne unsupported (stack courante), BT_DIAL echoue proprement sans lien HFP actif.Update CI final: Firmware CI est maintenant success pour 52c4aba.\n\n- Firmware CI: https://github.com/electron-rare/RTC_BL_PHONE/actions/runs/22265034083\n- Repo State CI: https://github.com/electron-rare/RTC_BL_PHONE/actions/runs/22265034082
Résultats hardware locaux (2026-02-21, /dev/cu.usbserial-0001):\n- Firmware flash OK\n- Commandes BT présentes: BT_DIAL, BT_REDIAL, BT_ANSWER, BT_HANGUP, BT_CALLS, BT_PBAP_SYNC\n- BT_DISCOVERABLE_ON/OFF: OK\n- BT_STATUS expose: slc_connected/call_state/pbap_supported/pbap_last_error\n- BT_PBAP_SYNC: retourne (attendu sur stack actuelle)\n- BT_DIAL sans lien HFP: retourne ERR (garde-fou attendu)
Correction formatting: BT_PBAP_SYNC retourne un statut d'erreur unsupported (comportement attendu sur la stack actuelle), et BT_DIAL sans lien HFP retourne aussi une erreur contrôlée.
Update hook/SLIC (commit
841fabd):\n\n- SHK hardcode conserve sur GPIO23\n- maintenant force a au boot\n- Flash valide sur ESP32 Audio Kit (/dev/cu.usbserial-0001)\n- Capture live: hook stable ON_HOOK/IDLE avec cette polarite (artifact local: artifacts/slic_hook_window_20s_hard_true.json)\n\nCI en cours pour ce commit:\n- Repo State: https://github.com/electron-rare/RTC_BL_PHONE/actions/runs/22265486738\n- Firmware CI: https://github.com/electron-rare/RTC_BL_PHONE/actions/runs/22265486749Correction formatting: la propriete hook_active_high est bien forcee a true au boot sur le commit
841fabd.Update d'avancement (2026-02-21) — exécution locale sur ESP32 Audio Kit
/dev/cu.usbserial-0001.CI de référence (main):
Gates locaux:
platformio run -e esp32dev -t upload --upload-port /dev/cu.usbserial-0001-> PASSbash scripts/test_terminal.sh-> PASSpython3 scripts/hw_validation.py --port-a252 /dev/cu.usbserial-0001 --report-json artifacts/hw_validation_report.json --report-md artifacts/hw_validation_report.md-> PASSArtefacts générés:
artifacts/route_parity_report.json-> PASSartifacts/webui_bt_parity_report.json-> PASSartifacts/wifi_stability_report.json-> PASSartifacts/hfp_operational_report.json-> PASSartifacts/espnow_protocol_v1_report.json-> FAIL (bench mono-carte, pas de peer radio actif)Notes de blocage:
BT_PBAP_SYNCretourneunsupportedexplicitement sur la stack actuelle.id) reste à refaire avec une 2e carte connectée.Update post-push
fcaef73:Ce run correspond aux changements Track A/B (WiFi/WebUI/ESP-NOW v1 + BT abstraction PBAP) déjà détaillés dans le commentaire précédent.
Proof update (2026-02-22, corrected)
command: python3 scripts/check_web_route_parity.py --report-json artifacts/route_parity_report.json
summary: backend=39, frontend=38, no missing backend route, one intentional backend-only route: GET /api/bluetooth/hfp/auto
command: python3 scripts/hw_validation.py --port-a252 /dev/cu.usbserial-0001 --report-json artifacts/hw_validation_report.json --report-md artifacts/hw_validation_report.md
Batch scope: