Commit Graph

105 Commits

Author SHA1 Message Date
Smittix
24332a4e23 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
340b300aa4 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
1b04b52509 Sync scanner range from backend updates 2026-02-04 13:25:14 +00:00
Smittix
fca334f472 Sync scanner range with backend config 2026-02-04 13:14:42 +00:00
Smittix
d81d644319 Prefer progress data for scanner sweep 2026-02-04 13:11:02 +00:00
Smittix
400cf1114f Use frequency-based sweep display 2026-02-04 12:48:40 +00:00
Smittix
fec38adc78 Stabilize scanner progress tracking 2026-02-04 12:42:30 +00:00
Smittix
993a7d2626 Stabilize sweep display and lower SNR default 2026-02-04 12:30:13 +00:00
Smittix
dbe09411ac Stabilize sweep progress updates 2026-02-04 12:20:38 +00:00
Smittix
0afc47fcdd Ignore out-of-order scan updates 2026-02-04 12:17:36 +00:00
Smittix
c0fa59d10e Add SNR threshold control for power scan 2026-02-04 11:54:56 +00:00
Smittix
812f85b9a9 Log only interesting listening signals 2026-02-04 11:37:15 +00:00
Smittix
77888b7d88 Align scanner audio stream start 2026-02-04 11:27:10 +00:00
Smittix
4a38d7512d Align listening action button styles 2026-02-04 11:23:32 +00:00
Smittix
5d0df18dac Silence listen slow-start log 2026-02-04 11:19:44 +00:00
Smittix
d18e38800e Retry listen playback without fallback 2026-02-04 11:12:46 +00:00
Smittix
76e595aaec Prompt user to enable audio playback 2026-02-04 11:10:34 +00:00
Smittix
dfb9897fa1 Trigger user-initiated audio play on listen 2026-02-04 11:09:04 +00:00
Smittix
82ad784fcb Restart audio pipeline for fresh stream header 2026-02-04 11:04:43 +00:00
Smittix
3f6b9cc5ef Force squelch open for listen audio 2026-02-04 11:00:20 +00:00
Smittix
d75f7c794f Retry listening audio stream fetch 2026-02-04 10:01:58 +00:00
Smittix
503b91ea87 Add fetch stream fallback for listening audio 2026-02-04 09:49:14 +00:00
Smittix
43db7c309d Add WebSocket audio fallback for listening 2026-02-04 09:46:34 +00:00
Smittix
6e57927409 Force audio stream load on listen 2026-02-04 09:39:47 +00:00
Smittix
a404f5ded9 Send SDR settings for listening audio 2026-02-04 09:31:07 +00:00
Smittix
07d6ef984e Switch app font to JetBrains Mono 2026-02-04 01:10:42 +00:00
Smittix
50227ccae6 Use Terminus font across app 2026-02-04 00:56:22 +00:00
Smittix
df634dc741 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
cemaxecuter
130a3a2d8e Don't stop agent scans when switching agents
When switching between agents in the UI, only stop the UI polling -
don't send a stop command to the agent. Agent scans should continue
running independently. When switching back, checkScanStatus() will
detect the running scan and resume polling.
2026-01-31 08:59:30 -05:00
cemaxecuter
630bc2971a Fix WiFi deep scan polling on agent - normalize scan_type value
Agent returns scan_type 'deepscan' but UI expected 'deep', causing the
polling to immediately stop when checking scan status on agent switch.
Now normalizes 'deepscan' to 'deep' in checkScanStatus.
2026-01-31 08:51:17 -05:00
cemaxecuter
f0cc396a6b Fix agent mode issues and WiFi deep scan polling
Agent fixes:
- Fix Ctrl+C hang by running cleanup in background thread
- Add force-exit on double Ctrl+C
- Improve exception handling in output reader threads to prevent
  bad file descriptor errors on shutdown
- Reduce cleanup timeouts for faster shutdown

Controller/UI fixes:
- Add URL validation for agent registration (check port, protocol)
- Show helpful message when agent is unreachable during registration
- Clarify API key field label (reserved for future use)
- Add client-side URL validation with user-friendly error messages

WiFi agent mode fixes:
- Add polling fallback for deep scan when push mode is disabled
- Polls /controller/agents/{id}/wifi/data every 2 seconds
- Detect running scans when switching to an agent
- Fix scan_mode detection (agent uses params.scan_type)
2026-01-31 08:10:32 -05:00
Smittix
49fa02142d feat: Add TCP connection support for Meshtastic
Allow connecting to WiFi-enabled Meshtastic devices via TCP/IP in
addition to USB/Serial connections. This enables remote monitoring
of mesh nodes that have WiFi capability (T-Beam, Heltec WiFi LoRa, etc).

- Add connection_type parameter ('serial' or 'tcp') to /meshtastic/start
- Add hostname parameter for TCP connections
- Update UI with connection type dropdown and hostname input field
- Show connection type in status responses

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 23:01:46 +00:00
James Ward
384d02649a feat: add shared observer location with opt-out 2026-01-30 10:49:53 -08:00
Smittix
3a6bd3711e release: v2.12.0 - ISS SSTV decoder, update notifications, UI improvements
- Add ISS SSTV decoder mode with real-time tracking globe
- Add GitHub update notifications for new releases
- Enhance Meshtastic with QR codes and telemetry display
- Add new Space category for satellite modes
- Fix SoapySDR detection, dump1090 builds, and Flask compatibility
- Update version numbers and changelog

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 22:45:28 +00:00
Smittix
d28d371caf feat: UI improvements and Space category
- Add new "Space" category with Satellite and ISS SSTV modes
- Rename "Scanner" to "Listening Post"
- SSTV now uses global SDR device selector
- Meshtastic map markers more visible (stronger glow, larger size)
- CSS layout fixes using flex instead of fixed heights

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 22:25:31 +00:00
Smittix
468812bc09 feat: Replace SSTV map with Leaflet for accurate ISS tracking
- Use real Leaflet map with proper tile layers (same as satellite section)
- ISS marker with pulsing glow animation
- Ground track orbit line showing ISS path
- Map auto-pans to follow ISS position
- Simplified overlay showing position and next pass info
- Responsive layout that adapts to screen size
- Removed custom canvas rendering and continent data

