Add live stream connection health tracking and UI TCP timeout warnings - #147
sappelhoff wants to merge 3 commits into
Conversation
eec86a3 to
3b16f21
Compare
|
The connection warning is useful, but I recommend changes before merging:
This PR includes all of #146's changes, so the shutdown and validation findings posted there also apply. I suggest fixing #146 first, then rebasing this PR to make the telemetry/UI changes independently reviewable. Review scope: source inspection; I did not run an end-to-end GUI/network recovery test. |
Problem
When stream discovery succeeds over UDP broadcast but establishing the TCP data connection fails or times out (e.g. due to Windows Firewall, multi-NIC/VPN routing like WireGuard, or unreachable remote ports),
in->open_stream()caughtlsl::timeout_errorand silently proceeded to record. The user received no visual feedback in the GUI, resulting in empty ~40 KB files containing only XML stream headers and zero sample chunks.Solution
StreamTelemetrytracker inrecordingto monitor per-stream TCP connection status and sample counts.connection_failed = truewhenin->open_stream()encounters a timeout error during stream subscription.MainWindow::statusUpdate(), surface an immediate warning banner in the status bar if any stream's TCP connection failed (or is offline/missing), alerting the experimenter in real-time.UI Preview
Recording to sub-001.xdf (00:02:15; 1420kb)Recording to sub-001.xdf (00:02:15; 40kb) | WARNING: Cannot connect to BioSemi (TCP timeout)Verification