Commit Graph

242 Commits

Author SHA1 Message Date
Marc 5d2e9ee2c3 adding vector images for the towers and phones 2026-02-07 01:22:50 -06:00
Marc ac3928d8f3 First GSM SPY addition 2026-02-06 07:15:33 -06:00
Smittix a01f7f8b21 Fix updater settings panel error when updater.js is blocked
Add defensive typeof checks before referencing the Updater global in
loadUpdateStatus() and checkForUpdatesManual() so the settings panel
shows a helpful message instead of crashing. Also swap script load
order so updater.js loads before settings-manager.js.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 20:57:10 +00:00
Smittix 3fa1813ed5 Fix TSCM WiFi detection, SDR capabilities, layout, and correlation/cluster emission
- Use networksetup instead of deprecated airport utility for macOS WiFi detection
- Fix SDRDevice attribute access (use getattr instead of dict .get())
- Move Detected Threats panel next to RF Signals in 2-column grid
- Always run correlation/identity analysis at sweep end, even if stopped by user

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 16:41:10 +00:00
Smittix f001e4f4df Fix TSCM sweep scan resilience and add per-device error isolation
The sweep loop's WiFi/BT/RF scan processing had unprotected
timeline_manager.add_observation() calls that could crash an entire
scan iteration, silently preventing all device events from reaching
the frontend. Additionally, scan interval timestamps were only updated
at the end of processing, causing tight retry loops on persistent errors.

- Wrap timeline observation calls in try/except for all three protocols
- Move last_*_scan timestamp updates immediately after scan completes
- Add per-device try/except so one bad device doesn't block others
- Emit sweep_progress after WiFi scan for real-time status visibility
- Log warning when WiFi scan returns 0 networks for easier diagnosis
- Add known_device and score_modifier fields to correlation engine
- Add TSCM scheduling, cases, known devices, and advanced WiFi indicators

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 16:07:34 +00:00
Smittix 5870b5e735 Fix radar blip flicker by deferring renders during hover
The innerHTML rebuild on every SSE event was destroying and recreating
DOM elements under the cursor, causing rapid mouseenter/mouseleave
cycling. Now defers DOM rebuilds while hovering and debounces rapid
update calls with a 200ms window.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 23:43:19 +00:00
Smittix ce88b7c5f1 Fix proximity radar tooltip flicker on hover
Separate SVG translate positioning from CSS hover scale by nesting
device elements in two groups, preventing the CSS transform from
overriding the position and causing rapid mouseenter/mouseleave cycling.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 23:40:14 +00:00
Smittix 23e6c1dc52 Add SNR column to signal hits table
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 23:01:20 +00:00
Smittix 8d44e5e738 Set cyan-tinted map tiles as default 2026-02-04 22:31:02 +00:00
Smittix c57d50e87c Revamp UI styling to slate/cyan 2026-02-04 22:12:25 +00:00
Smittix 6d0ae2f2d4 Hide controls bar scrollbar
Change overflow-x: auto to overflow: hidden to remove
the unnecessary horizontal scrollbar.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 21:09:31 +00:00
Smittix 3cad41c8f6 Use margin-top auto to push control items to bottom
More robust approach:
- align-items: stretch !important on controls-bar
- margin-top: auto on control-group-items to push to bottom
- Specific selector for controls-bar > control-group

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 21:06:51 +00:00
Smittix 5ee742cf3a Fix controls bar alignment with stretch + space-between
Use align-items: stretch on controls-bar to make all control
groups the same height, and justify-content: space-between on
control-group to push content to top/bottom within each box.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 20:58:07 +00:00
Smittix c81de4eecc Use flex-end alignment for controls bar bottom alignment
Change from stretch to flex-end to ensure control group
bottom edges stay aligned regardless of varying heights.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 20:53:59 +00:00
Smittix 2f4f6069b8 Fix controls bar alignment in dashboard pages
Change align-items from center to stretch so control groups
of varying heights align at top and bottom instead of floating.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 20:28:09 +00:00
Smittix 78815ff206 Release v2.13.1 - Help modal and navigation improvements
- Add help modal system with keyboard shortcuts reference
- Add Main Dashboard button in navigation bar
- Make settings modal accessible from all dashboards
- Dashboard CSS improvements and consistency fixes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 20:05:07 +00:00
Smittix e48659c159 Release v2.13.0 - WiFi client display in AP detail drawer
Features:
- Display connected clients for access points in detail drawer
- Real-time client updates via SSE streaming
- Client cards show MAC, vendor, RSSI, probed SSIDs, and last seen
- Count badge in Connected Clients header

