Commit Graph
82 Commits
Author SHA1 Message Date
Mazeyar Moeini Feizabadi c56d5f2f06 Merge pull request #1578 from bilawalsidhu/german/space-missions-failed-entry
Roll back a Space Missions entry whose mission index fails to load

Thanks @gekh. Maintainer review fixes (separate commits): exit cancels the layer's own camera flights again, a failed index load shows a specific toast, tests and docs.
2026-11-06 20:26:55 +01:00
Mazeyar Moeini FeizabadiandClaude Opus 5.5 8da8c05eaf test(launches): keep the fixture's toast recorder for the failure-message test
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-06 20:10:34 +01:00
Mazeyar Moeini Feizabadi 5dd7f41436 Merge branch 'pr-1578-new' into review/pr-1578
# Conflicts:
#	changelog.d/1578-space-missions-failed-entry.md
#	docs/CURRENT-STATE.md
#	src/layers/launches/controls.js
2026-11-06 20:10:01 +01:00
Mazeyar Moeini FeizabadiandClaude Opus 5.5 efa4374644 fix(launches): hand the camera over before stopping, and only blame a fresh index error
- releaseCameraOwnership marks the camera released before stopping, so a
  flight navigation asked to preserve survives; exit also releases it, so an
  inactive layer never cancels another owner's flight.
- The failure toast names the mission index only when its error is from the
  current Context attempt (stats.errorAt), not an earlier one.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-06 19:28:56 +01:00
Mazeyar Moeini FeizabadiandClaude Opus 5.5 13219828e3 fix(launches): cancel mission flights on exit and name a failed index load
Review fixes on top of #1578:
- Exiting Space Missions cancels the layer's own camera flights again (entry,
  roster preview, mission focus); only a flight navigation started after
  releaseCameraOwnership() runs on.
- A failed first index load says so: "Space Missions unavailable: the
  mission index could not load. Try again later." on both the Context and
  Data Layers routes, instead of a generic transition toast. Translated.
- Regression tests for both; docs and changelog describe the real feedback.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-06 19:20:11 +01:00
Mazeyar Moeini Feizabadi 3cd7ed68aa Merge remote-tracking branch 'origin/main' into review/pr-1578 2026-11-06 18:55:07 +01:00
Mazeyar Moeini Feizabadi 4effadd3e9 Merge pull request #1601 from bilawalsidhu/fix/street-level-keyless-default
fix(street-level): without a Mapillary key, start on a keyless source

Thanks @asturksever. Maintainer review fixes (separate commits): filter-only updates keep an explicitly chosen source, keyless Street Level QA gate updated, tests and docs.
2026-11-06 18:45:17 +01:00
Mazeyar Moeini Feizabadi ddc14c8f51 Merge remote-tracking branch 'origin/main' into review/pr-1601 2026-11-06 18:32:31 +01:00
Mazeyar Moeini FeizabadiandClaude Opus 5.5 f7b9a2e5af test(street-level): keyless QA branch handles a keyed bundle behind a keyless server
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-06 18:20:47 +01:00
Mazeyar Moeini FeizabadiandClaude Opus 5.5 8a7402d80c fix(street-level): keep explicit provider choices on filter-only updates
Review fixes on top of #1601:
- Only redirect a provider the params switch on to a keyless source, so a
  filter-only setParams (360°, SINCE) no longer moves an explicitly chosen
  keyless Mapillary to KartaView.
- Keyless QA gate: assert the new KartaView default and that the Mapillary
  chip explains its key instead of switching (it used to expect KEY REQUIRED).
- Tests: Graph-proxy keyReady, filter-only updates; shared test helper.
- README and CURRENT-STATE describe the keyless default.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-06 18:14:16 +01:00
Mazeyar Moeini Feizabadi 61dfdc771e Merge remote-tracking branch 'origin/main' into review/pr-1601 2026-11-06 17:54:23 +01:00
Mazeyar Moeini Feizabadi b35c810284 Merge pull request #1528 from dylanmaniatakes/codex/s2-ghostmaps-age-filter
feat: add adjustable age filtering across S2 GhostMaps

