Commit Graph
1261 Commits
Author SHA1 Message Date
Sameh Khamis afb3a92914 docs: say what the connection reads from the voice credential
It reads the token, model, transcription model and tier for diagnostics and
cost accounting, so the credential is not opaque to it. Also lists requestToken's
authMode option in APPLICATION.md.
2026-10-14 11:59:51 -07:00
Sameh Khamis 85754bcf50 test: say which CI job and which files the discovery guard covers 2026-10-14 11:59:14 -07:00
Sameh Khamis cefae76638 Merge branch 'main' into docs/pinokio-browser-performance 2026-10-14 11:59:04 -07:00
Sameh Khamis af95f957ec Merge branch 'main' into docs/voice-backend-contract 2026-10-14 11:59:03 -07:00
Sameh Khamis 3bc41cc12a Merge branch 'main' into fix/unit-runner-discovers-server-tests 2026-10-14 11:59:00 -07:00
HEOJUNFOandSameh Khamis 750f3da6eb fix(styles): keep Snow wind sway bounded over time (#782)
The horizontal offset multiplied elapsed time by a sine, so flakes swung faster the longer the app ran. It is now the integral of the intended sway velocity, which stays bounded at any session age; Wind still scales the amplitude.

Co-authored-by: Sameh Khamis <[email protected]>
2026-10-14 11:48:51 -07:00
Sameh Khamis 95d376f13d Merge pull request #918 from kvnloo/fix/right-rail-css-hidden-panel-20261003
fix(ui): ignore CSS-hidden panels in right rail layout
2026-10-14 11:37:40 -07:00
Sameh Khamis f6ae1ecdd1 Merge branch 'main' into fix/right-rail-css-hidden-panel-20261003
# Conflicts:
#	CHANGELOG.md
2026-10-14 11:27:31 -07:00
Sameh Khamis 5209421973 Merge pull request #1022 from rudycelekli/contrib/gods-001-coordinate-empty-components-20261011-reviewed
fix(search): refuse empty coordinate components instead of silently dropping them
2026-10-14 11:27:26 -07:00
Sameh Khamis aa32d4d588 Merge branch 'main' into fix/right-rail-css-hidden-panel-20261003 2026-10-14 11:20:20 -07:00
Sameh Khamis c7c63a00ce Merge branch 'main' into contrib/gods-001-coordinate-empty-components-20261011-reviewed 2026-10-14 11:20:19 -07:00
Sameh Khamis 18f58e278b Merge pull request #950 from PoBruno/fix/cctv-hls-insecure-context
fix(cctv): start live HLS on plain-HTTP LAN pages
2026-10-14 11:20:01 -07:00
Rudy Celekli f67888be00 docs: address review scope and feature placement for #1032 2026-10-14 14:17:56 -04:00
Rudy Celekli ba58a5ec50 fix(street-level): deduplicate overlapping dateline tile halves 2026-10-14 14:17:56 -04:00
Rudy Celekli aacb409fbf fix(tools): limit cancellation guard to pre-execution 2026-10-14 14:17:55 -04:00
Rudy Celekli fffbe67b66 fix(tools): reject cancellation after async interception 2026-10-14 14:17:54 -04:00
Rudy Celekli 0796efe603 docs: address review scope and feature placement for #1031 2026-10-14 14:17:54 -04:00
Rudy Celekli 691be39c1b fix(tools): stop cancelled calls before execution and discard late results 2026-10-14 14:17:54 -04:00
Rudy Celekli 69815a92be docs: address review scope and feature placement for #1030 2026-10-14 14:17:52 -04:00
Rudy Celekli a140c52f84 fix(directions): report truncation only when a maneuver was actually omitted 2026-10-14 14:17:52 -04:00
Rudy Celekli 7126555acb fix: address review feedback for PR #1027 2026-10-14 14:17:48 -04:00
Rudy Celekli c86c1a4cce fix(weather): keep absent observations unknown instead of reporting clear skies 2026-10-14 14:17:48 -04:00
Rudy Celekli 615ba9a008 fix: address review feedback for PR #1026 2026-10-14 14:17:46 -04:00
Rudy Celekli 2c5fb039ce fix(tools): enforce string schema lengths by Unicode code point 2026-10-14 14:17:46 -04:00
Rudy Celekli 3b08bd7487 fix: address review feedback for PR #1023 2026-10-14 14:17:39 -04:00
Rudy Celekli 632005d221 fix(director): seek camera longitude across the shortest dateline arc 2026-10-14 14:17:39 -04:00
Sameh Khamis 6f0d1bb35f fix(ui): keep panels the right rail hides itself in its layout
Exclusive presentation hides collapsed right-rail panels with display: none.
Skipping every display: none panel also skipped those, so panels the rail had
auto-collapsed stayed collapsed after the HUD was hidden or left Tactical.
Only panels hidden by other CSS are skipped now. Adds the changelog and
current-state notes.
2026-10-14 11:07:18 -07:00
Sameh Khamis fba4517ce1 Merge branch 'main' into fix/right-rail-css-hidden-panel-20261003 2026-10-14 11:06:20 -07:00
Sameh Khamis db8e1ad7cb Merge branch 'main' into contrib/gods-001-coordinate-empty-components-20261011-reviewed
# Conflicts:
#	CHANGELOG.md
2026-10-14 11:06:17 -07:00
Sameh Khamis c34cef559d Merge branch 'main' into fix/cctv-hls-insecure-context 2026-10-14 11:06:10 -07:00
Meir Michanie d2bbb5542f Merge branch 'main' into i18n-spanish 2026-10-14 19:17:53 +02:00
Kevin Rajan 36fcabcd89 chore: reconcile Recent Imagery gate fix with upstream main 2026-10-14 11:59:39 -05:00
Said Turksever 6dd4d0156f Merge pull request #1092 from hifiguy/fix/bing-ion-https
fix: request HTTPS tiles for ion-backed Bing imagery
2026-10-14 17:43:51 +01:00
Said TurkseverandClaude Opus 5.5 4838a64373 docs: restore NYC CCTV changelog entry below the Bing note
The merge from main replaced the NYC DOT opt-in pack entry instead of
adding the Bing entry above it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 17:13:17 +01:00
Said Turksever a09d4534a0 Merge branch 'main' into fix/bing-ion-https 2026-10-14 16:56:08 +01:00
Mazeyar Moeini Feizabadi 6c362bb0bd test: verify GNSS map clicks with production canvas pixels 2026-10-14 17:53:19 +02:00
Meir Michanie 32b11e27de Merge origin/i18n-spanish: whole-interface translation meets KartaView
This branch moved twice at once: upstream merged KartaView (#1121, a
third keyless street-level provider sharing a new lineCoverage.js), and
the remote i18n-spanish gained the whole-interface translation work
(1993 catalog entries, translateKnown, data-i18n-runtime, the unmarked-
string detector in npm run i18n) built on the Street View merge.

Integration keeps the remote's mechanisms and re-adds KartaView on top:

- presentMeta: remote's translateHint for coverage hints, plus the
  KartaView count line as its own literal tn pair (Russian plurals need
  the noun inside the template; keyed off coverageLabel.noun with the
  sequences pair as the default).
- uiState: upstream's highlightsSequence legend gate (KartaView's lines
  do not highlight) with t('Selected').
