WebUI: couvrir les routes backend non exposées #10

Closed
opened 2026-02-20 23:17:11 +00:00 by electron-rare · 17 comments
electron-rare commented 2026-02-20 23:17:11 +00:00 (Migrated from github.com)

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)

  • Bluetooth: /api/bluetooth, /api/bluetooth/hfp/connect, /api/bluetooth/hfp/disconnect, /api/bluetooth/ble/start, /api/bluetooth/ble/stop
  • Config avancée: /api/config/audio, /api/config/mqtt, POST /api/config/pins
  • Network lecture: GET /api/network/mqtt, GET /api/network/espnow, GET /api/network/espnow/peer

Objectif

Ajouter les blocs UI manquants (visualisation + actions) pour couvrir ces routes côté opérateur.

Critères d'acceptation

  • Actions Bluetooth disponibles depuis la WebUI
  • Visualisation/édition config audio et MQTT
  • Rafraîchissement explicite des états MQTT/ESP-NOW peers via routes dédiées
## 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) - Bluetooth: `/api/bluetooth`, `/api/bluetooth/hfp/connect`, `/api/bluetooth/hfp/disconnect`, `/api/bluetooth/ble/start`, `/api/bluetooth/ble/stop` - Config avancée: `/api/config/audio`, `/api/config/mqtt`, `POST /api/config/pins` - Network lecture: `GET /api/network/mqtt`, `GET /api/network/espnow`, `GET /api/network/espnow/peer` ## Objectif Ajouter les blocs UI manquants (visualisation + actions) pour couvrir ces routes côté opérateur. ## Critères d'acceptation - [ ] Actions Bluetooth disponibles depuis la WebUI - [ ] Visualisation/édition config audio et MQTT - [ ] Rafraîchissement explicite des états MQTT/ESP-NOW peers via routes dédiées
electron-rare commented 2026-02-20 23:37:14 +00:00 (Migrated from github.com)

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 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.
electron-rare commented 2026-02-20 23:40:03 +00:00 (Migrated from github.com)

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.

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.
electron-rare commented 2026-02-20 23:54:34 +00:00 (Migrated from github.com)

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.

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.
electron-rare commented 2026-02-20 23:55:37 +00:00 (Migrated from github.com)
Implemented and merged via PR #17: https://github.com/electron-rare/RTC_BL_PHONE/pull/17
electron-rare commented 2026-02-21 01:18:38 +00:00 (Migrated from github.com)

Cross-repo update:

Cela aligne la stratégie avec RTC (#13/#15) pour la robustesse UI/API et les checks CI.

Cross-repo update: - Kill_LIFE PR #2 mergée: https://github.com/electron-rare/Kill_LIFE/pull/2 - Merge commit: 42c0702aad179a4fa020811b09cc0bfcbd562466 - CI baseline et gate route-parity consolidés côté Kill_LIFE. Cela aligne la stratégie avec RTC (`#13/#15`) pour la robustesse UI/API et les checks CI.
electron-rare commented 2026-02-21 21:11:40 +00:00 (Migrated from github.com)

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.

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.
electron-rare commented 2026-02-21 21:11:52 +00:00 (Migrated from github.com)

Correction: format artefact CI (message precedent).

Mise a jour automatique suite au merge de la PR #26.

Statut: 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. - PR mergee: https://github.com/electron-rare/RTC_BL_PHONE/pull/26 - Commit merge: 1f277f8598db8469e9005e35cf8312bee7989590 - Workflow CI (Firmware CI): https://github.com/electron-rare/RTC_BL_PHONE/actions/runs/22264380212 - Job build-and-test (PASS): https://github.com/electron-rare/RTC_BL_PHONE/actions/runs/22264380212/job/64407648537 - Artefact CI: route-parity-report (contient artifacts/route_parity_report.json) Statut: gate parity valide, report JSON genere et publication artefact active en CI.
electron-rare commented 2026-02-21 21:16:51 +00:00 (Migrated from github.com)

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 -> SUCCESS
  • python3 scripts/hw_validation.py --port-a252 /dev/cu.usbserial-0001 --base-url http://192.168.0.103 ... -> PASS

Resultats automatiques:

  • serial_smoke: PASS
  • serial_network_stack: PASS
  • http_endpoints: PASS

Resultats manuels (non automatises):

  • manual_hook_transition: MANUAL_SKIP
  • manual_ring_behavior: MANUAL_SKIP
  • manual_audio_path: MANUAL_SKIP
  • manual_hfp_pairing: MANUAL_SKIP

Rapports locaux generes:

  • artifacts/hw_validation_usbserial_http.json
  • artifacts/hw_validation_usbserial_http.md
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` -> SUCCESS - `python3 scripts/hw_validation.py --port-a252 /dev/cu.usbserial-0001 --base-url http://192.168.0.103 ...` -> PASS Resultats automatiques: - serial_smoke: PASS - serial_network_stack: PASS - http_endpoints: PASS Resultats manuels (non automatises): - manual_hook_transition: MANUAL_SKIP - manual_ring_behavior: MANUAL_SKIP - manual_audio_path: MANUAL_SKIP - manual_hfp_pairing: MANUAL_SKIP Rapports locaux generes: - artifacts/hw_validation_usbserial_http.json - artifacts/hw_validation_usbserial_http.md
electron-rare commented 2026-02-21 21:53:53 +00:00 (Migrated from github.com)

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.

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.
electron-rare commented 2026-02-21 21:54:04 +00:00 (Migrated from github.com)

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

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
electron-rare commented 2026-02-21 21:55:08 +00:00 (Migrated from github.com)

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)

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)
electron-rare commented 2026-02-21 21:55:15 +00:00 (Migrated from github.com)

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.

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.
electron-rare commented 2026-02-21 22:21:56 +00:00 (Migrated from github.com)

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/22265486749

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/22265486749
electron-rare commented 2026-02-21 22:22:01 +00:00 (Migrated from github.com)

