osint-dashboard/app
Sirius DevOps ce5207e060 feat: distinct heading-aware marker symbols for live feeds (aircraft/trains/vessels)
Replace the shared colored-dot renderPoints for live feeds with per-feed SVG
glyphs on heading-aware divIcons:
- Aircraft: plane silhouette rotated by heading, color-coded by alt
- Trains: railcar glyph (respecting per-train iconColor), rotated when heading present
- Vessels: sailboat glyph rotated by heading, color by speed (teal/gray)

Icons are cached per (feed, color, heading) so thousands of markers reuse a
bounded set of L.divIcon instances. Rotation is applied to the inner glyph
span only (never the marker container), keeping clustering, spiderfy, and
iconAnchor intact. Missing/NaN heading falls back to an upright glyph.
Color values are sanitized against style-attribute breakout.
2026-08-27 20:50:35 -04:00
..
static feat: distinct heading-aware marker symbols for live feeds (aircraft/trains/vessels) 2026-08-27 20:50:35 -04:00
ais_stream.py feat: toggleable live map feeds (ADS-B, trains, AIS, radar, WFIGS, NWS) 2026-08-27 19:08:30 -04:00
camera_config.py feat: toggleable live map feeds (ADS-B, trains, AIS, radar, WFIGS, NWS) 2026-08-27 19:08:30 -04:00
camera_hls.py cameras: Live-Environment-Streams + HLS.js player 2026-08-27 15:54:54 -04:00
camera_models.py Add open IP camera discovery scraper (OSINT map) 2026-08-24 14:54:51 -04:00
camera_preview.py cameras: Live-Environment-Streams + HLS.js player 2026-08-27 15:54:54 -04:00
camera_scraper.py feat: toggleable live map feeds (ADS-B, trains, AIS, radar, WFIGS, NWS) 2026-08-27 19:08:30 -04:00
config.py feat: toggleable live map feeds (ADS-B, trains, AIS, radar, WFIGS, NWS) 2026-08-27 19:08:30 -04:00
database.py Add NASA FIRMS active-fire ingest + /api/fires; API keys management page 2026-08-24 15:37:42 -04:00
docker-entrypoint.sh Run migrations via entrypoint (alembic upgrade head) instead of nested asyncio.run in startup hook 2026-07-07 18:24:01 -04:00
fire_sources.py feat: toggleable live map feeds (ADS-B, trains, AIS, radar, WFIGS, NWS) 2026-08-27 19:08:30 -04:00
gibs_map.py Map: clamp GIBS daily-layer latest to yesterday UTC — today's mosaic isn't ingested yet at 00:xx UTC so tiles 404'd and the map went black 2026-08-24 20:47:50 -04:00
ingest_cron.py first commit 2026-06-04 20:30:04 -04:00
ingestor.py Ingestor: update JetStream stream subjects on startup so events.camera gets covered (add_stream silently no-ops when stream exists) 2026-08-24 21:19:20 -04:00
keystore.py feat: toggleable live map feeds (ADS-B, trains, AIS, radar, WFIGS, NWS) 2026-08-27 19:08:30 -04:00
live_layers.py feat: toggleable live map feeds (ADS-B, trains, AIS, radar, WFIGS, NWS) 2026-08-27 19:08:30 -04:00
main.py feat: toggleable live map feeds (ADS-B, trains, AIS, radar, WFIGS, NWS) 2026-08-27 19:08:30 -04:00
masscan_config.py cameras: RTSP preview via ffmpeg, stop opening VLC, drop masscan to 200pps 2026-08-24 23:36:34 -04:00
masscan_scanner.py cameras: map only working HTTP/MJPEG feeds 2026-08-25 22:05:15 -04:00
models.py frontend: Ghost-in-the-Shell overhaul — map-first landing, HUD chrome, event blips, tickers 2026-08-27 17:22:14 -04:00
requirements.txt feat: toggleable live map feeds (ADS-B, trains, AIS, radar, WFIGS, NWS) 2026-08-27 19:08:30 -04:00
run_camera_service.py Add open IP camera discovery scraper (OSINT map) 2026-08-24 14:54:51 -04:00
run_ingester.py feat: toggleable live map feeds (ADS-B, trains, AIS, radar, WFIGS, NWS) 2026-08-27 19:08:30 -04:00
run_masscan_service.py masscan: active RTSP (554) camera discovery service 2026-08-24 22:23:36 -04:00
schemas.py frontend: Ghost-in-the-Shell overhaul — map-first landing, HUD chrome, event blips, tickers 2026-08-27 17:22:14 -04:00
sources.py Wire ingestion: long-running ingester (sources->NATS->Postgres), fix nats-py API (durable=/LIMITS), drop UUID source_id on RSS 2026-07-07 19:35:28 -04:00