Thanks @dylanmaniatakes. Maintainer review fixes (separate commits): age-window narrowing/restore consistency, card kept across same-report reloads, date-only events cover their whole UTC day, and the age choice as a labelled Event age switch.
2026-11-06 17:52:28 +01:00
Mazeyar Moeini Feizabadi d5d824f705 Merge remote-tracking branch 'origin/main' into review/pr-1528 2026-11-06 17:40:33 +01:00
Mazeyar Moeini FeizabadiandClaude Opus 5.5 91ab9b5811 fix(ghostmaps): follow-up review fixes for the age switch
- Keep the open card across a widened reload only when its index still
  holds the same report; the server may answer a pinned version with newer
  bytes.
- Narrowing to a window the loaded data already covers clears a failed
  wider reload, so the row no longer stays in error.
- Label the every-age option "All" (contextual) so the six-option switch
  fits the row in every locale; tooltip and info line keep "All markers".

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-06 17:37:29 +01:00
Mazeyar Moeini FeizabadiandClaude Opus 5.5 c4298c4450 fix(ghostmaps): keep age-window changes consistent and make the age choice a switch
Review fixes on top of #1528:
- Narrowing the age window only removes markers; a product loaded with a
  narrower window is reloaded when the window widens again. Fixes markers
  missing after 7d -> 1d -> 7d and avoids reparsing every KMZ on narrowing.
- A wider window over the same edition keeps the open report card.
- Date-only event dates cover their whole UTC day, so 1d still shows
  yesterday's reports.
- The age options are one labelled "Event age" radio switch (row
  `segmented` control, as FIRMS confidence) instead of toggle chips mixed
  with the product chips.
- Un-nest the per-product age test; QA compares data-source counts with the
  live defaults instead of a hard-coded 2.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-06 17:25:01 +01:00