- layer-panels.html: remote's data-i18n/data-i18n-runtime hooks plus the
  sl-since-note wiring KartaView's upload-date SINCE note needs.
- kartaview viewer: the photo-navigation aria-label and img alt go
  through t(), as the remote's unmarked-string detector requires.
- catalogs: remote's 1987-entry base (its refined keys supersede this
  branch's earlier Street View wording) plus the KartaView entries:
  coverage hints, the upload-date note, the streets count line (with
  Russian one/few/many/other forms) and the viewer strings.

npm run i18n: complete, no unmarked strings. npm test: 6520/6522 (the
one failure is the pre-existing environmental OPENAI_API_KEY leak in
devFreshDotenv). Build passes.
2026-10-14 17:45:57 +02:00
Mazeyar Moeini Feizabadi 01a8ad7aa7 fix: address GNSS integrity and aircraft emergency review findings 2026-10-14 17:43:13 +02:00
Meir Michanie 40fb2031bb Merge upstream/main: KartaView provider meets i18n
Upstream's KartaView PR (#1121) extracted the Mapillary coverage engine
into a shared lineCoverage.js and made the panel wording
provider-specific (coverage noun/action, SINCE upload-date note,
highlightsSequence legend gate), again in the regions this branch
localizes.

- mapillary/coverage.js: taken as upstream's thin re-export of the new
  lineCoverage.js; the generic too-high hint stays msg()-marked, now in
  lineCoverage.js where the default lives.
