Commit Graph
108 Commits
Author SHA1 Message Date
Sameh Khamis b1e67a6a50 test: retain Context invariants across formatted module boundaries 2026-09-13 01:43:18 -07:00
Sameh Khamis 3e078ef49d style: format Context component modules 2026-09-13 01:41:01 -07:00
Sameh Khamis fc369cc65a refactor: isolate Context controls and layer restoration 2026-09-13 01:40:59 -07:00
Sameh Khamis 1b9ea0e8e3 fix: preserve camera controls when rebuilding the Radio panel 2026-09-13 01:23:55 -07:00
Sameh Khamis c6ac74c242 test: follow the camera panel presentation owner 2026-09-13 00:45:35 -07:00
Sameh Khamis 1a7e4d51d9 style: format camera panel component modules 2026-09-13 00:38:01 -07:00
Sameh Khamis f45f399c31 refactor: isolate camera panel controls and presentation 2026-09-13 00:38:01 -07:00
Sameh Khamis a5af1cbfa3 fix: restore independent UI observer and subscription teardown 2026-09-12 23:53:10 -07:00
Sameh Khamis 53c510fe9f fix: keep disposed Radio disclosures inert 2026-09-12 23:40:51 -07:00
Sameh Khamis 02e90ca698 test: keep Radio invariants independent of formatting 2026-09-12 23:25:09 -07:00
Sameh Khamis bd6cc5abe8 style: format Radio component boundary 2026-09-12 23:25:09 -07:00
Sameh Khamis 7b9aca8597 refactor: isolate Radio controls and tuner presentation 2026-09-12 23:23:20 -07:00
Sameh Khamis 220caf5427 test: follow reset and deferred navigation through Location components 2026-09-12 23:00:02 -07:00
Sameh Khamis 63e5352964 fix: invoke Location animation scheduling through window functions 2026-09-12 22:58:02 -07:00
Sameh Khamis 7485565975 refactor: expose location status parsing with its formatter 2026-09-12 22:56:23 -07:00
Sameh Khamis 82d922ae87 style: format Location component boundary 2026-09-12 22:55:18 -07:00
Sameh Khamis ea77b49482 refactor: isolate Location controls and cancellable search 2026-09-12 22:55:16 -07:00
Sameh Khamis dec9dd288c style: format layer loading feedback helpers 2026-09-12 22:41:08 -07:00
Sameh Khamis 4d764a82db test: exercise native clear action through layer transaction 2026-09-12 22:38:04 -07:00
Sameh Khamis 648041e040 fix: keep clear control alive when map controls are initialized 2026-09-12 22:37:32 -07:00
Sameh Khamis e34d619949 style: format Layers panel components 2026-09-12 22:36:06 -07:00
Sameh Khamis 07cf1695ff refactor: separate Layers panel presentation from lifecycle actions 2026-09-12 22:36:04 -07:00
Sameh Khamis da7496b7eb style: format Map Source component boundary 2026-09-12 22:25:05 -07:00
Sameh Khamis 72d531b18f refactor: isolate Map Source controls and selection lifecycle 2026-09-12 22:25:04 -07:00
Sameh Khamis 1bbb6d9c70 style: format visual effects and shader definitions 2026-09-12 21:55:18 -07:00
Sameh Khamis c30f7cc3be refactor(ui): separate visual effects and animation ownership 2026-09-12 21:55:18 -07:00
Sameh Khamis b99669d689 style: format Display controls and browser acceptance checks 2026-09-12 21:25:05 -07:00
Sameh Khamis ffc65dd844 refactor(ui): own Display control subscriptions and cleanup 2026-09-12 21:25:04 -07:00
Sameh Khamis c9be877f9c style(ui): format shortcut and parameter components 2026-09-12 20:39:47 -07:00
Sameh Khamis 7a5f615d55 refactor(ui): extract application shortcuts and parameter controls 2026-09-12 20:38:16 -07:00
Sameh Khamis e13a680b53 style(ui): format panel rail modules and retain source invariants 2026-09-12 19:55:02 -07:00
Sameh Khamis bf77ae61b8 refactor(ui): extract adaptive panel rail layout 2026-09-12 19:53:17 -07:00
Sameh Khamis bd6ba07878 style(ui): format surface keyboard component and tests 2026-09-12 18:45:30 -07:00
Sameh Khamis e1ffb9c572 refactor(ui): share surface keyboard lifecycle 2026-09-12 18:45:30 -07:00
Sameh Khamis f35468040e refactor(ui): extract panel disclosure lifecycle controls 2026-09-12 17:38:34 -07:00
Sameh Khamis dae5f45426 fix(status): preserve cached aircraft age and independent refresh errors 2026-09-12 17:12:34 -07:00
Sameh Khamis 8eb6d09105 Merge commit '1a9cfb180914fc9c2b06088a836b45dbf27254d5' into review/bilawal-status-371 2026-09-12 17:00:35 -07:00
Sameh Khamis 24d2582516 fix(cctv): release snapshot readers and verify provider error paths 2026-09-12 16:37:04 -07:00
Bilawal Sidhu 3d956177ab fix(providers): validate before limiting and tighten capped image reads
Apply shared Places validation, owned image chunks, and response-header deadline tests to the provider modules.
2026-09-12 16:35:11 -07:00
Sameh Khamis 48a2f06fa2 test: retain existing teardown assertions for cleanup follow-up 2026-09-12 15:49:25 -07:00
Sameh Khamis 3263fe6ff1 fix(search): cancel active lookup when controls are disposed 2026-09-12 15:48:47 -07:00
Sameh Khamis 57d7f9fc23 feat(search): compose Google and Photon through an explicit provider service 2026-09-12 15:38:43 -07:00
Bilawal Sidhu 1a9cfb1809 fix(status): stop false LOAD FAILED from a relayed adsb.lol 429 and the installations zoom prompt
Two independent triggers turned the global status chip red while every layer
was still populated (reproduced at JFK in Cockpit; timeline in the issue).

