osint-dashboard/app
Sirius DevOps 5cea0a5940
All checks were successful
build-and-deploy / build (push) Successful in 4m33s
map: cluster camera markers so cameras stay visible when zoomed in
Zooming in replaced the marker group with a bbox subset, so dense world
views (5k dots) thinned to a handful of pins — or zero on a wrapped world
copy, where currentBBox collapsed to a sliver and the API returned ~nothing.
Cameras only seemed to exist when zoomed out.

- vendor leaflet.markercluster 1.5.3; camera markers now render as numbered
  neon-green clusters at low zoom and split into individual dots as you zoom,
  so camera coverage is visible at every zoom level (spiderfy at max zoom)
- guard against null lat/lon rows (no phantom markers at 0,0)
- stale-response guard for loadCams/loadFires: rapid wheel zoom can resolve
  fetches out of order and a stale bbox response blanked the map
- serve index.html with Cache-Control: no-cache so the browser never keeps
  serving a pre-deploy copy after fixes land
2026-08-27 17:00:09 -04:00
..
static map: cluster camera markers so cameras stay visible when zoomed in 2026-08-27 17:00:09 -04:00
camera_config.py cameras: Live-Environment-Streams + HLS.js player 2026-08-27 15:54:54 -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 cameras: Live-Environment-Streams + HLS.js player 2026-08-27 15:54:54 -04:00
config.py fires: default FIRMS_DAYS to 2 (NRT latency leaves day=1 empty) 2026-08-24 22:07:51 -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 fires: append FIRMS day-range param; API 400s without it 2026-08-24 21:32:55 -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 Add NASA FIRMS active-fire ingest + /api/fires; API keys management page 2026-08-24 15:37:42 -04:00
main.py map: cluster camera markers so cameras stay visible when zoomed in 2026-08-27 17:00:09 -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 Add news pipeline: hourly scraper + Gemini summarizer in compose 2026-08-24 17:28:46 -04:00
requirements.txt Containerize for Pi: env-var config, compose stack, CI workflow 2026-07-07 17:50:51 -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 Add NASA FIRMS active-fire ingest + /api/fires; API keys management page 2026-08-24 15:37:42 -04:00
run_masscan_service.py masscan: active RTSP (554) camera discovery service 2026-08-24 22:23:36 -04:00
schemas.py Add news pipeline: hourly scraper + Gemini summarizer in compose 2026-08-24 17:28:46 -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