Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
812 commits
Select commit Hold shift + click to select a range
dc70a03
Expand military callsign detection
koala73 Jan 27, 2026
6723de7
Fix military detection false positives
koala73 Jan 27, 2026
49325ab
Add ICAO hex range detection for military aircraft
koala73 Jan 27, 2026
3c1a3c5
Refine military hex ranges to exclude commercial
koala73 Jan 27, 2026
e652025
Simplify hex ranges to high-confidence military blocks
koala73 Jan 27, 2026
f8efad0
Add ADS-B Exchange military aircraft database
koala73 Jan 27, 2026
f5db4ca
Fix military detection false positives and code quality
koala73 Jan 27, 2026
40ecae1
Fix map setCenter calculation - remove incorrect zoom division
koala73 Jan 27, 2026
386625d
Add debug logging to theater click + map setCenter
koala73 Jan 27, 2026
f7ba545
Add debug logging to trace handler setup
koala73 Jan 27, 2026
9d1b9db
Add comprehensive debug logging for map navigation handler
koala73 Jan 27, 2026
283d05a
Cherry-pick improvements from PRs #33, #34, #35 with fixes
koala73 Jan 27, 2026
e9b4c6d
Remove SVA (Saudi Arabian Airlines) from military callsign regex
koala73 Jan 27, 2026
5674a58
Fix map navigation: combine flyTo + zoom into single call
koala73 Jan 27, 2026
b214a13
Factor naval vessels into theater posture level calculation
koala73 Jan 27, 2026
4a63625
Suppress map location flashes during initial news load
koala73 Jan 27, 2026
a84a207
v2.1.0: Country click → AI intelligence brief
koala73 Jan 27, 2026
8a82cd1
UX: country hover highlight + instant loading feedback on click
koala73 Jan 27, 2026
62cfa95
Comprehensive country intel: geo-based military counts, richer contex…
koala73 Jan 27, 2026
33b8b66
Add stock market index to country intel + pause renders during modal
koala73 Jan 27, 2026
b7df3c7
Remove broken Yahoo Finance symbols (AE, VN, NG, KE, CO, PK, BD, GR, RO)
koala73 Jan 27, 2026
395207a
Fix Middle East stock indices: add UAE DFM, fix Kuwait, use 1mo range
koala73 Jan 27, 2026
d883ab3
Remove unreliable Kuwait symbol (only 1 data point on Yahoo)
koala73 Jan 27, 2026
8ec935c
Add threat level classification system with keyword classifier, UI ba…
koala73 Jan 27, 2026
841afa1
Sort news by threat severity instead of chronological, remove filter UI
koala73 Jan 27, 2026
ae4e529
Update world monitor screenshot
koala73 Jan 28, 2026
487bdf7
Improve Polymarket: tag-based event queries, clickable links
koala73 Jan 29, 2026
69ca9b4
Add news geo-location map markers and country prediction markets
koala73 Jan 29, 2026
4ad69ac
Lower theater posture thresholds for open-source tracking reality, ad…
koala73 Jan 29, 2026
a5261d7
Add AI threat classification, map progressive disclosure, and bug fixes
koala73 Jan 29, 2026
c140ed6
Add category tag badge to news items from threat classification
koala73 Jan 29, 2026
c8a62f7
Add CII boost to theater posture, lower Iran naval thresholds
koala73 Jan 29, 2026
c30be98
Rate-limit AI classification queue, cache vessel counts in localStorage
koala73 Jan 29, 2026
faee50f
Remove BREAKING badges from hotspots, add 30s pulse ring on news loca…
koala73 Jan 29, 2026
b309a2d
Add World Stories: shareable vertical country intelligence snapshots …
koala73 Jan 29, 2026
06ae16e
Switch story rendering to client-side Canvas (WASM not allowed in Ver…
koala73 Jan 29, 2026
b4d351f
Improve story cards: fix % bug, add signals/convergence, share to Wha…
koala73 Jan 29, 2026
e36d8dd
Fix story modal z-index and convergence score text overlap
koala73 Jan 29, 2026
c504066
Gate story generation on data readiness
koala73 Jan 29, 2026
548aef4
Prevent toast stacking on repeated clicks
koala73 Jan 29, 2026
8bda032
Hide CountryIntelModal before opening story
koala73 Jan 29, 2026
9c70042
Fix WhatsApp share: use deep link + auto-download image
koala73 Jan 29, 2026
0b5cb60
Fix WhatsApp deep link: only fallback to wa.me if app didn't open
koala73 Jan 29, 2026
10a8825
Use https:// URL in WhatsApp share for clickable link
koala73 Jan 29, 2026
3ee9f45
WhatsApp share: copy image to clipboard + open web.whatsapp.com
koala73 Jan 29, 2026
604a751
feat: enhance story sharing with templates, deep links, and multi-pla…
Jan 29, 2026
fef2422
feat: add temporal anomaly detection service
Jan 29, 2026
7c68886
feat(worldmonitor): 10 initiatives - launch prep and enhancements
Jan 29, 2026
6be57b3
research: OSINT tools analysis and improvement ideas
Jan 30, 2026
091b33a
feat: implement NASA FIRMS satellite fire detection
Jan 30, 2026
a30ea3d
feat: add verification checklist UI based on Bellingcat OSH framework
Jan 30, 2026
d7c2476
docs: update OSINT research to mark implemented features
Jan 30, 2026
7e23c82
feat: add AI-generated content detection service
Jan 30, 2026
ad7a453
feat: add social media sentiment tracking service
Jan 30, 2026
b6562e8
feat: implement Correlation Engine 2.0
Jan 30, 2026
8a4466a
feat: add internet infrastructure awareness service
Jan 30, 2026
06872d3
feat: add war analysis tools (SALW tracking, military equipment)
Jan 30, 2026
8f10580
feat: add automated report generation service
Jan 30, 2026
0284986
docs: update OSINT research - all features implemented
Jan 30, 2026
b464887
feat: add API for third-party integrations
Jan 30, 2026
72b0cb6
docs: ALL OSINT research features now implemented - 9/9 complete
Jan 30, 2026
2f63200
feat: wire new services into signal aggregator
Jan 30, 2026
1e6aa45
feat: satellite fires layer, temporal baseline, cleanup dead code, up…
Jan 30, 2026
5ce997c
fix: resolve TypeScript errors in data-freshness, focal-point, meta-t…
Jan 30, 2026
9e9d750
fix: use dynamic country flag in share texts, remove duplicate URL fr…
Jan 30, 2026
1c30667
feat: add OG image and story page edge functions for Twitter card pre…
Jan 30, 2026
c3bc249
Improve story card clarity: larger fonts, better contrast, visible se…
koala73 Jan 30, 2026
a0bcd96
Improve story card clarity + fix OG image missing score data
koala73 Jan 30, 2026
0546086
Redesign OG image as rich intelligence card
koala73 Jan 30, 2026
8a1e8a2
Fix SVG arc paths: add missing M (moveto) command
koala73 Jan 30, 2026
17b5694
Add humanizeSignalType for readable convergence signal labels in stor…
koala73 Jan 30, 2026
cafbbaf
Add WorldMonitor logo to story card header and footer
koala73 Jan 30, 2026
ff0dc48
Rename Satellite Fires→Fires in UI, fix component bar scale, add more…
koala73 Jan 30, 2026
557a950
Redesign story share UI: modern floating bar with SVG icons, X close …
koala73 Jan 30, 2026
661d83d
Replace bulky megaphone emoji with smaller ✦ symbol for protest markers
koala73 Jan 30, 2026
95144e6
Subtle fullscreen button active state: translucent bg instead of soli…
koala73 Jan 30, 2026
880ed01
Replace hexagon icon with standard share/upload SVG icon for story bu…
koala73 Jan 30, 2026
f9178cd
Remove dead/blocked intel RSS feeds (RUSI, CNAS, CFR, Wilson Center, …
koala73 Jan 30, 2026
3285db3
Fix FIRMS API key: accept NASA_FIRMS_API_KEY env var with fallback
koala73 Jan 30, 2026
a3ed0aa
Fix false 'Insufficient Data' on stale sources: extend stale threshol…
koala73 Jan 30, 2026
dba782e
Raise conflict floor scores: Ukraine 72, Syria/Yemen 66, Myanmar/Isra…
koala73 Jan 30, 2026
5be9a09
Integrate ACLED conflicts, UCDP classification, and HDX HAPI for real…
koala73 Jan 30, 2026
a421999
Fix HAPI 500: correct endpoint URL, auth format, response parsing
koala73 Jan 31, 2026
49e4299
Fix Chatham House 403 and FAO parse errors
koala73 Jan 31, 2026
e93ad0c
Pause AI classify queue on 500 errors, not just 429
koala73 Jan 31, 2026
43a167e
Fix UCDP proxy: API returns snake_case fields, not PascalCase
koala73 Jan 31, 2026
5b1be08
Allow live video to continue playing in background tabs
koala73 Feb 11, 2026
1bab0dd
Fix live video stopping on tab switch (#37)
koala73 Feb 11, 2026
6a81e67
Harden CORS, XSS, and input validation across all API endpoints and c…
koala73 Feb 11, 2026
f290224
Add Market Radar, BTC ETF Tracker, and Stablecoins panels
koala73 Feb 11, 2026
9c8ffdf
Add .env.example with all environment variables (#39)
facusturla Feb 11, 2026
0479e69
Optimize proxy usage with AIS snapshots, Upstash caching, and telemetry
koala73 Feb 11, 2026
8fb1260
Expand README with market intelligence, architecture, and security docs
koala73 Feb 11, 2026
c36d644
docs: add stargazers growth to the bottom of the README file (#40)
SebastienMelki Feb 11, 2026
26314a6
Add sparkline charts to Markets, Crypto, and Commodities panels
koala73 Feb 11, 2026
205741b
Optimize map rendering performance with multi-tier caching
Ahmadhamdan47 Feb 12, 2026
c096a0e
Fix DeckGL map regressions and preserve perf optimizations
koala73 Feb 12, 2026
fcee412
Fix conflict layer lifecycle by avoiding cached GeoJsonLayer instance
koala73 Feb 12, 2026
8dc6552
Fix tooltip coverage, pulse scheduling, and map interaction defaults
koala73 Feb 12, 2026
ba2a162
chore: trigger redeploy for PR #41
koala73 Feb 12, 2026
ab36429
Fix cluster state tracking and stale overlay cache invalidation
koala73 Feb 12, 2026
e54cfa7
Add Playwright map harness smoke tests for layer regressions
koala73 Feb 12, 2026
462003a
Expand Playwright map coverage across full and tech layer sets
koala73 Feb 12, 2026
a2c74f3
test(e2e): add deterministic per-layer visual baselines
koala73 Feb 12, 2026
7da977d
test(e2e): add variant and pan reprojection regression checks
koala73 Feb 12, 2026
c840c2b
fix(map): reproject overlay clusters on pan and harden e2e visual det…
koala73 Feb 12, 2026
d8af7eb
Merge branch 'codex/pr-41'
koala73 Feb 12, 2026
a158961
Fix hotspot overlay positioning during map drag
Ahmadhamdan47 Feb 12, 2026
5cc580c
Fix hotspot overlay sync path and harden map harness regressions
koala73 Feb 12, 2026
c42aec6
Fix hotspot overlay positioning during map drag (#43)
koala73 Feb 12, 2026
42c5f6e
docs: add self-hosting section to README
koala73 Feb 13, 2026
8274f90
test: guard cluster cache initialization and document checks
koala73 Feb 13, 2026
e7ce9f8
feat: add intelligence layers and harden data ingestion
koala73 Feb 13, 2026
9180846
Add Tauri v2 desktop scaffold and runtime bridge
koala73 Feb 13, 2026
1b1fecd
Refine Tauri variant metadata and runtime detection
koala73 Feb 13, 2026
5518924
Add Tauri local API sidecar with desktop routing fallback
koala73 Feb 13, 2026
d845b5e
Harden desktop sidecar route matching and fetch routing
koala73 Feb 13, 2026
7be050c
Add Tauri local API sidecar and desktop runtime routing with cloud fa…
koala73 Feb 13, 2026
041d74e
Add desktop runtime config panel and secure secret vault hooks
koala73 Feb 13, 2026
1d54e87
Fix runtime config gating for web and desktop-only secret writes
koala73 Feb 13, 2026
96e2a27
Codex-generated pull request (#47)
koala73 Feb 13, 2026
2f241e7
Add desktop offline cache persistence and freshness badges
koala73 Feb 13, 2026
5ed521d
Fix freshness badge state transitions for cached summaries
koala73 Feb 13, 2026
f52f4fd
Add desktop persistent cache, offline circuit-breaker states, and pan…
koala73 Feb 13, 2026
0d0b23c
Add reproducible desktop packaging commands and release checklist
koala73 Feb 13, 2026
b6cd5fb
Address packaging review feedback for signing hooks and docs clarity
koala73 Feb 13, 2026
71ccd09
Add reproducible Tauri packaging workflow for macOS/Windows with rele…
koala73 Feb 13, 2026
cdae1df
Add reproducible cross-OS Tauri packaging workflow
koala73 Feb 13, 2026
32d6b61
Refine signing guardrails for desktop packaging
koala73 Feb 13, 2026
ce31a85
Add reproducible Tauri packaging workflow for macOS/Windows variants …
koala73 Feb 13, 2026
d881a4c
Add desktop parity matrix and readiness fallback UI
koala73 Feb 13, 2026
c894405
Address parity review comments with service/API mapping fixes
koala73 Feb 13, 2026
2f2ea14
Add desktop parity matrix and desktop-readiness fallback visibility (…
koala73 Feb 13, 2026
bfd0ffd
docs: add tauri validation report with environment blockers
koala73 Feb 13, 2026
c342f1c
Codex-generated pull request (#52)
koala73 Feb 13, 2026
285ad32
Use local Tauri CLI for desktop scripts
koala73 Feb 13, 2026
45dbfa4
Harden local Tauri CLI invocation and fix validation report
koala73 Feb 13, 2026
d11621e
Codex-generated pull request (#53)
koala73 Feb 13, 2026
023712e
docs: add tauri offline dependency packaging guidance
koala73 Feb 13, 2026
2ac6d91
docs: refine tauri offline mode workflow
koala73 Feb 13, 2026
601a233
Add optional Cargo vendoring config and offline packaging documentati…
koala73 Feb 13, 2026
43c69e3
docs: add tauri network preflight and remediation guidance
koala73 Feb 13, 2026
142a889
build: fail fast when local tauri cli is missing
koala73 Feb 13, 2026
229354f
docs: add Tauri validation preflight and remediation guidance (#55)
koala73 Feb 13, 2026
2f790b1
Improve build chunking and fix documentation metadata
koala73 Feb 13, 2026
edf808e
Improve Vite chunk splitting and update documentation metadata (#56)
koala73 Feb 13, 2026
2265008
Add MIT LICENSE file
koala73 Feb 13, 2026
0101a47
Add MIT LICENSE file
koala73 Feb 13, 2026
be54dd3
Fix FAO News RSS feed URL
koala73 Feb 13, 2026
0e8907c
Fix FAO News RSS feed URL
koala73 Feb 13, 2026
74df885
Move UCDP proxy to Railway with persistent in-memory cache
koala73 Feb 13, 2026
28551a2
Add server-side caching to Railway relay — eliminates ~1.7TB/day egress
koala73 Feb 13, 2026
46495b3
Add Vercel fallback when Railway UCDP route unavailable
koala73 Feb 13, 2026
ba18cb1
Add gzip compression and WS client cap for further egress reduction
koala73 Feb 13, 2026
0aeede5
Route Atlantic Council RSS through Railway to fix 504 timeouts
koala73 Feb 13, 2026
e6219e8
Batch AI classification and Railway-direct AIS routing
koala73 Feb 13, 2026
f71c694
Merge branch 'pr-45'
koala73 Feb 13, 2026
9382f24
Remove @tauri-apps/cli from devDependencies to fix Railway npm ci
koala73 Feb 13, 2026
1732a7a
Fix Tauri desktop runtime reliability and settings UX
koala73 Feb 13, 2026
feed44a
Fix desktop app reliability: YouTube embeds, panel failures, circuit …
koala73 Feb 13, 2026
655d367
feat: add think tank, arms control, and food security RSS feeds
Feb 13, 2026
68f2e52
feat: add think tank, arms control, and food security RSS feeds (#62)
koala73 Feb 14, 2026
5354e91
Fix hovering over certain countries highlighting others
koala73 Feb 14, 2026
abab1e4
Fixing ACLED positions on the map
koala73 Feb 14, 2026
d001bc0
Reduce egress costs, add PWA support, fix Polymarket and Railway relay
koala73 Feb 14, 2026
867e881
Add token-based auth for local API sidecar
koala73 Feb 14, 2026
60148a5
Fix YouTube playback in Tauri desktop with Player API and postMessage…
koala73 Feb 14, 2026
a2b0723
Fix YouTube CSP, add devtools menu, improve desktop channel switching
koala73 Feb 14, 2026
cf9cfe2
Add GitHub Actions workflow for cross-platform desktop builds
koala73 Feb 14, 2026
b7525c5
Add latest release badge to README
koala73 Feb 14, 2026
f5c6ac4
Fix macOS build failures when Apple signing secrets are missing
koala73 Feb 14, 2026
6600912
Use native M1 runner for ARM64 macOS builds
koala73 Feb 14, 2026
66a58d6
Fix: constrain layers menu height in DeckGLMap
Feb 14, 2026
4e4190e
Allow Cloudflare Insights script in CSP
koala73 Feb 14, 2026
0ae936c
fix: html attribute fix
Feb 14, 2026
f7c8294
Add 40-minute timeout to desktop build jobs
koala73 Feb 14, 2026
e44d886
Fix Windows settings window: async command, no menu bar, no white flash
koala73 Feb 14, 2026
f32c40a
Consolidate variant naming and fix PWA tile caching
koala73 Feb 14, 2026
04c8c49
Bump v2.2.1, remove CLAUDE.md from repo and add to .gitignore
koala73 Feb 14, 2026
71e2510
Fix: constrain layers menu height in DeckGLMap (#65)
koala73 Feb 14, 2026
854697a
Fix settings window show/focus even when init fails
koala73 Feb 15, 2026
00931e1
ci: harden tauri desktop build workflow
koala73 Feb 15, 2026
d7ae02b
ci: set max timeout for desktop build matrix
koala73 Feb 15, 2026
a35b562
perf: harden regression guardrails in CI, cache, and map clustering
koala73 Feb 15, 2026
445cc58
Fix release always created as draft on tag push
koala73 Feb 15, 2026
3606115
Add auto-generated changelog to GitHub releases
koala73 Feb 15, 2026
ee9d6da
fix: tone down climate anomalies heatmap to stop obscuring other layers
koala73 Feb 15, 2026
6edcc7d
fix(macos): hide window on close instead of quitting
koala73 Feb 15, 2026
1ec8605
Add download redirect API for platform-specific installers
koala73 Feb 15, 2026
b9d2bd4
docs: add download badges and web app links to README
koala73 Feb 15, 2026
06eb3f0
feat: add full-page Country Brief Page replacing modal overlay
koala73 Feb 15, 2026
949113f
fix: hide desktop config panel on web, fix irrelevant prediction markets
koala73 Feb 15, 2026
a7c3663
fix: tighten headline relevance, add Top News section, compact markets
koala73 Feb 15, 2026
2d885af
fix: add BR/AE to tier-1, resolve deep-link names, fix military timel…
koala73 Feb 15, 2026
081455a
Consolidate country detection around shared geometry service
koala73 Feb 15, 2026
f3fd9a4
refactor: consolidate news into Top News, remove redundant Evidence s…
koala73 Feb 15, 2026
8d2f7a5
fix: normalize country name from GeoJSON to canonical TIER1 name
koala73 Feb 15, 2026
071a086
Merge country-brief-page: full-page brief, geometry consolidation, ne…
koala73 Feb 15, 2026
2ea9ec0
chore: bump version to 2.2.2
koala73 Feb 15, 2026
88b77e2
Add country briefs to Cmd+K search
koala73 Feb 15, 2026
4949aa1
fix: fall back to cloud API when local sidecar returns non-OK status
koala73 Feb 15, 2026
531f7e7
perf: reduce idle CPU from pulse animation loop
koala73 Feb 15, 2026
6cfa8c2
fix: resolve z-index conflict between pinned map and panels grid
InlitX Feb 15, 2026
cd9c44b
feat: add download desktop app slide-in banner for web visitors
koala73 Feb 15, 2026
3f4ed66
feat: add cyber threat map layer with Feodo Tracker + URLhaus integra…
koala73 Feb 15, 2026
9067204
chore: bump version to 2.2.3
koala73 Feb 15, 2026
031b783
feat: add C2IntelFeeds, OTX, and AbuseIPDB as cyber threat sources
koala73 Feb 15, 2026
fe4f420
fix: replace ipwho.is/ipapi.co with ipinfo.io/freeipapi.com for geo e…
koala73 Feb 15, 2026
d245eb9
fix: cap geo enrichment at 12s overall timeout & prevent duplicate do…
koala73 Feb 15, 2026
952573e
fix: improve cyber threat tooltip/popup UX and dot visibility
koala73 Feb 15, 2026
ab3cbd1
feat: dramatically increase cyber threat map density
koala73 Feb 15, 2026
b15cccd
fix: add Cyber Threats to System Health status panel allowlists
koala73 Feb 15, 2026
f32a5c4
feat: redesign 4 panels with table layouts and scoped styles
koala73 Feb 15, 2026
5713979
feat: add trending keyword spike detection and e2e flow test
koala73 Feb 15, 2026
5804897
fix: resolve z-index conflict between pinned map and panels grid (#67)
koala73 Feb 15, 2026
959c260
fix: harden trending spike processing and optimize hot paths
koala73 Feb 15, 2026
de4438f
docs: document cyber threats, trending keywords, oil analytics, popul…
koala73 Feb 15, 2026
72d8d1c
feat: redesign population exposure panel and reorder UCDP columns
koala73 Feb 15, 2026
eddef2a
feat: cyber threat intelligence layer, trending keyword spikes, panel…
koala73 Feb 15, 2026
eb31ba6
fix: hide desktop config panel on web, route World Bank & Polymarket …
koala73 Feb 15, 2026
ace663a
fix: restrict Railway relay CORS to allowed origins only
koala73 Feb 15, 2026
c795f4f
fix: migrate all Vercel edge functions to CORS allowlist & bump v2.2.5
koala73 Feb 15, 2026
4c5b707
chore: move test harnesses from root to tests/
koala73 Feb 15, 2026
5989c85
docs: add cyber threat API keys to .env.example
koala73 Feb 15, 2026
7a8eecc
docs: add developer X/Twitter link to Support section
koala73 Feb 15, 2026
8f6c4fb
fix: remove Market Radar and Economic Data panels from tech variant
koala73 Feb 15, 2026
d9ea8e4
fix: filter trending noise, fix sidecar auth & restore tech panels — …
koala73 Feb 15, 2026
965b4ed
fix: security hardening — CORS, auth bypass, origin validation & bump…
koala73 Feb 15, 2026
fc68cb1
fix: force immediate SW activation to prevent stale asset errors
koala73 Feb 15, 2026
93b67f2
chore: bump v2.3.0 — security hardening release with changelog
koala73 Feb 15, 2026
d8366ba
settings: verify API keys via provider probes
koala73 Feb 15, 2026
645a9cd
fix: harden CORS patterns & URL validation
koala73 Feb 15, 2026
b003b3b
fix: make sidecar secret sync best-effort
koala73 Feb 15, 2026
1acfafd
fix: NER-gate trending spike alerts to suppress common-word noise
koala73 Feb 15, 2026
14ecb9f
fix: desktop settings UX overhaul & IPv4-safe fetch for sidecar
koala73 Feb 15, 2026
1e8703b
fix: harden sidecar verification, dedupe spikes, and bump v2.3.1
koala73 Feb 15, 2026
8c92881
fix: add missing tauri script to restore CI builds
koala73 Feb 15, 2026
cef7a26
feat: add 6 verified think tank RSS feeds
InlitX Feb 15, 2026
789827b
Integrate ML NER enrichment into trending keywords
koala73 Feb 15, 2026
e3b20c6
fix: settings UX — save verified keys, preserve inputs across renders…
koala73 Feb 15, 2026
9012be3
chore: lint markdown
Sethispr Feb 15, 2026
6b776a0
chore: add PR #71 think tank domains to RSS proxy allowlist
koala73 Feb 15, 2026
6764f9b
fix: add trailing slash to FPRI feed URL to avoid Cloudflare 403
koala73 Feb 15, 2026
774fcc8
feat: add 6 verified think tank RSS feeds (#71)
koala73 Feb 15, 2026
2a79d58
chore: lint markdown (#72)
koala73 Feb 15, 2026
28c5a38
fix: harden settings key persistence with soft-pass verification & re…
koala73 Feb 15, 2026
376156d
fix: enable macOS Keychain backend for keyring crate & bump v2.3.3
koala73 Feb 15, 2026
7a3ab89
fix: strip UNC path prefix for Windows sidecar, set explicit CWD & bu…
koala73 Feb 15, 2026
0cb1c4e
fix: sync package-lock.json with markdownlint-cli2 devDependency
koala73 Feb 15, 2026
1208e50
-feat: add self-hosted Docker image (roadmap)
InlitX Feb 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
36 changes: 36 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Dependencies and build artifacts
node_modules
dist
.git
.gitignore

# IDE and OS
.vscode
.idea
*.log
.DS_Store
Thumbs.db

# Env and secrets (mount at runtime)
.env
.env.local
.env.*.local

# Tauri build outputs (not needed for Docker image)
src-tauri/target

# Tests and dev
e2e
tests
*.spec.ts
*.test.mjs
playwright
playwright.config.*

# Docs and meta (optional: remove if you want them in image)
docs
*.md
!README.md

# Desktop packaging
scripts/desktop-package.mjs
120 changes: 120 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
# ============================================
# World Monitor — Environment Variables
# ============================================
# Copy this file to .env.local and fill in the values you need.
# All keys are optional — the dashboard works without them,
# but the corresponding features will be disabled.
#
# cp .env.example .env.local
#
# ============================================


# ------ AI Summarization (Vercel) ------

# Groq API (primary — 14,400 req/day on free tier)
# Get yours at: https://console.groq.com/
GROQ_API_KEY=

# OpenRouter API (fallback — 50 req/day on free tier)
# Get yours at: https://openrouter.ai/
OPENROUTER_API_KEY=


# ------ Cross-User Cache (Vercel — Upstash Redis) ------

# Used to deduplicate AI calls and cache risk scores across visitors.
# Create a free Redis database at: https://upstash.com/
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=


# ------ Market Data (Vercel) ------

# Finnhub (primary stock quotes — free tier available)
# Register at: https://finnhub.io/
FINNHUB_API_KEY=


# ------ Energy Data (Vercel) ------

# U.S. Energy Information Administration (oil prices, production, inventory)
# Register at: https://www.eia.gov/opendata/
EIA_API_KEY=


# ------ Economic Data (Vercel) ------

# FRED (Federal Reserve Economic Data)
# Register at: https://fred.stlouisfed.org/docs/api/api_key.html
FRED_API_KEY=


# ------ Aircraft Tracking (Vercel) ------

# Wingbits aircraft enrichment (owner, operator, type)
# Contact: https://wingbits.com/
WINGBITS_API_KEY=


# ------ Conflict & Protest Data (Vercel) ------

# ACLED (Armed Conflict Location & Event Data — free for researchers)
# Register at: https://acleddata.com/
ACLED_ACCESS_TOKEN=


# ------ Internet Outages (Vercel) ------

# Cloudflare Radar API (requires free Cloudflare account with Radar access)
CLOUDFLARE_API_TOKEN=


# ------ Satellite Fire Detection (Vercel) ------

# NASA FIRMS (Fire Information for Resource Management System)
# Register at: https://firms.modaps.eosdis.nasa.gov/
NASA_FIRMS_API_KEY=


# ------ Railway Relay (scripts/ais-relay.cjs) ------
# The relay server handles AIS vessel tracking and OpenSky aircraft data.
# Deploy on Railway with: node scripts/ais-relay.cjs

# AISStream API key for live vessel positions
# Get yours at: https://aisstream.io/
AISSTREAM_API_KEY=

# OpenSky Network OAuth2 credentials (higher rate limits for cloud IPs)
# Register at: https://opensky-network.org/
OPENSKY_CLIENT_ID=
OPENSKY_CLIENT_SECRET=


# ------ Railway Relay Connection (Vercel → Railway) ------

# Server-side URL (https://) — used by Vercel edge functions to reach the relay
WS_RELAY_URL=

# Client-side URL (wss://) — used by the browser to connect via WebSocket
VITE_WS_RELAY_URL=


# ------ Public Data Sources (no keys required) ------

# UCDP (Uppsala Conflict Data Program) — public API, no auth
# UNHCR (UN Refugee Agency) — public API, no auth (CC BY 4.0)
# Open-Meteo — public API, no auth (processes Copernicus ERA5)
# WorldPop — public API, optional key for higher rate limits
# WORLDPOP_API_KEY=


# ------ Site Configuration ------

# Site variant: "full" (worldmonitor.app) or "tech" (tech.worldmonitor.app)
VITE_VARIANT=full

# Map interaction mode:
# - "flat" keeps pitch/rotation disabled (2D interaction)
# - "3d" enables pitch/rotation interactions (default)
VITE_MAP_INTERACTION_MODE=3d
Loading