- kartaview/policy.js: coverage hints (tooHigh, noCoverage) marked as
  msg() data so they translate like every other coverage hint; thrown
  error messages stay English, matching the Mapillary precedent.
- presentMeta: KartaView counts streets, and Russian plurals need the
  noun inside the template, so the count line gets its own literal tn
  pair keyed off coverageLabel.noun, falling back to the sequences pair;
  upstream's noun/action data contract is untouched.
- uiState legend: upstream highlightsSequence gate with t('Selected');
  sinceNote localized with a {names} placeholder.
- layer-panels.html: sl-since-note wiring kept, data-i18n hooks kept.
- CHANGELOG: both sides kept. es/ru: 4 new keys each.

npm run i18n complete (953 messages each); npm test 6504/6506 (the one
failure is the pre-existing environmental OPENAI_API_KEY leak in
devFreshDotenv, unrelated); build passes.
2026-10-14 17:33:30 +02:00
German KhokhlovandClaude Opus 5.5 07bcb69afe Merge meirm/i18n-spanish: keep this branch's Street View merge and translations
meirm merged the same upstream main in parallel and translated its Street
View additions. This branch already resolved that merge and translates the
same text for its own key-guidance code ({source} instead of {label}), so
its tree is kept; meirm's commits stay in the history.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 19:21:28 +04:00
German KhokhlovandClaude Opus 5.5 59451e6a76 fix(i18n): selected fire card power and coordinates in the UI language
The selected fire card read "4.9 MW" and "8.389°S 44.162°W" in every
language; it now uses the locale's decimal separator and hemisphere
words ("4,9 МВт", "8,389° ю. ш."). The data labels stay as they were.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 19:10:40 +04:00
Said TurkseverandClaude Opus 5.5 ce3f66a837 fix(street-level): IC8 round 3 — no blink when the point budget is re-shared
The round-3 verification found the shared point budget rebuilding a dense
tile by removing its lines before the new ones were built, so central
Paris vanished for 1–2 s after every pan:
- Tiles redrawn for a new share, or for a selected line the cap had left
  out, go through the swap path: the old lines stay until the new ones
  are ready.
- A share must move by 10% to redraw a tile (a 1.6% change rebuilt it).
- The selected line, admitted past the cap, is not counted against it,
  so its tile no longer redraws on every settle.
- A selection the imagery filter hides is not redrawn for.
- Shares are recomputed when a refresh ends loading without a tile
  finishing.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 15:54:21 +01:00
