Commit Graph
6 Commits
Author SHA1 Message Date
jibraaan 1490f37e1b Merge remote-tracking branch 'upstream/main' into feat/cctv-a22-autobrennero
# Conflicts:
#	CHANGELOG.md
2026-10-09 02:12:25 +05:00
jibraaan faced3b651 Merge remote-tracking branch 'upstream/main' into feat/cctv-a22-autobrennero
# Conflicts:
#	CHANGELOG.md
2026-10-08 12:24:43 +05:00
jibraaan 09cefa6f39 Merge remote-tracking branch 'upstream/main' into fix/mcp-shared-panel-key
# Conflicts:
#	CHANGELOG.md
2026-10-07 23:39:53 +05:00
jibraaan 9000b3e174 Merge remote-tracking branch 'upstream/main' into feat/cctv-a22-autobrennero
# Conflicts:
#	CHANGELOG.md
2026-10-07 23:39:52 +05:00
jibraaanandClaude Opus 5.5 e363b6a14f fix(mcp): share one panel key across an install's stdio servers
Fixes bilawalsidhu/gods-eye-view#927. Each stdio MCP server made its own
random panel key, and panel_request accepts only the key in the panel
page. A client that starts two server processes for one connection and
reads the page from one while sending the page's requests to the other
(seen in Claude Desktop on Windows) therefore always got "Only the God's
Eye View panel may make this request".

The stdio entry now passes a key shared by the install, created once in
.gev-cache/mcp-panel-key. The file is staged 0600 and published with
link(), so processes starting together agree on one key and never read a
half-written one. If it cannot be stored, the process keeps a key of its
own, as before. createLocalMcpServer still makes a fresh key unless given
one, so in-process servers (the /mcp HTTP plugin, tests) are unchanged.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-07 18:00:38 +05:00
jibraaanandClaude Opus 5.5 b11390404a feat(cctv): add the Autostrada del Brennero (A22) motorway webcams
Closes bilawalsidhu/gods-eye-view#155. The first Italian cameras: the 13
webcams along the A22 from the Brenner Pass to Modena.

The camera list is one keyless request to the Open Data Hub (NOI Techpark)
tourism API, which republishes Autobrennero's own list with coordinates
and kilometre markers. Frames are the operator's stills, refreshed about
once a minute, and only each camera's own WebCamImg/km<N>.jpg is
registered. The catalog fetch refuses redirects and is size-capped.

The road climbs from ~20 m in the Po valley to ~1,370 m at the Brenner
Pass, so ground elevation comes from a per-kilometre table sampled from
the Copernicus GLO-90 DEM instead of one flat prior. Headings use the
id-hash fallback at low confidence. CCTV_A22_ENABLED=0 disables the pack.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-07 16:19:45 +05:00