Other changes:
- Updated aircraft database
- CSS and template refinements

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 17:44:23 +00:00
Smittix cf8b992a7e Sync scanner range from backend updates 2026-02-04 13:25:14 +00:00
Smittix a17d94764b Sync scanner range with backend config 2026-02-04 13:14:42 +00:00
Smittix 5f199199ef Prefer progress data for scanner sweep 2026-02-04 13:11:02 +00:00
Smittix 4c5394a3be Use frequency-based sweep display 2026-02-04 12:48:40 +00:00
Smittix 026c3bc02c Stabilize scanner progress tracking 2026-02-04 12:42:30 +00:00
Smittix 9898930084 Stabilize sweep display and lower SNR default 2026-02-04 12:30:13 +00:00
Smittix 55533060a4 Stabilize sweep progress updates 2026-02-04 12:20:38 +00:00
Smittix 9cdd28f89b Ignore out-of-order scan updates 2026-02-04 12:17:36 +00:00
Smittix e6e47f2202 Add SNR threshold control for power scan 2026-02-04 11:54:56 +00:00
Smittix ee7e8752f8 Log only interesting listening signals 2026-02-04 11:37:15 +00:00
Smittix 66beb3b47d Align scanner audio stream start 2026-02-04 11:27:10 +00:00
Smittix 1d7c3d9154 Align listening action button styles 2026-02-04 11:23:32 +00:00
Smittix 523175abc3 Silence listen slow-start log 2026-02-04 11:19:44 +00:00
Smittix 5fdf756adb Retry listen playback without fallback 2026-02-04 11:12:46 +00:00
Smittix f952e0a08f Prompt user to enable audio playback 2026-02-04 11:10:34 +00:00
Smittix 21dfd728a2 Trigger user-initiated audio play on listen 2026-02-04 11:09:04 +00:00
Smittix d64b351aef Restart audio pipeline for fresh stream header 2026-02-04 11:04:43 +00:00
Smittix 246580861f Force squelch open for listen audio 2026-02-04 11:00:20 +00:00
Smittix 06b76f69d1 Retry listening audio stream fetch 2026-02-04 10:01:58 +00:00
Smittix a590fa85fb Add fetch stream fallback for listening audio 2026-02-04 09:49:14 +00:00
Smittix 54a746573e Add WebSocket audio fallback for listening 2026-02-04 09:46:34 +00:00
Smittix ef54a8d8c1 Force audio stream load on listen 2026-02-04 09:39:47 +00:00
Smittix 88ff8a9e69 Send SDR settings for listening audio 2026-02-04 09:31:07 +00:00
Smittix fa1c1e1eb6 Apply JetBrains Mono tokens to standalone pages 2026-02-04 01:15:18 +00:00
Smittix 0e6599390a Switch app font to JetBrains Mono 2026-02-04 01:10:42 +00:00
Smittix b5dbeb6b59 Use Terminus font across app 2026-02-04 00:56:22 +00:00
Smittix 8fde86bfed Add global nav dropdown behavior 2026-02-04 00:47:05 +00:00
Smittix fafc62cbd9 Add global nav styles 2026-02-04 00:45:00 +00:00
Smittix f6a3fd6633 Refine UI to clean professional style 2026-02-04 00:21:52 +00:00
Smittix 7d937abe93 Fix multiple UI bugs and improve error handling
Issues fixed:
- #113: Display RTL-SDR serial numbers in device selector
- #112: Kill all processes now stops Bluetooth scans
- #111: BLE device list no longer overflows container bounds
- #109: WiFi scanner panels maintain minimum width (no more "imploding")
- #108: Radar device hover no longer causes violent shaking
- #106: "Use GPS" button now uses gpsd for USB GPS devices
- #105: Meter trend text no longer overlaps adjacent columns
- #104: dump1090 errors now provide specific troubleshooting guidance

Changes:
- app.py: Add Bluetooth cleanup to /killall endpoint
- routes/adsb.py: Parse dump1090 stderr for specific error messages
- templates/index.html: Show SDR serial numbers in device dropdown
- static/css/index.css: Fix WiFi/BT panel layouts with proper min-width
- static/css/components/signal-cards.css: Fix meter grid overflow
- static/css/components/proximity-viz.css: Fix radar hover transform
- static/css/settings.css: Add GPS detection spinner
- static/js/components/proximity-radar.js: Add invisible hit areas
- static/js/core/settings-manager.js: Use gpsd before browser geolocation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 21:45:40 +00:00
Smittix 9f0149706a Release v2.12.1
Bug fixes and improvements.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 22:16:12 +00:00
Smittix 09ed8c6188 Add SDR device status panel and ADS-B Bias-T toggle
- Add /devices/status endpoint showing which SDR is in use and by what mode
- Add real-time status panel on main dashboard with 5s auto-refresh
- Add Bias-T toggle to ADS-B dashboard with localStorage persistence
- Auto-detect correct dump1090 bias-t flag (--enable-biast vs unsupported)
- Standardize SDR device labels across all pages

Closes #102

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 21:36:27 +00:00
Smittix a59dbea627 Fix Meshtastic connection type not restored on page refresh
Pass connection_type to updateConnectionUI() in checkStatus() so TCP
connections display correctly after browser refresh instead of defaulting
to Serial.

Fixes #98

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 21:23:56 +00:00