Correction formatting: la propriete hook_active_high est bien forcee a true au boot sur le commit 841fabd.

Correction formatting: la propriete hook_active_high est bien forcee a true au boot sur le commit 841fabd.
electron-rare commented 2026-02-21 22:58:32 +00:00 (Migrated from github.com)

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 -> PASS
  • bash scripts/test_terminal.sh -> PASS
  • 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 -> PASS

Artefacts générés:

  • artifacts/route_parity_report.json -> PASS
  • artifacts/webui_bt_parity_report.json -> PASS
  • artifacts/wifi_stability_report.json -> PASS
  • artifacts/hfp_operational_report.json -> PASS
  • artifacts/espnow_protocol_v1_report.json -> FAIL (bench mono-carte, pas de peer radio actif)

Notes de blocage:

  • BT_PBAP_SYNC retourne unsupported explicitement sur la stack actuelle.
  • Validation ESP-NOW v1 E2E (ack corrélé id) reste à refaire avec une 2e carte connectée.
Update d'avancement (2026-02-21) — exécution locale sur ESP32 Audio Kit `/dev/cu.usbserial-0001`. CI de référence (main): - Repo State: https://github.com/electron-rare/RTC_BL_PHONE/actions/runs/22265486738 - Firmware CI: https://github.com/electron-rare/RTC_BL_PHONE/actions/runs/22265486749 Gates locaux: - `platformio run -e esp32dev -t upload --upload-port /dev/cu.usbserial-0001` -> PASS - `bash scripts/test_terminal.sh` -> PASS - `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` -> PASS Artefacts générés: - `artifacts/route_parity_report.json` -> PASS - `artifacts/webui_bt_parity_report.json` -> PASS - `artifacts/wifi_stability_report.json` -> PASS - `artifacts/hfp_operational_report.json` -> PASS - `artifacts/espnow_protocol_v1_report.json` -> FAIL (bench mono-carte, pas de peer radio actif) Notes de blocage: - `BT_PBAP_SYNC` retourne `unsupported` explicitement sur la stack actuelle. - Validation ESP-NOW v1 E2E (ack corrélé `id`) reste à refaire avec une 2e carte connectée.
electron-rare commented 2026-02-21 23:01:17 +00:00 (Migrated from github.com)

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.

Update post-push `fcaef73`: - Repo State (success): https://github.com/electron-rare/RTC_BL_PHONE/actions/runs/22266003301 - Firmware CI (success): https://github.com/electron-rare/RTC_BL_PHONE/actions/runs/22266003302 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.
electron-rare commented 2026-02-22 20:51:31 +00:00 (Migrated from github.com)

Proof update (2026-02-22, corrected)

Batch scope:

  • WiFi/BT coexistence hardening
  • HFP runtime stability preparation
  • Web realtime status stability adjustments
Proof update (2026-02-22, corrected) - Firmware CI (main, success): https://github.com/electron-rare/RTC_BL_PHONE/actions/runs/22266990348 - Repo State (main, success): https://github.com/electron-rare/RTC_BL_PHONE/actions/runs/22266990354 - Local route parity command result: PASS 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 - Local hardware validation result: PASS 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: - WiFi/BT coexistence hardening - HFP runtime stability preparation - Web realtime status stability adjustments
Sign in to join this conversation.