Mazeyar Moeini Feizabadi 4240d04642 Merge current main into HAL-522 review candidate 2026-10-14 16:53:13 +02:00
Said TurkseverandClaude Opus 5.5 da0d370fa3 Merge upstream/main (KartaView #1121 merged) into pr/panoramax
KartaView's later viewer changes are carried into the shared
photoViewer.js: the camera bearing (`bearingOf`), redrawing the same
photo after a GPU reset through `onReopen`, no pose while a lost context
recovers, the 2,560 px flat version only once the viewer outgrows
1,280 px, `refreshPose`, and one sharper-panorama load at a time with a
second look once it lands. Its tile cache's `keyOf` and `clear` move to
the shared tileCache.js. KartaView gets `onEscape` beside `onReopen`.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 15:52:21 +01:00
German KhokhlovandClaude Opus 5.5 8c844d7741 fix(i18n): map cards and wind readout in the UI language; final review wording
A final review of both PDFs found text the earlier checks missed:

- Map cards: fire confidence (high/nominal/low) and age (24h), vessel
  types (TOWING, TANKER) and installation classes (BASE, AIRFIELD) showed
  in English. They now go through the catalog; the data stays English.
- The wind readout kept "10-14 14:00 UTC" and "29.93°N 97.74°W"; it now
  uses the locale's date, decimal separator and hemisphere letters.
- Catalog: one term per concept (label/подпись, basemap/подложка,
  PROVIDER CONTROLS, HEARD, zoom in, REGIONAL NEWS), calques and broken
  grammar in the scene editor, provider settings and Bhote Koshi notes,
  and Spanish wording that read wrong ("restringidas por el proveedor",
  "Incluye … no se incluyen", "justo ahora", "Sal").

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 18:41:28 +04:00
Said TurkseverandClaude Opus 5.5 3ae367d0dd fix(street-level): Panoramax IC8 round 2 — shared point budget, selected line, cone cache, DP segments
From the round-2 verification (approve with follow-ups), all follow-ups:
- The point budget is shared across the tiles in view once loading
  settles (water-filling): a sparse tile keeps what it has, a dense city
  centre takes the rest instead of drawing thinner than its suburbs. The
  selected sequence is always drawn, and selecting one a cap had left out
  draws it.
- The cones' picture-list cache keeps only finished lists: a re-centre
  while the cones loaded inherited the aborted load's tiles and drew
  none in them.
- Douglas–Peucker measures to the segment, so dead ends and U-turns keep
  their far end.
- Switching Panoramax off lets its decoded tiles and lists go.
- Picture downloads are counted while they stream (a host sending no
  length cannot fill memory before the cap).
- Comments on the via caption and the simplification tolerance match the
  code.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 15:39:10 +01:00
Said TurkseverandClaude Opus 5.5 1a546bec72 fix(street-level): one keydown listener on the photo root; format scope listed a test twice
Esc moved to the viewer's box (`.sl-viewer-wrap`) in the last commit, but
without one it was a second keydown listener on the root; Esc is now taken
by the root's own handler there. format-scope.json listed
panorama.test.mjs twice, which made the formatter refuse the scope; the
files it skipped are formatted.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 15:25:58 +01:00
Said TurkseverandClaude Opus 5.5 cf502429a3 fix(street-level): Panoramax IC8 review — line geometry budget, caches, attribution, tests
From a five-lens IC8 review (correctness, security, tests with mutation
testing, performance, UX):
- P0: over Paris at 12–60 km the unsimplified z10–z12 lines sent ~2M
  points to Cesium's ground-polyline builder (gigabytes of geometry; the
  tab hung). decode.js now simplifies lines (Douglas–Peucker, 4 tile
  units: 6–10% of the points), and lineCoverage gains an opt-in point
  budget (`maxPoints`, 10,000 a tile for Panoramax).
- Decoded coverage tiles are kept (KartaView's tile cache moves to the
  shared tileCache.js); a sequence's z15 picture lists are kept and load
  on their own connection; cones know their tiles from the start of a
  load, so a picture opening meanwhile re-centres them and ‹ › no longer
  restarts the load.
- The HD panorama loads only for the expanded viewer (a docked one on a
  dense screen asked for 3 MB originals) and is aborted when another
  photo opens; picture files over 48 MB or 16,384 px are refused; a
  bitmap no renderer took after a context loss is closed.
- A nearest lookup survives one of its two searches failing; only a
  timeout is retried; offline reads as unreachable; Retry-After is
  capped at five minutes; the search box stays on the map at ±180°;
  cones near both edges of a narrow (high-latitude) tile read both.
- Every producer is credited (app and photographer); with none to name,
  the caption says "via <instance>" rather than crediting the host.
- Esc anywhere in the docked viewer (toolbar, caption) clears the
  sequence before the panel takes it. A filter that hides every density
  dot says so; wording aligned ("coverage", "photo").
- Tests for every surviving mutant (Esc consumed, keepOrder and dot-size
  wiring, licence in the core, limiter aborts, radius floor, bbox corner,
  first-producer-only, byte and size caps), a limiter test, and a gate
  fixture that answers box searches and leaves out pictures facing away;
  the gate now clicks over the other sequence's pictures, so only the
  line click's own-sequence lookup can pass.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 15:24:13 +01:00
Said Turksever 3ec31e599e Merge pull request #1121 from asturksever/pr/kartaview
Street Level: KartaView as the third, keyless imagery provider
2026-10-14 15:20:56 +01:00
Said Turksever 02a2efb8d4 Merge branch 'main' into pr/kartaview 2026-10-14 15:13:16 +01:00