adsb.lol proxy: a non-OK upstream status was relayed verbatim even with a
12 s-old cache in hand, and the browser layer answers a 429 with a 45 s
cooldown in which every refresh reports "adsb.lol rate limited" without a
network call. The proxy now serves its cached body as STALE on a 429/5xx and
backs off from upstream for Retry-After (bounded), mirroring the OpenSky
proxy. A failure with nothing cached is still relayed.

Mapped installations: the "zoom in" guidance was stored in `error`, so the
manager reported a refresh failure and the chip a LOAD FAILED whenever the
view could not be bounded (Cockpit looks at the horizon). The status is now
set without an error string; the row reads the prompt from `statusMessage`,
and the chip ignores `error` for guidance statuses, matching the carve-out
layerFeedState already has.
2026-09-12 17:19:34 -05:00
Sameh Khamis 4fae7fb278 fix(gbfs): adapt redirect hardening to provider modules and bound body reads 2026-09-12 15:13:14 -07:00
DESTAQandSameh Khamis db49edf363 fix(terrain): keep cold height requests within the browser deadline (#348)
Use 64-point browser and upstream terrain batches to reduce cold-cache timeouts. Preserve successful chunk results, distinguish absent readings from malformed responses, and reject fabricated zero heights.

Original terrain resilience contribution by ItzDESTAQ, with browser batching, validation and regression follow-up by Sameh Khamis.

Validated with unit/build/format/boundary checks, 108 tracking checks, 5 terrain-outage checks, controlled slow-upstream comparison and live browser checks.

Co-authored-by: ItzDESTAQ <[email protected]>
Co-authored-by: Sameh Khamis <[email protected]>
2026-09-12 14:04:08 -07:00
Sameh Khamis 5223b6df5b style: format extracted local services 2026-09-12 13:01:49 -07:00
Sameh Khamis 233285fe12 test: retain radio schema and voice mutation checks after formatting 2026-09-12 13:01:49 -07:00
Sameh Khamis a64a622b6d test: pin voice schemas independently of source formatting 2026-09-12 13:00:43 -07:00
Sameh Khamis cd92855f88 refactor: isolate standalone key setup and service composition 2026-09-12 12:59:39 -07:00
Sameh Khamis 638902296a refactor: separate local voice handlers and instructions 2026-09-12 12:59:39 -07:00