The Leaflet map uses the same tile provider as other sections,
ensuring the ISS position is accurately displayed on a real map.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 17:15:32 +00:00
Smittix
7bef63aede feat: Replace 3D globe with accurate 2D world map
- Use simple equirectangular projection for guaranteed accuracy
- Direct linear mapping: lon to x, lat to y (no complex 3D math)
- Show ISS ground track orbit path
- Continent outlines rendered on flat map
- Canvas changed to 300x150 for proper 2:1 aspect ratio
- Updated CSS for rectangular map styling

The 2D map uses a straightforward coordinate transformation
that cannot produce incorrect positions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 17:08:33 +00:00
Smittix
21dec0d53a fix: Correct globe projection orientation
- Fix x-axis mirroring for proper globe viewing orientation
- Adjust rotation formula to use lon - rotation instead of lon + rotation
- Globe now correctly shows landmasses relative to ISS position

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 16:53:31 +00:00
Smittix
52997b3c78 fix: Correct ISS position projection on globe
- Use actual ISS coordinates with globe rotation instead of fixed lon=0
- Fix orbit trail to use actual longitude offsets from ISS position
- Trail now properly follows behind ISS based on orbital path

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 16:48:10 +00:00
Smittix
765e1384b5 fix: Replace simplified globe continents with accurate geography
Add geographically accurate continent outlines including:
- North America with proper coastline detail (Alaska, Florida, Gulf of Mexico)
- Greenland, Iceland, UK/Ireland as separate landmasses
- Central and South America with accurate shapes
- Europe with Scandinavia separated
- Africa with Madagascar
- Middle East/Arabian Peninsula
- Asia with India, Southeast Asia, Korea, Japan, Taiwan
- Philippines and Indonesia archipelago
- Australia and New Zealand
- Sri Lanka

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 16:44:22 +00:00
Smittix
e18f85370f feat: Add world map with continents to ISS tracking globe
- Added simplified continent outlines (N/S America, Europe, Africa, Asia, Australia)
- Proper 3D orthographic projection with rotation
- Globe rotates to center on ISS position
- Green landmasses on blue ocean background
- ISS shown in yellow/orange with orbit trail
- Lat/lon grid lines properly projected on sphere

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 16:37:54 +00:00
Smittix
a0604a43c0 fix: Globe now rotates to always show ISS position
- Globe view centers on ISS longitude so it's always visible
- Added console logging for debugging position updates
- Increased ISS marker size and glow for better visibility

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 16:35:30 +00:00
Smittix
9cb44c6273 fix: Add direct ISS position endpoint for globe tracking
- Add /sstv/iss-position endpoint that calculates ISS position directly
- Update JS to use new endpoint instead of /satellite/position
- Returns lat, lon, altitude, and optionally elevation/azimuth from observer

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 16:31:35 +00:00
Smittix
07ae227cee feat: Add ISS tracking globe and location controls to SSTV mode
- Update TLE data with current orbital elements for accurate predictions
- Add location inputs (lat/lon) and GPS button to SSTV stats strip
- Add TLE update button to fetch latest orbital data from CelesTrak
- Add 3D globe visualization showing real-time ISS position
- Display ISS coordinates and altitude below globe
- Auto-refresh ISS position every 5 seconds
- Add NOAA-15, NOAA-18, NOAA-19 satellites to TLE data

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 16:22:24 +00:00
Smittix
0c7ac816e9 feat: Add location settings for ISS pass predictions
- Add Location tab to settings modal with lat/lon inputs
- Add GPS detection button for auto-location
- Update SSTV to use saved location for ISS pass predictions
- Fix SSTV panels to use full screen width (remove max-width constraint)
- Improve ISS pass messages to guide users to location settings
- Add checked/last_check fields to update status response

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 15:36:37 +00:00
Smittix
8e204725b2 feat: Add ISS SSTV decoder mode
Add slow-scan television decoder for receiving images from ISS.
Includes new Space dropdown in navigation grouping Satellite and SSTV modes.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 14:51:06 +00:00
Smittix
ae804f92b2 feat: Enhance Meshtastic mode with QR code support
Add QR code generation for sharing Meshtastic channel configurations.
Add qrcode[pil] dependency for QR code generation.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 14:50:53 +00:00
Smittix
ec22823e59 feat: Centralize map tile management via Settings manager
- Add Settings.registerMap() to register maps for tile updates
- Add Settings.createTileLayer() to create tile layers from settings
- Update _updateMapTiles() to use registered maps
- Expose all maps to window object for settings manager access
- All dashboards now use Settings manager when available
- Tile provider changes in settings now apply immediately to all maps
- Use Fastly CDN for CARTO tiles (more reliable)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 10:00:25 +00:00
Smittix
87cd10194f fix: Add cache-busting parameter to tile URLs
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 09:49:47 +00:00
Smittix
933575b480 fix: Remove {r} from CARTO tile URLs for proper dark mode
The {r} retina parameter was causing CARTO to return light/gray tiles
instead of dark tiles. Removed {r} from all tile layer URLs.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 09:44:51 +00:00