Commit Graph

1406 Commits

Author SHA1 Message Date
James Smith c789646f24 Fix dashboard startup regressions and mode utilities 2026-03-19 10:37:21 +00:00
James Smith 4fc35c094c Delay welcome page GPS and voice streams 2026-03-19 09:34:33 +00:00
James Smith 94e9d65fad Defer hidden dashboard startup work 2026-03-19 09:19:36 +00:00
James Smith 7587c1d009 Lazy-load satellite iframe on main dashboard 2026-03-19 09:05:48 +00:00
James Smith b8b661b3be Revert "Retry ADS-B map bootstrap safely"
This reverts commit 2c66a2fe4a.
2026-03-19 08:54:59 +00:00
James Smith 2c66a2fe4a Retry ADS-B map bootstrap safely 2026-03-19 08:52:08 +00:00
James Smith 665067e399 Retry slow SDR detection in ADS-B 2026-03-19 08:43:20 +00:00
James Smith 0ea03c8f93 Harden ADS-B dashboard bootstrap 2026-03-19 08:35:43 +00:00
James Smith 0f161f96d3 Revert "Keep ADS-B on local startup tiles"
This reverts commit 2ceeb520e9.
2026-03-19 08:32:10 +00:00
James Smith 2ceeb520e9 Keep ADS-B on local startup tiles 2026-03-19 08:28:13 +00:00
James Smith 274824fe68 Keep ADS-B fallback grid until tiles load 2026-03-19 08:18:00 +00:00
James Smith b78a261a0b Shorten agent health checks on load 2026-03-19 08:09:07 +00:00
James Smith 09e0ddef79 Ignore aborted satellite pass requests 2026-03-19 08:04:36 +00:00
James Smith 5486656782 Defer noncritical ADS-B startup work 2026-03-19 08:01:33 +00:00
James Smith be4c9a87ad Reduce repeated ADS-B device probes 2026-03-19 07:55:19 +00:00
James Smith 1be531a263 Skip pre-stop on dashboard navigation 2026-03-19 07:47:46 +00:00
James Smith b00638f794 Stop clearing browser caches on load 2026-03-19 07:43:32 +00:00
James Smith 7c9df8beb3 Revert "Reduce ADS-B map layout shift"
This reverts commit af475ad6ea.
2026-03-19 00:17:22 +00:00
James Smith af475ad6ea Reduce ADS-B map layout shift 2026-03-19 00:11:29 +00:00
James Smith 853f1da581 Harden APRS mode teardown and map fallback 2026-03-19 00:06:47 +00:00
James Smith 412bdde2d9 Disable stale dashboard service worker cache 2026-03-19 00:01:47 +00:00
James Smith 42d2371ba6 Revert "Stage dashboard startup requests"
This reverts commit ab3c581ab0.
2026-03-18 23:57:37 +00:00
James Smith ab3c581ab0 Stage dashboard startup requests 2026-03-18 23:53:54 +00:00
James Smith 03a0f13772 Open satellite dashboard in new tab 2026-03-18 23:41:29 +00:00
James Smith 8927f50696 Use direct satellite dashboard links 2026-03-18 23:35:24 +00:00
James Smith 883be8d6d3 Fix satellite mode redirect endpoint 2026-03-18 23:32:38 +00:00
James Smith a8001604d7 Unify satellite navigation to dashboard 2026-03-18 23:29:09 +00:00
James Smith 3bf21be789 Lock satellite sidebar panel heights 2026-03-18 23:20:53 +00:00
James Smith 4dc1cd43e4 Stabilize satellite dashboard sidebar panels 2026-03-18 23:17:02 +00:00
James Smith 01ed00805e Refresh embedded satellite dashboard state 2026-03-18 23:09:07 +00:00
James Smith a9eef9f949 Harden embedded satellite dashboard loading 2026-03-18 23:00:21 +00:00
James Smith 77cfed11d5 Fix satellite dashboard refresh flows 2026-03-18 22:53:36 +00:00
James Smith 694e16da59 Clear stale telemetry and add transmitter fallbacks 2026-03-18 22:43:40 +00:00
James Smith eaa291289b Include NORAD IDs in satellite positions 2026-03-18 22:40:00 +00:00
James Smith 75137646fc Harden satellite dashboard telemetry loading 2026-03-18 22:35:31 +00:00
James Smith a47aa22acd Refresh weather decoder docs for Meteor flow 2026-03-18 22:30:54 +00:00
James Smith c1f4c2310e Align Meteor tracking defaults 2026-03-18 22:28:04 +00:00
James Smith 4deb9603db Improve persisted Meteor status in dashboard 2026-03-18 22:25:20 +00:00
James Smith 7238a4c74e Reset persisted Meteor state on satellite switch 2026-03-18 22:24:12 +00:00
James Smith 5551ede998 Clarify persisted Meteor decode failures 2026-03-18 22:23:09 +00:00
James Smith efaa06cc32 Show persisted Meteor decode state in weather mode 2026-03-18 22:22:07 +00:00
James Smith 4df59d0fad Persist Meteor decode job state 2026-03-18 22:20:24 +00:00
James Smith f5a2383c04 Add Meteor LRPT ground station pipeline 2026-03-18 22:01:52 +00:00
James Smith bf2f0b4a7f Harden dashboard loading against network stalls 2026-03-18 21:33:32 +00:00
James Smith 963fdaf013 Fix mode switch re-entry regressions 2026-03-18 21:26:01 +00:00
James Smith c75cd820e9 Fix flask-sock install failure on RPi by skipping --only-binary for pure-Python packages
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 20:59:00 +00:00
James Smith ee6781e9d4 Fix weather sat test failures: login auth, timer refs, and SDR device mocking
- Add authenticated client fixture to test_weather_sat_routes.py so
  require_login() before_request doesn't redirect test clients to /login