Mazeyar Moeini Feizabadi 7673351ce0 Merge remote-tracking branch 'origin/main' into review/pr-1528
# Conflicts:
#	src/i18n/locales/ar.json
#	src/i18n/locales/de.json
#	src/i18n/locales/es.json
#	src/i18n/locales/fr.json
#	src/i18n/locales/it.json
#	src/i18n/locales/ja.json
#	src/i18n/locales/pt.json
#	src/i18n/locales/ru.json
#	src/i18n/locales/uk.json
#	src/i18n/locales/zh-CN.json
#	src/i18n/locales/zh-Hant.json
2026-11-06 17:02:29 +01:00
Mazeyar Moeini Feizabadi 42e68352e8 Merge pull request #1297 from GPTmadeit/feat/s2-ghostmaps-layer
Add S2 GhostMaps live intel layer
2026-10-26 16:46:47 +01:00
Mazeyar Moeini Feizabadi 9496ee4d64 fix: complete GhostMaps locale and voice integration with current main 2026-10-26 16:29:48 +01:00
Mazeyar Moeini Feizabadi 4da002bd42 Merge current main into S2 GhostMaps and preserve updated import and voice behavior 2026-10-26 16:25:49 +01:00
Mazeyar Moeini Feizabadi 4a18af5426 fix: address GhostMaps resource and source ownership review findings 2026-10-26 16:24:34 +01: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
Mazeyar Moeini Feizabadi e84e74ca3a Merge pull request #1309 from bilawalsidhu/codex/shared-control-css-ownership
Clarify CSS ownership for shared native fields
2026-10-21 18:52:01 +02:00
Mazeyar Moeini Feizabadi 4116082cb9 docs: add release note for field CSS ownership 2026-10-21 18:41:39 +02:00
Mazeyar Moeini Feizabadi 7103c29194 refactor(ui): clarify shared field CSS ownership 2026-10-21 18:41:17 +02:00
Mazeyar Moeini Feizabadi a20673e78d Merge pull request #1306 from bilawalsidhu/codex/shared-status-badges
Unify read-only status badges in CCTV and Weather
2026-10-21 18:18:47 +02:00
Mazeyar Moeini Feizabadi 83471ea6d7 docs: add release note for shared status badges 2026-10-21 18:10:46 +02:00
Mazeyar Moeini Feizabadi f70bc0cabb refactor(ui): share read-only status badges 2026-10-21 18:10:09 +02:00
Mazeyar Moeini Feizabadi 8ed1bbbd0f Merge pull request #1305 from bilawalsidhu/codex/shared-form-controls
refactor(ui): share native dropdowns and numeric fields
2026-10-21 17:31:57 +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 4deb32a9a3 Merge pull request #1302 from bilawalsidhu/codex/shared-action-buttons
refactor(ui): share ordinary Scene and CCTV action buttons
2026-10-21 17:25:05 +02:00
Mazeyar Moeini Feizabadi 49735d9307 Merge main for shared action button integration 2026-10-21 17:18:18 +02:00
Mazeyar Moeini Feizabadi b6623f65cd docs: add shared native fields changelog entry 2026-10-21 17:11:56 +02: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 5a11bd9515 docs: add shared action buttons changelog entry 2026-10-21 15:22:21 +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 5a1598fd9e Merge pull request #1287 from bilawalsidhu/codex/shared-sliders
refactor(ui): unify ordinary slider components and styling
2026-10-21 14:19:55 +02:00
Mazeyar Moeini Feizabadi bf0e1d7c79 Merge current main into shared sliders 2026-10-21 14:10:40 +02:00
Mazeyar Moeini Feizabadi 415edbcfdf Merge pull request #1301 from bilawalsidhu/codex/shared-segmented-selectors
Unify segmented selectors and fix compact control spacing
2026-10-21 13:27:12 +02:00
Mazeyar Moeini Feizabadi 4bfee31fdb Reserve full height for imagery segmented controls 2026-10-21 13:21:23 +02:00
Mazeyar Moeini Feizabadi 7df8b369e4 Add changelog for shared segmented selectors 2026-10-21 13:08:35 +02:00
Mazeyar Moeini Feizabadi 40394ff76e Unify segmented selectors and fix compact panel spacing 2026-10-21 13:07:51 +02:00
Mazeyar Moeini Feizabadi 64fd9ba1c2 docs: add shared slider changelog fragment 2026-10-20 14:49:06 +02:00
Mazeyar Moeini Feizabadi f1c617ad27 refactor(ui): share ordinary slider components 2026-10-20 14:48:42 +02:00
Mazeyar Moeini Feizabadi acc87a9e22 Merge pull request #1283 from rudycelekli/fix/satellite-cache-provenance-20261017
fix(satellites): retain cached catalog provenance
2026-10-20 13:03:54 +02:00
Mazeyar Moeini Feizabadi 7ca3c1e08f Merge branch 'main' into fix/satellite-cache-provenance-20261017 2026-10-20 12:53:10 +02:00
Mazeyar Moeini Feizabadi 505d2cb586 Merge pull request #1284 from rudycelekli/fix/route-plausibility-segment-20261020
fix(flights): bound route labels to the scheduled leg
2026-10-20 12:30:47 +02:00
Mazeyar Moeini Feizabadi ecaab6a946 Merge pull request #1183 from bilawalsidhu/codex/sdr-bounded-playback
fix(sdr): stabilize local playback and integrate seek-wrap fix
2026-10-16 19:12:27 +02:00
Mazeyar Moeini Feizabadi e021159938 Merge remote-tracking branch 'origin/main' into codex/sdr-bounded-playback 2026-10-16 19:00:04 +02:00
Mazeyar Moeini Feizabadi 365b2e7913 test(radio): fixture unavailable optional Google tokens 2026-10-16 18:56:17 +02:00
Mazeyar Moeini Feizabadi fc11fd0370 docs(sdr): document bounded playback and credit seek fix 2026-10-16 18:48:44 +02:00
Mazeyar Moeini FeizabadiandAditya 240f7ae3da fix(sdr): bound decoder work and stabilize FM playback
Keep USB reads in a bounded ordered pipeline, acknowledge and cap decoder
work, terminate stopped workers, and buffer short playback jitter. Throttle
display telemetry and compute spectra only while seeking.

Preserve PR #1174's wrapped seeking and fresh-spectrum tagging. Add opt-in
bounded timing diagnostics and decoder/playback lifecycle regressions.

