26 Commits

Author SHA1 Message Date
anoracleofra-code cf68f1978d v0.7.0: performance hardening — parallel fetches, deferred icons, AIS stability
Optimizations:
- Parallelized yfinance stock/oil fetches via ThreadPoolExecutor (~2s vs ~8s)
- AIS backoff reset after 200 successes; removed hot-loop pruning (lock contention)
- Single-pass ETag serialization (was double-serializing JSON)
- Deferred ~50 non-critical map icons via setTimeout(0)
- News feed animation capped at 15 items (was 100+ simultaneous)
- heapq.nlargest() for FIRMS fires (60K→5K) and internet outages
- Removed satellite duplication from fast endpoint
- Geopolitics interval 5min → 30min
- Ship counts single-pass memoized; color maps module-level constants
- Improved GDELT URL-to-headline extraction (skip gibberish slugs)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

Former-commit-id: 4a14a2f078
2026-03-11 06:25:31 -06:00
anoracleofra-code 2ae104fca2 v0.6.0: custom news feeds, data center map layer, performance hardening
New features:
- Custom RSS Feed Manager: add/remove/prioritize up to 20 news sources
  from the Settings panel with weight levels 1-5. Persists across restarts.
- Global Data Center Map Layer: 2,000+ DCs plotted worldwide with clustering,
  server-rack icons, and automatic internet outage cross-referencing.
- Imperative map rendering: high-volume layers bypass React reconciliation
  via direct setData() calls with debounced updates on dense layers.
- Enhanced /api/health with per-source freshness timestamps and counts.

Fixes:
- Data center coordinates fixed for 187 Southern Hemisphere entries
- Docker CORS_ORIGINS passthrough in docker-compose.yml
- Start scripts warn on Python 3.13+ compatibility
- Settings panel redesigned with tabbed UI (API Keys / News Feeds)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

Former-commit-id: 950c308f04
2026-03-10 15:27:20 -06:00
anoracleofra-code 12857a4b83 v0.5.0: FIRMS fire hotspots, space weather, internet outages
New intelligence layers:
- NASA FIRMS VIIRS fire hotspots (5K+ global thermal anomalies, flame icons)
- NOAA space weather badge (Kp index in status bar)
- IODA regional internet outage monitoring (grey markers, BGP/ping only)

Key improvements:
- Fire clusters use flame-shaped icons (not circles) for clear differentiation
- Internet outages are region-level with reliable datasources only
- Removed radiation layer (no viable free real-time API)
- All outage markers grey to avoid color confusion with other layers
- Filtered out merit-nt telescope data that produced misleading percentages

Updated changelog modal, README, and package.json for v0.5.0.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

Former-commit-id: 195c6b64b9
2026-03-10 10:23:38 -06:00
anoracleofra-code c343084def feat: add FIRMS thermal, space weather, radiation, and internet outage layers
Add 4 new intelligence layers for v0.5:
- NASA FIRMS VIIRS thermal anomaly tiles (frontend-only WMTS)
- NOAA Space Weather Kp index badge in bottom bar
- Safecast radiation monitoring with clustered markers
- IODA internet outage alerts at country centroids

All use free keyless APIs. All layers default to off.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

Former-commit-id: 7cb926e227
2026-03-10 09:01:35 -06:00
anoracleofra-code e0257d2419 chore: remove debug/sample files from tracking, update .gitignore
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

Former-commit-id: e7f3378b5a
2026-03-10 04:31:21 -06:00
anoracleofra-code dd8485d1b6 fix: filter out TWR (tower/platform) ADS-B transponders from flight data
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

Former-commit-id: 791ec971d9
2026-03-09 21:41:57 -06:00
anoracleofra-code 8cddf6794d feat: v0.4 — satellite imagery, KiwiSDR radio, LOCATE bar & security cleanup
New features:
- NASA GIBS (MODIS Terra) daily satellite imagery with 30-day time slider
- Esri World Imagery high-res satellite layer (sub-meter, zoom 18+)
- KiwiSDR SDR receivers on map with embedded radio tuner
- Sentinel-2 intel card — right-click for recent satellite photo popup
- LOCATE bar — search by coordinates or place name (Nominatim geocoding)
- SATELLITE style preset in bottom bar cycling
- v0.4 changelog modal on first launch

Fixes:
- Satellite imagery renders below data icons (imagery-ceiling anchor)
- Sentinel-2 opens full-res PNG directly (not STAC catalog JSON)
- Light/dark theme: UI stays dark, only map basemap changes

Security:
- Removed test files with hardcoded API keys from tracking
- Removed .git_backup directory from tracking
- Updated .gitignore to exclude test files, dev scripts, cache files

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

