osint-dashboard/app
Sirius DevOps b2369bcc20
Some checks failed
build-and-deploy / build (push) Failing after 52s
map: fix cameras vanishing after opening a camera popup and zooming
Root cause: Leaflet 1.9.4's Map.closePopup() never nulls map._popup (only
unbindPopup does), so the moveend guard 'if (map._popup) return' skipped
every overlay reload forever after the first popup was ever opened. Opening
one camera popup froze the marker layer: zoom out and the map kept showing
the stale zoomed-in subset (or nothing) until a full page refresh.

Track real popup state via popupopen/popupclose events instead, and close
the popup on user zoom/drag so the moveend reload always runs after
navigation; the autopan skip still protects the popup when it pans itself
into view.
2026-08-27 17:38:48 -04:00
..
static map: fix cameras vanishing after opening a camera popup and zooming 2026-08-27 17:38:48 -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