Co-authored-by: Aditya <[email protected]>
2026-10-16 18:37:15 +02:00
Mazeyar Moeini Feizabadi a0400b52fb Merge pull request #741 from bilawalsidhu/fix/cyclone-advisory-time
fix(cyclones): accept advisories NHC publishes before their nominal time
2026-10-16 02:16:22 +02:00
Mazeyar Moeini Feizabadi dde2b9d186 Merge pull request #1110 from Rohilalala/fix/flights-unpositioned-rows-complete
fix(flights): don't treat OpenSky's position-less rows as a partial snapshot
2026-10-16 01:42:21 +02:00
Mazeyar Moeini Feizabadi 1c3dae39f2 Merge pull request #1084 from NotProniss/feat/satellite-cloud-filter-strength
feat(weather): add satellite cloud filter strength slider
2026-10-15 21:04:03 +02:00
Mazeyar Moeini Feizabadi 8959b5b71a fix(weather): preserve filter drag previews across panel refreshes 2026-10-15 20:52:22 +02: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
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
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
Mazeyar Moeini Feizabadi 4092c2e9a2 merge: refresh file import integration against main 2026-10-15 02:48:47 +02:00
Mazeyar Moeini Feizabadi 6c362bb0bd test: verify GNSS map clicks with production canvas pixels 2026-10-14 17:53:19 +02:00
Mazeyar Moeini Feizabadi 01a8ad7aa7 fix: address GNSS integrity and aircraft emergency review findings 2026-10-14 17:43:13 +02:00
Mazeyar Moeini Feizabadi 4240d04642 Merge current main into HAL-522 review candidate 2026-10-14 16:53:13 +02:00
Mazeyar Moeini Feizabadi 767a7d5ae8 perf(import): reuse generated pin textures and trim unused processing 2026-10-14 15:01:47 +02:00
Mazeyar Moeini Feizabadi c58ff5c215 fix(import): keep KML points visible when remote icons are blocked 2026-10-14 13:16:10 +02:00
Mazeyar Moeini Feizabadi ae51f9aee9 fix(import): share repeated KML styles before resource checks 2026-10-14 04:06:19 +02:00
Mazeyar Moeini Feizabadi a5b21b5d0f fix(import): enforce geometry budgets and queued navigation 2026-10-14 01:02:50 +02:00
Mazeyar Moeini Feizabadi 7694c02b91 Integrate file-import contribution onto current main for HAL-526 review 2026-10-14 00:50:18 +02:00
Mazeyar Moeini Feizabadi 132b9e96dc Merge pull request #1120 from bilawalsidhu/codex/hal-529-gbfs-names
Fix GBFS v3 station names in the shared parser (HAL-529)
2026-10-14 00:39:26 +02:00
Mazeyar Moeini Feizabadi 82b8c0c850 Frame mobile GBFS QA in supported clean view 2026-10-13 23:48:21 +02:00
Mazeyar Moeini Feizabadi ddd932f0a7 Harden shared GBFS station-name parsing and add regression coverage 2026-10-13 23:46:51 +02:00
Mazeyar Moeini Feizabadi a922d71120 test: isolate GNSS first-fetch recovery from persisted fixtures 2026-10-13 21:51:41 +02:00
Mazeyar Moeini Feizabadi a1786f162c fix: recover GNSS feed startup and honor retry cooldowns 2026-10-13 21:49:25 +02:00
Mazeyar Moeini Feizabadi 70664c300b test: verify GNSS query center at globe scale 2026-10-13 21:19:08 +02:00
Mazeyar Moeini Feizabadi 96534df807 fix: refresh GNSS sampling automatically as the camera moves 2026-10-13 21:17:10 +02:00
Mazeyar Moeini Feizabadi c349a89bb2 fix: keep fallback emergency status paired with admitted aircraft 2026-10-13 18:11:41 +02:00
Mazeyar Moeini Feizabadi 45e9c5ab0a test: exercise emergency highlighting through current feed routes 2026-10-13 17:56:41 +02:00
Mazeyar Moeini Feizabadi ec80c89c1e fix: integrate GNSS and emergency features with current main contracts 2026-10-13 17:42:30 +02:00
Mazeyar Moeini Feizabadi 69e8b18e02 Merge rebased aircraft emergency contribution for HAL-522 validation
# Conflicts:
#	DATA_SOURCES.md
2026-10-13 17:25:47 +02:00