Former-commit-id: e89e992293
2026-03-09 17:46:33 -06:00
anoracleofra-code 3c18bef174 fix: add legacy-cgi dependency for Python 3.13+ compatibility
Python 3.13 deprecated and 3.14 removed the cgi module entirely.
feedparser imports it, causing ModuleNotFoundError on newer Python.


Former-commit-id: 14dc1a714d
2026-03-09 08:45:40 -06:00
anoracleofra-code 2e53d6d7af fix: show pip install errors in start.bat and loosen dependency pins for Python 3.13+
start.bat was silently swallowing pip errors. Strict version pins on
pydantic, fastapi, and uvicorn caused build failures on Python 3.13+
due to missing pre-built wheels.


Former-commit-id: 7b4e907bd6
2026-03-09 07:55:18 -06:00
anoracleofra-code bf0da2c434 fix: create .env file if missing when saving API keys
Docker users don't have a .env file by default, so the settings
page silently failed to save keys. Now creates it automatically.


Former-commit-id: 1d0ccdd55a
2026-03-09 07:51:59 -06:00
anoracleofra-code e82a5ae3be fix: Docker build failures — backend .dockerignore excluded package.json, frontend lock file missing hls.js
Backend: *.json glob in .dockerignore excluded package.json, causing
npm install to fail with ENOENT. Replaced with explicit exclusions.

Frontend: hls.js was added to package.json but package-lock.json was
not regenerated, causing npm ci to fail with EUSAGE sync error.

Former-commit-id: 2dcf7061d1
2026-03-09 06:30:20 -06:00
anoracleofra-code 3326c520a9 fix: include satellites in fast data endpoint payload
Satellites were missing from /api/live-data/fast response, causing
the frontend to show 0 satellites despite the backend having data.


Former-commit-id: 7605b5f3a1
2026-03-09 06:30:19 -06:00
anoracleofra-code 24e4d331fc fix: install ws module dependencies in backend Dockerfile for AIS proxy
Former-commit-id: f8c48830f5
2026-03-09 06:01:05 -06:00
anoracleofra-code c96f6ad723 fix: document requirement for permissive CORS policy
Former-commit-id: e2e1cda5cb
2026-03-09 05:56:46 -06:00
anoracleofra-code 923c80368d fix: resolve security concerns in AIS proxy, GDELT parsing, and env key validation
Former-commit-id: fad9572959
2026-03-09 05:53:15 -06:00
anoracleofra-code 30595843a0 fix: add node and curl dependencies to backend docker image
Former-commit-id: b04b6908c2
2026-03-09 05:41:43 -06:00
anoracleofra-code 2147eee0a6 fix: resolve shell command injection vulnerability in curl fallback
Former-commit-id: d8098c0414
2026-03-08 21:50:34 -06:00
anoracleofra-code 1298dd326b fix: implement CelesTrak fallbacks, add connection banner, and bump to v0.3.0
Former-commit-id: e7eb7c23a5
2026-03-08 21:00:59 -06:00
anoracleofra-code ed5bc5a23b fix: improve API key security, add connection banner, and bump to v0.3.0
Former-commit-id: 0c7dc37d83
2026-03-08 19:52:07 -06:00
anoracleofra-code 9d58be6bbb fix: merge AI dependency additions
Former-commit-id: d69d6ad516
2026-03-08 15:46:29 -06:00
anoracleofra-code 45e6258ea4 fix: add missing sgp4, geopy, and pytz dependencies to requirements for fresh installs
Former-commit-id: 975f56f91c
2026-03-08 15:45:25 -06:00
anoracleofra-code c1f89ae446 feat: integrate AI codebase optimizations (memory safety, spatial hashing, centralized API base)
Former-commit-id: cd03bb966f
2026-03-08 15:39:33 -06:00
anoracleofra-code ff19d2bc68 fix: resolve satellite NORAD ID lookup to fix propagation loop
Former-commit-id: abbc51096b
2026-03-08 15:01:58 -06:00
anoracleofra-code ffb3041a2b fix: make test_trace.py curl commands OS-agnostic
Former-commit-id: 9949a66213
2026-03-08 14:24:36 -06:00
anoracleofra-code f9a8a998c4 feat: add Docker publishing via GitHub Actions
Former-commit-id: 38d92ac6cc
2026-03-08 14:04:52 -06:00
anoracleofra-code 362a6e2ceb Initial commit: ShadowBroker v0.1
Former-commit-id: 8ed321f2ba
2026-03-04 22:44:08 -07:00