Said Turksever
1c4515731a
Merge branch 'main' into codex/fix-initial-forecast-supersession
2026-10-22 23:40:04 +01:00
Said Turksever
5cc250495f
Merge branch 'main' into codex/fix-share-style-keys
2026-10-22 23:23:49 +01:00
Said Turksever
98d9b54bcd
Merge branch 'main' into codex/fix-aircraft-refresh
2026-10-22 23:15:48 +01:00
Said Turksever
5b63bd5f7f
Merge branch 'main' into codex/fix-docker-trusted-peers
2026-10-22 22:51:20 +01:00
German Khokhlov
87369eaf0f
Merge remote-tracking branch 'origin/main' into german/hal-643-zh-cn
...
# Conflicts:
# scripts/package-boundaries.json
# style.css
2026-10-22 22:31:23 +04:00
German Khokhlov
2c3b364069
docs: simplify Chinese localization notes
2026-10-22 22:29:24 +04:00
quanticsoul4772
a94677aed0
Merge branch 'main' into upstream/wind-stale
2026-10-22 06:18:13 -07:00
Mazeyar Moeini Feizabadi
cb11e7dac8
fix: clear GhostMaps outage state on unchanged-head recovery
2026-10-22 02:42:26 +02:00
Mazeyar Moeini Feizabadi
d5c49d35e8
Merge latest main into S2 GhostMaps contribution
2026-10-22 02:41:26 +02:00
Sameh Khamis
b1ed77c26c
Keep camera routes reachable behind a reverse proxy
...
The CCTV routes now use the keyless cross-site checks, which refuse cross-site
browser requests but accept forwarding headers, so cameras work behind the
documented reverse proxy. The Street View fallback is the one step that spends
a key; a request with forwarding headers skips it and gets the placeholder
frame, as when no key is configured.
2026-10-21 15:33:14 -07:00
Sameh Khamis
d80162bea2
Match API paths the way the router does
...
The router mounts /api without regard to letter case, accepts a '.' as well
as '/' after the prefix, and routes absolute-form request targets, so the
API response headers were missing on those spellings. Match the same way, on
both the raw and the parsed path. The test now runs real dev and preview
servers.
2026-10-21 15:33:13 -07:00
Sameh Khamis
3e80afe713
Pin camera sources by parsed URL
...
Camera catalog image URLs were pinned by string prefix, so a URL that only
began with the agency's directory before dot segments or an encoded separator
were resolved still counted as inside it. The pin now parses the URL and
requires the same scheme, the exact host, no credentials, the default port and
a normalized path inside the pinned directory. Redirects on a pinned host must
stay inside the same directory.
Document the response format checks and API response headers alongside the
existing server hardening notes.
2026-10-21 15:07:40 -07:00
German Khokhlov
a1a9a36f54
Merge remote-tracking branch 'origin/main' into claude/hal-627-starfield-cb6fa2
2026-10-21 21:39:46 +04:00
Mazeyar Moeini Feizabadi
7103c29194
refactor(ui): clarify shared field CSS ownership
2026-10-21 18:41:17 +02:00
Said Turksever and Claude Opus 5.5
eaf14e2937
Merge branch 'main' into codex/fix-docker-trusted-peers
...
Resolve scripts/format-scope.json by keeping both sides.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-21 17:39:47 +01:00
Mazeyar Moeini Feizabadi
f70bc0cabb
refactor(ui): share read-only status badges
2026-10-21 18:10:09 +02:00
Mazeyar Moeini Feizabadi
3f903f0b18
Merge main and preserve shared control surfaces
...
# Conflicts:
# src/ui/templates/layer-panels.html
# style.css
2026-10-21 17:25:25 +02:00
Mazeyar Moeini Feizabadi
49735d9307
Merge main for shared action button integration
2026-10-21 17:18:18 +02:00
Said Turksever and Claude Opus 5.5
e925f75a4a
Merge branch 'main' into codex/fix-hidden-tab-polling
...
Resolve docs/CURRENT-STATE.md (and scripts/format-scope.json) by keeping both sides.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-21 15:04:54 +01:00
Said Turksever and Claude Opus 5.5
b493418ed1
Merge branch 'main' into codex/fix-traffic-render-hold
...
Resolve docs/CURRENT-STATE.md (and scripts/format-scope.json) by keeping both sides.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-21 15:04:52 +01:00
Said Turksever and Claude Opus 5.5
a2968af45e
Merge branch 'main' into codex/fix-launch-hover-throttle
...
Resolve docs/CURRENT-STATE.md (and scripts/format-scope.json) by keeping both sides.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-21 15:04:48 +01:00
Said Turksever and Claude Opus 5.5
635fb55514
Merge branch 'codex/fix-overpass-request-admission' into codex/fix-overpass-cache-singleflight
...
Resolve docs/CURRENT-STATE.md (and scripts/format-scope.json) by keeping both sides.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-21 15:04:45 +01:00
Said Turksever and Claude Opus 5.5
c192c3b8b5
Merge branch 'main' into codex/fix-terrain-request-bound
...
Resolve docs/CURRENT-STATE.md (and scripts/format-scope.json) by keeping both sides.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-21 15:04:39 +01:00
Said Turksever and Claude Opus 5.5
3d75e0a731
Merge branch 'main' into codex/fix-initial-forecast-supersession
...
Resolve docs/CURRENT-STATE.md (and scripts/format-scope.json) by keeping both sides.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-21 15:04:36 +01:00
Said Turksever and Claude Opus 5.5
2a0f78d169
Merge branch 'main' into codex/fix-kml-root-scanner
...
Resolve docs/CURRENT-STATE.md (and scripts/format-scope.json) by keeping both sides.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-21 15:04:33 +01:00
Said Turksever and Claude Opus 5.5
6477f9c910
Merge branch 'main' into codex/fix-military-history-failures
...
Resolve docs/CURRENT-STATE.md (and scripts/format-scope.json) by keeping both sides.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-21 15:04:31 +01:00
Said Turksever and Claude Opus 5.5
a451c1ba6f
Merge branch 'main' into codex/fix-share-style-keys
...
Resolve docs/CURRENT-STATE.md (and scripts/format-scope.json) by keeping both sides.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-21 15:04:26 +01:00
Said Turksever and Claude Opus 5.5
76ee07ee6e
Merge branch 'main' into codex/fix-space-provider-cooldowns
...
Resolve docs/CURRENT-STATE.md (and scripts/format-scope.json) by keeping both sides.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-21 15:04:23 +01:00
Said Turksever and Claude Opus 5.5
f07a52cb00
Merge branch 'main' into codex/fix-aircraft-refresh
...
Resolve docs/CURRENT-STATE.md (and scripts/format-scope.json) by keeping both sides.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-21 15:04:21 +01:00
Said Turksever and Claude Opus 5.5
023b6a1991
Merge branch 'main' into codex/fix-radio-tag-normalization
...
Resolve docs/CURRENT-STATE.md (and scripts/format-scope.json) by keeping both sides.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-21 15:04:18 +01:00
Said Turksever and Claude Opus 5.5
2cf36534d9
Merge branch 'main' into codex/fix-docker-trusted-peers
...
Resolve docs/CURRENT-STATE.md (and scripts/format-scope.json) by keeping both sides.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-21 15:04:15 +01:00
Said Turksever
54e7dc7c30
Merge branch 'main' into codex/fix-overpass-request-admission
2026-10-21 15:00:44 +01:00
Said Turksever
ee1e91781a
Merge branch 'main' into claude/hal-627-starfield-cb6fa2
2026-10-21 14:54:23 +01:00
Said Turksever
a397c94892
Merge branch 'main' into fix/since-note-inline
2026-10-21 14:36:24 +01:00
Mazeyar Moeini Feizabadi
7932259dc4
refactor(ui): share native dropdown and numeric field surfaces
2026-10-21 15:35:49 +02:00
Mazeyar Moeini Feizabadi
538f2f1bc0
refactor(ui): share Scene and CCTV action buttons
2026-10-21 15:22:00 +02:00
Mazeyar Moeini Feizabadi
bf0e1d7c79
Merge current main into shared sliders
2026-10-21 14:10:40 +02:00
Mazeyar Moeini Feizabadi
4bfee31fdb
Reserve full height for imagery segmented controls
2026-10-21 13:21:23 +02:00
Mazeyar Moeini Feizabadi
40394ff76e
Unify segmented selectors and fix compact panel spacing
2026-10-21 13:07:51 +02:00
German Khokhlov and GPT-6
27d4c0ba9c
fix(sky): preserve dark model lighting and address review
...
Merge origin/main and retain both format-scope additions.
Give StarrySky a separate black environment cube map and release it on destroy.
Guard anime updates when StarrySky is absent, require a visible Normal sky
before anime QA, and compare a lit airplane against black and white controls.
Document the sky background contract and its verification.
Co-Authored-By: GPT-6 (Codex) <[email protected] >
2026-10-21 14:21:14 +04:00
German Khokhlov and Codex
d6c4d58a2d
i18n(zh-CN): apply the language review
...
Correct weather, imagery, scene, voice, and status wording after the Chinese UI review. Align the translation glossary with the revised terminology.
Co-Authored-By: Codex (GPT-6) <[email protected] >
2026-10-21 13:35:52 +04:00
German Khokhlov
c75007bb13
Merge remote-tracking branch 'origin/main' into german/hal-643-zh-cn
...
# Conflicts:
# scripts/package-boundaries.json
# src/i18n/locales/es.json
# src/i18n/locales/ru.json
2026-10-21 12:53:43 +04:00
German Khokhlov and Claude Opus 5.5
c4cc499d58
i18n(zh-CN): complete and ship Simplified Chinese
...
- Translate the remaining 910 strings and review the whole catalog (meaning,
terms, punctuation, label length) against the screens.
- Register zh-CN: any zh tag maps to it except Traditional ones (Hant, TW,
HK, MO), which keep English until a Traditional catalog ships.
- Hemisphere letters get their own context so the HUD sector line reads
21.33N, not a compass word; the Bhote Koshi imagery dates follow
year-first languages (2021年10月16日).
- cjk.css: tight tracking for Chinese text and a 9px floor on the dock voice
labels and layer buttons; Latin HUD readouts keep their look.
- docs/translations/zh-CN.md: style, plurals and glossary.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-21 12:52:34 +04:00
quanticsoul4772 and Claude Opus 5.5
fb88dd6e1b
fix(tools): say when get_wind answers from a stale forecast run
...
When the model upstream fails, the wind proxy keeps serving its last
run, however old, with manifest.stale set. The wind layer shows that,
but get_wind ignored it and gave the old run's wind as current.
get_wind now returns stale and adds "(forecast may be stale)" to its
summary, the way get_weather and the space tools flag stale data.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-20 15:25:45 -07:00
GPTmadeit and Claude Opus 5.5
1f77d2290c
feat: add S2 GhostMaps live intel layer
...
Adds an "S2 GhostMaps" layer (Events group) that renders S2 Underground's
GhostMaps KMZ exports (Common Intelligence Picture, Kinetic 30d, Border
Crisis, Iran CIP/Kinetic, Yemen FLOT, latest incident drop).
- server/providers/ghostMaps.js: watcher polls the repo's git smart-HTTP
ref advertisement (default every 15s, GHOSTMAPS_POLL_SECONDS), fetches
the tree only on a new head, caches commit-pinned files by blob sha and
pushes catalog updates to browsers over SSE (/api/ghostmaps/events).
- src/layers/ghostMaps: KML reader, ArcGIS popup-table parsing, per-product
data sources, product chips, horizon-culled pins, report cards.
- Unit tests, QA gate (scripts/qa-ghostmaps.mjs), credits (CC BY-NC-SA 4.0),
i18n, voice manifest, layer-state token 5.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-20 16:24:53 -04:00
Sameh Khamis
13b474d302
Merge branch 'main' into fix/cctv-tool-routing
2026-10-20 10:05:39 -07:00
Sameh Khamis
3d75b9e7ee
Merge branch 'main' into fix/location-resolution
2026-10-20 09:53:07 -07:00
Sameh Khamis
da9beb9324
Merge branch 'main' into fix/cctv-tool-routing
2026-10-20 09:49:00 -07:00
Sameh Khamis
803cddd5cb
docs(analyst): describe region resolution as current state
2026-10-20 09:48:49 -07:00
Said Turksever
1ec21c59ce
Merge remote-tracking branch 'upstream/main' into fix-1237
...
# Conflicts:
# README.md
# docs/CURRENT-STATE.md
2026-10-20 14:54:57 +01:00