wifi-densepose/rust-port/wifi-densepose-rs/crates/wifi-densepose-sensing-server/src
rUv 7a13877fa3
fix(sensing-server): detect ESP32 offline after 5s frame timeout (#300)
The source field was set to "esp32" on the first UDP frame but never
reverted when frames stopped arriving. This caused the UI to show
"Real hardware connected" indefinitely after powering off all nodes.

Changes:
- Add last_esp32_frame timestamp to AppStateInner
- Add effective_source() method with 5-second timeout
- Source becomes "esp32:offline" when no frames received within 5s
- Health endpoint shows "degraded" instead of "healthy" when offline
- All 6 status/health/info API endpoints use effective_source()

Fixes #297

Co-authored-by: Reuven <cohen@ruv-mac-mini.local>
2026-03-24 08:00:18 -04:00
..
adaptive_classifier.rs feat: adaptive CSI classifier with signal smoothing pipeline (ADR-048) (#144) 2026-03-05 10:15:18 -05:00
dataset.rs feat: ADR-023 full DensePose training pipeline (Phases 1-8) 2026-02-28 23:22:15 -05:00
embedding.rs feat: ADR-024 Contrastive CSI Embedding Model — all 7 phases (#52) 2026-03-01 01:44:38 -05:00
graph_transformer.rs feat: ADR-024 Contrastive CSI Embedding Model — all 7 phases (#52) 2026-03-01 01:44:38 -05:00
lib.rs feat: ADR-024 Contrastive CSI Embedding Model — all 7 phases (#52) 2026-03-01 01:44:38 -05:00
main.rs fix(sensing-server): detect ESP32 offline after 5s frame timeout (#300) 2026-03-24 08:00:18 -04:00
model_manager.rs fix: WebSocket race condition, data source indicators, auto-start pose detection (#96) 2026-03-02 13:47:49 -05:00
recording.rs fix: WebSocket race condition, data source indicators, auto-start pose detection (#96) 2026-03-02 13:47:49 -05:00
rvf_container.rs feat: ADR-024 Contrastive CSI Embedding Model — all 7 phases (#52) 2026-03-01 01:44:38 -05:00
rvf_pipeline.rs feat: ADR-023 full DensePose training pipeline (Phases 1-8) 2026-02-28 23:22:15 -05:00
sona.rs feat: ADR-023 full DensePose training pipeline (Phases 1-8) 2026-02-28 23:22:15 -05:00
sparse_inference.rs feat: Training mode, ADR docs, vitals and wifiscan crates 2026-02-28 23:50:20 -05:00
trainer.rs feat: ADR-024 Contrastive CSI Embedding Model — all 7 phases (#52) 2026-03-01 01:44:38 -05:00
training_api.rs fix: WebSocket race condition, data source indicators, auto-start pose detection (#96) 2026-03-02 13:47:49 -05:00
vital_signs.rs feat: ADR-021 vital sign detection + RVF container format (closes #45) 2026-02-28 22:52:19 -05:00