- Save timer mock references before disable()/skip_pass() clear _timer = None
- Patch app.claim_sdr_device to return None in execute_capture and
  scheduling cycle tests to avoid real USB hardware probing in CI

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 20:56:01 +00:00
James Smith 16391a660d Fix flask-sock ImportError caused by simple-websocket missing from venv
When pip installs flask-sock into the venv, it finds simple-websocket
already satisfied in ~/.local (user site-packages from a prior install)
and skips installing it into the venv. The venv Python cannot import from
~/.local (user site-packages are disabled in venvs), so flask_sock's
top-level "from simple_websocket import Server" raises ImportError, and
all WebSocket features are silently disabled.

Fix: explicitly list simple-websocket>=0.5.1 as an install target in
setup.sh and requirements.txt so pip installs it into the venv
regardless of what is already present in user or system site-packages.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 20:44:52 +00:00
James Smith 915405246a Fix SSE first-byte delay in ADS-B and controller streams; harden WebSocket init
- Add immediate keepalive to /adsb/stream generator so the Werkzeug dev
  server flushes response headers immediately on tracking start, preventing
  the 30-second delay before the aircraft map begins receiving data
- Same fix for /controller/stream/all used by the ADSB dashboard in agent mode
- Widen WebSocket init exception guards in app.py from ImportError to
  Exception so any startup failure (e.g. RuntimeError from flask-sock on
  an unsupported WSGI server) is caught instead of propagating

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 20:40:15 +00:00
James Smith 7988015785 Fix satellite dashboard page never loading by sending immediate SSE keepalive
Werkzeug's dev server buffers SSE response headers until the first body byte
is written. With keepalive_interval=30s, opening two SSE connections on
DOMContentLoaded (satellite stream + new ground station stream) meant the
browser waited 30 seconds before receiving any response bytes from either
connection. Browsers keep their loading indicator active while connections are
pending, causing the satellite dashboard to appear stuck loading.

Fix: yield an immediate keepalive at the start of sse_stream_fanout so every
SSE endpoint flushes headers + first data to the browser instantly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 20:03:07 +00:00