Commit Graph
2232 Commits
Author SHA1 Message Date
German KhokhlovandClaude Opus 5.5 1ef9be2248 Keep Radio Next and Previous from starting playback before Play
The Next and Previous buttons cycled stations with the layer's default
autoplay, so a first press started buffering a broadcaster stream even
though the panel says audio connects only after Play. Stepping now only
selects until a stream is loading, buffering or playing; once one is,
playback follows the new station so the old broadcaster does not keep
playing under the new label.

The compact Next fallback scenario in qa-radio.mjs started from a stopped
stream and relied on the old behaviour, so it now starts from a playing
station.

Fixes HAL-722

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 17:36:02 +04:00
c434664549 Merge pull request #1470 from bilawalsidhu/german/hal-645-uk
Ukrainian in the language picker: 2730 strings, four plural forms, Cyrillic
HUD units and the uk style guide. Based on the Ukrainian translation by
@meirm (#312).

Co-authored-by: Meir Michanie <[email protected]>
Co-authored-by: Meir Michanie <[email protected]>
2026-10-29 16:59:48 +04:00
German KhokhlovandClaude Opus 5.5 1abe8cbb51 changelog: Ukrainian (#1470)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 15:22:15 +04:00
German KhokhlovandClaude Opus 5.5 eb76d5265b i18n(uk): translate strings new in main
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 14:19:24 +04:00
German KhokhlovandClaude Opus 5.5 ec3932718e Merge remote-tracking branch 'origin/main' into german/hal-645-uk
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 14:19:01 +04:00
Said Turksever aaa3ff46cf Merge pull request #871 from waar19/perf/vessels-idle-render
perf(vessels): let the scene idle with AIS vessels enabled
2026-10-29 10:14:01 +00:00
Said Turksever 53ca307bb6 Merge branch 'main' into perf/vessels-idle-render 2026-10-29 09:53:34 +00:00
Sameh Khamis 03201451c0 Merge pull request #1463 from bilawalsidhu/sameh/security-audit-fixes
chore(deps): update Vite and Puppeteer, and remove the unused screenshot helper
2026-10-28 22:44:07 -07:00
Sameh Khamis 391dba74eb Add the changelog entry 2026-10-28 22:36:18 -07:00
Sameh Khamis f69e9bba8b Update Vite and Puppeteer, and remove the unused screenshot helper 2026-10-28 22:35:08 -07:00
Said Turksever 1c0a30adaf Merge branch 'main' into perf/vessels-idle-render 2026-10-29 01:18:39 +00:00
Sameh Khamis f2c6ff082d Merge pull request #1459 from bilawalsidhu/sameh/hud-google-lookups
Cut the Google requests the HUD summary makes on its own
2026-10-28 17:43:25 -07:00
Sameh Khamis 7914370b14 Merge branch 'main' into sameh/hud-google-lookups 2026-10-28 17:37:20 -07:00
Sameh Khamis d1e0ff4e06 Name the HUD lookups changelog entry after its pull request 2026-10-28 17:09:50 -07:00
Said Turksever 2bcdca1c9a Merge pull request #1405 from quanticsoul4772/upstream/traffic-layer-stale
fix(traffic): flag cached TomTom flow tiles as stale in the layer
2026-10-28 22:18:07 +00:00
Said Turksever 6847bc1433 Merge branch 'main' into upstream/traffic-layer-stale 2026-10-28 22:07:37 +00:00
Sameh Khamis c1f60cb7e7 Cut the Google requests the HUD summary makes on its own
The HUD builds place context for its AI summary whenever the camera
settles, and each build paid for up to four reverse geocodes plus a Nearby
Places search, even when no OpenAI key was configured to use them.

- Ask GET /api/openai/hud-summary/status once; with no summary configured,
  or after an unconfigured reply, make no place lookups for the page.
- Reverse-geocode at most two points: the view center and one viewport
  point.
- Reuse a lookup until the view center moves a quarter of the visible
  width, the camera's distance to it doubles or halves, or the camera
  crosses a lookup height. The reused points are asked again, so only a
  timeout, failure or empty answer spends.
- Repaint the last AI reply when a small pan leaves the context unchanged.

Cached-only hosts and voice context lookups are unchanged.
2026-10-28 14:59:33 -07:00
German KhokhlovandClaude Opus 5.5 d243177d11 i18n(uk): apply review round 4
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 23:55:16 +04:00
German KhokhlovandClaude Opus 5.5 226600a67a i18n(uk): apply review round 3
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 23:13:44 +04:00
German KhokhlovandClaude Opus 5.5 beacb6d9d3 i18n(uk): apply review round 2
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 22:38:32 +04:00
Said Turksever e608fee793 Merge pull request #1344 from nu-stats/pr/pause-hidden-polling
fix(embed): keep inline panels polling when their host reports them hidden; pause the HUD readout in hidden tabs
2026-10-28 17:00:32 +00:00
quanticsoul4772 9d75376307 Merge branch 'main' into upstream/traffic-layer-stale 2026-10-28 09:41:49 -07:00
Said Turksever 437f95c1ee Merge branch 'main' into pr/pause-hidden-polling 2026-10-28 16:35:38 +00:00
Said Turksever 3a6f27620f Merge pull request #1402 from quanticsoul4772/upstream/terrain-429-pause
fix(terrain): pause upstream calls after a 429
2026-10-28 16:24:03 +00:00
Said Turksever 404a86d551 Merge branch 'main' into upstream/terrain-429-pause 2026-10-28 16:11:51 +00:00
Said Turksever 6d16b479d7 Merge pull request #1401 from quanticsoul4772/upstream/geocode-place-region
fix(geocode): match place-and-region queries by location
2026-10-28 16:11:13 +00:00
quanticsoul4772 3e5edff884 Merge branch 'main' into upstream/terrain-429-pause 2026-10-28 09:05:56 -07:00
quanticsoul4772 065314c07c Merge branch 'main' into upstream/traffic-layer-stale 2026-10-28 09:05:08 -07:00
quanticsoul4772 b038f43739 Merge branch 'main' into upstream/geocode-place-region 2026-10-28 09:04:22 -07:00
Said Turksever 05f505b7e7 Merge branch 'main' into pr/pause-hidden-polling 2026-10-28 15:50:49 +00:00
Said Turksever 55dc94ab60 Merge pull request #1374 from oneill9/codex/fix-seek-layer-state
fix(director): restore layer visibility on same-shot seeks
2026-10-28 15:50:09 +00:00
Said Turksever db2744ca3b Merge remote-tracking branch 'upstream/main' into pr1405-fix 2026-10-28 15:39:16 +00:00
Said Turksever f5e65fbf9e Merge remote-tracking branch 'upstream/main' into pr871-fix 2026-10-28 15:32:26 +00:00
Said Turksever dbd604dfda Merge branch 'pr871-new' into pr871-fix
# Conflicts:
#	CHANGELOG.md
2026-10-28 15:32:26 +00:00
Said Turksever c95418ead7 Merge branch 'main' into perf/vessels-idle-render 2026-10-28 15:31:37 +00:00
Said Turksever fec7ec07cb Merge branch 'main' into codex/fix-seek-layer-state 2026-10-28 15:31:24 +00:00
Said Turksever f7efbb038d Merge pull request #1404 from quanticsoul4772/upstream/perimeters-stale
fix(perimeters): flag stale WFIGS snapshots
2026-10-28 15:26:18 +00:00
Said Turksever 6fa4235305 Merge branch 'main' into upstream/perimeters-stale 2026-10-28 15:18:40 +00:00
Said Turksever 4bbe175ba3 Merge branch 'codex/fix-seek-layer-state' of https://github.com/oneill9/gods-eye-view into pr1374-fix 2026-10-28 15:18:26 +00:00
Said Turksever b6c9c48cf0 Merge branch 'main' into codex/fix-seek-layer-state 2026-10-28 15:18:02 +00:00
Said Turksever 4730f85fe6 Merge pull request #1209 from daikaginza/fix/i18n-layer-errors-in-data
fix(layers): keep Directions, Local ADS-B and cohort errors English in data
2026-10-28 15:16:26 +00:00
Said Turksever e6d2babea0 fix(vessels): pin the idle-render contract and move the entry to a fragment
- The trailing visibility frame uses the layer's injectable runtime timer and
  is cancelled by resetState as well as disable and destroy.
- An empty-feed regular pass records the camera pose, so later in-cadence
  frames do not keep scheduling trailing frames.
- New renderGovernor.test.mjs: a parked camera schedules nothing, a stopped
  camera gets exactly one trailing frame and no self-wake, a forced pass
  requests its frame, destroy cancels the timer.
- The CHANGELOG entry moves to changelog.d/871-vessels-idle-render.md; docs
  say the hold also covers vessels dimmed under a live target.
2026-10-28 15:15:57 +00:00
Said Turksever 87133e8dbf Merge remote-tracking branch 'upstream/main' into pr871-fix
# Conflicts:
#	CHANGELOG.md
2026-10-28 15:15:50 +00:00
Said Turksever f7c058b97d Merge branch 'main' into fix/i18n-layer-errors-in-data 2026-10-28 15:09:37 +00:00
Said Turksever 71574179a2 test(qa): skip the seek visibility check outside a Vite dev server
__gevQaRegisterLayer exists only in dev builds; against vite preview the
check threw and the remaining director checks never ran.
2026-10-28 14:35:01 +00:00
Said Turksever d57bc0af3c test(locator): give the Stop test double the seek-generation helper
stopScene now supersedes seeks through _bumpSceneSeekGeneration; the
bhoteKoshiLocator Stop test calls stopScene on a plain object, so it
needs the method too. Without it four tests throw at the PR head.
2026-10-28 14:30:45 +00:00
Said Turksever b731adea49 Merge remote-tracking branch 'upstream/main' into pr1374-fix 2026-10-28 14:28:38 +00:00
Said Turksever 3b57299231 fix(director): keep rejected loads from cancelling LOAD; roll back seek only on refusal
- Superseding a seek aborts only the seek's own layer reconcile, so a
  loadShot that is later rejected (shot-not-found) no longer cancels an
  in-flight LOAD. Stop still aborts any LOAD.
- A refused seek rolls back to each layer's effective intent, so a manual
  toggle still in flight is kept.
- A cancelled seek leaves layers to whatever superseded it, as a cancelled
  LOAD does; only refusal rolls back.
- Move the _seekLoadedShot JSDoc back onto its method.
2026-10-28 14:28:38 +00:00
Said Turksever e37e8453dd Merge pull request #1014 from deepeshbind/fix/scene-director-callback-errors
fix: guard scene director callbacks
2026-10-28 14:19:41 +00:00
Said Turksever 8cedd159e3 fix(layers): translate every route proxy refusal and clear stale receiver errorText
The route proxy also refuses with 'routing busy — too many routes at once'
(429) and 'route proxy error'; both showed in English in every locale.
Mark them in ROUTING_REFUSALS and add es, ru, zh-CN and zh-Hant entries.

errorText is now cleared on a new connection, a mode switch and stop(), so
it never outlives the error it describes. Tests cover the two refusals,
'Routing failed: rate limited' (pattern order) and the stop() reset.
2026-10-28 14:13:39 +00:00