Commit Graph
1072 Commits
Author SHA1 Message Date
Said TurkseverandClaude Opus 5.5 b5de533567 Merge upstream main into pr/panoramax
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 16:56:15 +01:00
Said TurkseverandClaude Opus 5.5 b645a767c8 Street Level: Panoramax review follow-ups (gekh, #1134)
Image loading (photoViewer.js)
- One AbortController per open: a new open, close or unmount stops the
  previous photo's first and sharper downloads (an <img> by src = '').
  A collapsed viewer never falls back to the original; Panoramax's flat
  fallback is the thumbnail. A superseded open resolves quietly.
- Flat HD tracked as "loading" and "shown" apart: a discarded response no
  longer blocks later upgrades, and resizes while it loads ask once.
- No upgrade of the photo still shown while another opens.
- Size limits before decoding: imageSize.js reads JPEG/PNG/WebP/GIF
  headers; more than 64 MP or 16,384 px a side is refused undecoded, an
  <img> that decodes larger is refused and let go, flat HD needs a known
  width of at most 8,192 px, and panoramas always decode with a resize.

Panoramax provider
- Retry-After parsed as seconds or an HTTP date; the browser cannot read
  it here, so busy answers back off 5 s doubling to 300 s, reset once
  answered.
- Headers timed, then the body by an idle timeout (15 s of silence), so a
  slow link still gets its megabyte tiles.
- Cones centre only on the picture shown (onShowing), never on a late
  lookup; lookups nobody waits for are aborted (shared, refcounted).
- onReopen: a GPU reset redraws in the viewer, not through the core.
- Cones draw the home z15 tile at once and add neighbours as they arrive;
  a neighbour that failed is not counted as drawn.
- Coverage tiles decode in ~8 ms slices (a 2 MB z10 tile over Paris was
  one ~85-200 ms task); sorted by measured length without a Map.
- Box search asks for 20, not 100 (the API returns them nearest first).
- looksLikeEmail checks every '@'; creatorOf de-duplicates with a Set.

lineCoverage.js
- A redraw while a swap still builds keeps what is on screen (the swap's
  old lines and its ready new ones) and drops only the unready ones.

Tests for each (mutation-checked), two vacuous tests made real, the
cones' pictures lane and readable()'s busy/timeout paths covered; the
fixture's box search is nearest first. Docs: README filters and share
links, CHANGELOG HD wording, CURRENT-STATE.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 16:55:59 +01:00
Said Turksever 005197cfdb Merge pull request #1041 from rudycelekli/contrib/gods-020-thumbnail-presence-proof-20261011-reviewed
fix(imagery): require explicit Data-Present proof before decoding thumbnails
2026-10-15 16:43:28 +01:00
Said Turksever a0682a5965 Merge branch 'main' into contrib/gods-020-thumbnail-presence-proof-20261011-reviewed 2026-10-15 16:30:03 +01:00
Said Turksever 97209ca558 Merge pull request #1033 from rudycelekli/contrib/gods-012-surface-tab-order-20261011-reviewed
chore(ui): harden surface Tab cycling
2026-10-15 16:27:25 +01:00
Said Turksever c9076c579a Merge branch 'main' into contrib/gods-012-surface-tab-order-20261011-reviewed 2026-10-15 16:13:42 +01:00
Said Turksever c8dfe16ac6 Merge pull request #1038 from rudycelekli/contrib/gods-017-ambiguous-camera-direction-20261011-reviewed
fix(cctv): leave conflicting direction fields unresolved
2026-10-15 16:10:34 +01:00
Said TurkseverandClaude Opus 5.5 e3bc431f9a fix(street-level): review follow-ups — shares judged against the last draw; refused pictures stay refused
From the maintainer review of #1134 (approve with follow-ups):
- lineCoverage: a share is judged against the cap the tile was last drawn
  with, not against later shares that redrew nothing, so small increases
  add up (a retained tile stayed at 100 points after its share grew to
  116). A rebuild's measuring pass no longer counts as a draw.
- photoViewer: a picture refused for its size (bytes, streamed bytes or
  decoded side) is marked `tooLarge`, and the viewer never loads that file
  again by any path; the flat fallback had retried an oversized SD file
  through an <img>, which has no size limit.
- Regressions for both: cumulative share growth below the threshold, and a
  refused SD panorama that is not fetched again as a flat photo.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 16:08:18 +01:00
Said Turksever 232e957786 Merge branch 'main' into contrib/gods-017-ambiguous-camera-direction-20261011-reviewed 2026-10-15 15:50:24 +01:00
Said Turksever 4d88dd29f5 Merge pull request #1051 from rudycelekli/contrib/gods-030-regional-calendar-evidence-20261011-reviewed
fix(regional): keep impossible compact article dates unknown
2026-10-15 15:50:00 +01:00
Said Turksever 2c52e01701 Merge branch 'main' into contrib/gods-030-regional-calendar-evidence-20261011-reviewed 2026-10-15 15:39:10 +01:00
Said Turksever 5d05a0a000 Merge pull request #1043 from rudycelekli/contrib/gods-022-firms-calendar-validity-20261011-reviewed
fix(firms): reject impossible acquisition days in CSV parsing
2026-10-15 15:38:44 +01:00
Said Turksever 78a9aeb179 Merge branch 'main' into contrib/gods-022-firms-calendar-validity-20261011-reviewed 2026-10-15 15:26:06 +01:00
Said Turksever 5d42e661ab Merge pull request #1031 from rudycelekli/contrib/gods-010-catalog-cancellation-v2-20261011-reviewed
fix(tools): reject already-cancelled queries before execution
2026-10-15 15:25:27 +01:00
Said Turksever 22e60098da Merge branch 'main' into contrib/gods-010-catalog-cancellation-v2-20261011-reviewed 2026-10-15 15:17:39 +01:00
Said Turksever 453083b8a9 Merge pull request #1024 from rudycelekli/contrib/gods-003-boundary-probe-recovery-20261011-reviewed
fix(services): retry malformed capability probes after the existing backoff
2026-10-15 15:15:54 +01:00
Said Turksever 8ca74cccf7 Merge branch 'main' into contrib/gods-003-boundary-probe-recovery-20261011-reviewed 2026-10-15 14:55:05 +01:00
Said Turksever c802ce87b8 Merge pull request #1039 from rudycelekli/contrib/gods-018-terrain-request-coordinate-boundary-20261011-reviewed
fix(terrain): reject out-of-range points at the proxy boundary
2026-10-15 14:54:26 +01:00
Said Turksever 12611ba414 Merge branch 'main' into contrib/gods-020-thumbnail-presence-proof-20261011-reviewed 2026-10-15 14:50:46 +01:00
Said Turksever f77276ecf0 Merge branch 'main' into contrib/gods-012-surface-tab-order-20261011-reviewed 2026-10-15 14:49:52 +01:00
Said Turksever ab3f644d8a Merge branch 'main' into contrib/gods-017-ambiguous-camera-direction-20261011-reviewed 2026-10-15 14:49:38 +01:00
Said Turksever 5fd6f6c4f8 Merge branch 'main' into contrib/gods-030-regional-calendar-evidence-20261011-reviewed 2026-10-15 14:49:19 +01:00
Said Turksever d1929344d1 Merge branch 'main' into contrib/gods-010-catalog-cancellation-v2-20261011-reviewed 2026-10-15 14:48:57 +01:00
Said Turksever debe0aef8a Merge branch 'main' into contrib/gods-022-firms-calendar-validity-20261011-reviewed 2026-10-15 14:48:43 +01:00
Said Turksever e3d6609f08 Merge branch 'main' into contrib/gods-003-boundary-probe-recovery-20261011-reviewed 2026-10-15 14:47:47 +01:00
Said Turksever 2560af5016 Merge branch 'main' into contrib/gods-018-terrain-request-coordinate-boundary-20261011-reviewed 2026-10-15 14:47:07 +01:00
Mazeyar Moeini Feizabadi 533d7c6454 Merge pull request #1122 from bilawalsidhu/codex/hal-526-import-review
feat(import): integrate local geodata files (HAL-526)
2026-10-15 14:21:14 +02:00
Said TurkseverandClaude Opus 5.5 de83e1c17f Merge upstream/main into pr/panoramax
CHANGELOG: keep both new [Unreleased] entries (Panoramax, and the
emergency-transponder highlight from #856).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 12:57:53 +01:00
Mazeyar Moeini Feizabadi 2a5c01b418 Merge accepted GNSS integration into local imports 2026-10-15 13:55:04 +02:00
Mazeyar Moeini Feizabadi d9ff718359 Merge pull request #1108 from bilawalsidhu/codex/hal-522-trial
Integrate GNSS integrity and aircraft emergency highlighting
2026-10-15 13:54:51 +02:00
Mazeyar Moeini Feizabadi e3c07e43e3 Merge current main and reviewed GNSS into import integration 2026-10-15 13:48:39 +02:00
Mazeyar Moeini Feizabadi 65239ed110 Merge current main into GNSS integration candidate 2026-10-15 13:46:45 +02:00
Sameh Khamis f0a1b22dc8 Merge pull request #1047 from rudycelekli/contrib/gods-026-map-subscription-ownership-20261011-reviewed
fix(maps): stop delivering settled state to detached subscribers
2026-10-14 21:28:08 -07:00
Sameh Khamis 56ca8fd922 Merge branch 'main' into contrib/gods-026-map-subscription-ownership-20261011-reviewed
# Conflicts:
#	CHANGELOG.md
2026-10-14 21:11:47 -07:00
Sameh Khamis 871523593f Merge pull request #1046 from rudycelekli/contrib/gods-025-asset-stream-cancellation-20261011-reviewed
fix(director): reject cancellation during the final asset stream read
2026-10-14 21:11:42 -07:00
Sameh Khamis 20730e5ec5 Merge branch 'main' into contrib/gods-025-asset-stream-cancellation-20261011-reviewed
# Conflicts:
#	CHANGELOG.md
2026-10-14 19:54:24 -07:00
Rudy Mizrahi CelekliandSameh Khamis fd5a1ef856 fix(tools): keep results when a timestamp is outside Date's range (#1045)
isoTime returned toISOString() for any finite number, which throws past ±8.64e15 ms, so one bad record (e.g. a bike-share last_reported) failed the whole tool answer. Such timestamps are now null. The voice analyst's result rows had the same conversion and get the same guard.

Co-authored-by: Sameh Khamis <[email protected]>
2026-10-14 19:54:17 -07:00
Sameh Khamis 84bfba8d39 Merge pull request #1044 from rudycelekli/contrib/gods-023-firms-coordinate-evidence-20261011-reviewed
fix(firms): reject missing and out-of-range detection coordinates
2026-10-14 19:43:39 -07:00
Sameh Khamis b9fa0eedcc fix(maps): stop all delivery once the controller is destroyed
A listener could destroy the controller and re-subscribe one still pending in
the snapshot, which then ran. Delivery now stops at destruction and a destroyed
controller takes no listeners. Adds ordering tests for adds, duplicates and
re-adds during delivery, and moves the current-state note after the section
intro.
2026-10-14 19:23:46 -07:00
Sameh Khamis bf4edb5bdb fix(director): discard an asset cancelled during reader cleanup
The finally block awaits reader.cancel(), so a cancel arriving there still let
the bytes return. Rechecks the signal after cleanup, with a test that keeps the
caller's abort reason, and wraps the current-state note.
2026-10-14 19:23:12 -07:00
Sameh Khamis 6a7b89e436 test(firms): cover both coordinate bounds and blank values on each axis
Documents the adapter's skip rule and cross-references the two checks, which
sit in separate packages (provider parser and fire layer).
2026-10-14 19:21:57 -07:00
Sameh Khamis 69a84c47a1 Merge branch 'main' into contrib/gods-026-map-subscription-ownership-20261011-reviewed
# Conflicts:
#	CHANGELOG.md
2026-10-14 19:21:11 -07:00
Sameh Khamis d42f5d4fd2 Merge branch 'main' into contrib/gods-025-asset-stream-cancellation-20261011-reviewed
# Conflicts:
#	CHANGELOG.md
2026-10-14 19:21:10 -07:00
Sameh Khamis 493b154a6b Merge branch 'main' into contrib/gods-023-firms-coordinate-evidence-20261011-reviewed
# Conflicts:
#	CHANGELOG.md
2026-10-14 19:21:08 -07:00
Mazeyar Moeini Feizabadi 5ea6d81310 fix(import): correct clamping and bound local-file rendering
Normalize GeoJSON ground footprints, preserve explicit KML track heights,
and tessellate ground paths before native loading. Validate coordinates,
geometry types and decoded image budgets before allocating native resources;
strip loader-sensitive metadata and settle deferred failures and cancellation.

Render static pins in owned billboard collections instead of walking tens
of thousands of point entities each frame. Refine nearby ground heights in
batches, isolate imported pins from height picks, and release owned resources
and point selections on removal. Use safe ray origins above a hidden coarse
globe and retain valid mesh heights outside the current footprint.

Frame complete geometry with viewport-aware nadir arrivals, including walls
and rotated overlays; respect camera gestures and accept document file drops.
Strengthen real-loader, native 3D Tiles, paint, clock and lifecycle coverage.
Addresses both P1 and all 25 P2 findings in the follow-up review of #1122.
2026-10-15 04:10:41 +02:00
Sameh Khamis 7661cd349c Merge pull request #1040 from rudycelekli/contrib/gods-019-terrain-warm-batch-lru-20261011-reviewed
fix(terrain): refresh cache recency when resolving warm batches
2026-10-14 19:02:26 -07:00
Sameh Khamis 2b53af71ab Merge branch 'main' into contrib/gods-019-terrain-warm-batch-lru-20261011-reviewed
# Conflicts:
#	CHANGELOG.md
2026-10-14 18:54:35 -07:00
Sameh Khamis fc798969ec Merge pull request #1036 from rudycelekli/contrib/gods-015-imagery-box-missing-edge-20261011-reviewed
fix(recent-imagery): reject absent box edges instead of inventing zero degrees
2026-10-14 18:54:24 -07:00
Sameh Khamis 4a2c6ff7f6 Merge branch 'main' into contrib/gods-015-imagery-box-missing-edge-20261011-reviewed 2026-10-14 18:44:19 -07:00
Sameh Khamis 197e5ee855 Merge pull request #1032 from rudycelekli/contrib/gods-011-street-level-unique-tiles-20261011-reviewed
fix(street-level): deduplicate overlapping dateline tile halves
2026-10-14 18:43:48 -07:00