Sameh Khamis
2b2dad5bbe
Harden Vite fs.deny for local logs and cache ( #948 )
...
Deny local logs, cache, and repository build output from Vite development file serving.
Contribution by @blowing-a-raspberry.
2026-10-25 19:00:20 -07:00
Sameh Khamis
76311e36d4
feat(docker): add a HEALTHCHECK to the image ( #1394 )
...
Report Docker application health using a bounded loopback HTTP probe.
Contribution by @14traits.
2026-10-25 17:46:52 -07:00
Sameh Khamis
2006c035d9
chore: remove four modules nothing in the app uses ( #1403 )
...
* chore: remove four modules nothing in the app uses
src/app/sourceSlot.js re-exported src/sources/sourceSlot.js, which every
caller imports directly. src/data/flowTiles.js and src/data/issPass.js were
reached only by their own tests. src/data/localGeojson.js wrapped
localGeojsonCore.js with the app's services, which the catalog already
passes itself. The local GeoJSON layer tests now build layers the way the
catalog does, so they keep covering localGeojsonCore.js; only the test of
the wrapper's own default host goes. Boundary lists, format scope and docs
drop the removed paths.
* docs: changelog for #1403
2026-10-25 17:21:41 -07:00
Sameh Khamis
5103ff672c
fix(gbfs): exclude stations with invalid coordinates ( #1232 )
...
Reject invalid bike-share station coordinates while preserving genuine zero coordinates and numeric aliases.
Contribution by @Bortlesboat.
2026-10-25 16:47:51 -07:00
Sameh Khamis
5ae22ac333
fix(awareness): wrap north-bound bearings ( #1390 )
...
Wrap awareness bearing and course labels at north and register the formatting helper in package boundaries.
Contribution by @rudycelekli.
2026-10-25 16:21:50 -07:00
Sameh Khamis
8886e063e6
fix(local-adsb): show a 359.7° track as TRK 0°, not TRK 360° ( #1396 )
...
Wrap rounded local ADS-B track labels at north.
Contribution by @rudycelekli.
2026-10-25 14:14:28 -07:00
Sameh Khamis
405c7f0d20
fix(cockpit): show wind from 359.6° as 0°, not 360° ( #1389 )
...
Wrap rounded cockpit wind direction to zero degrees at north.
Contribution by @rudycelekli.
2026-10-25 12:30:37 -07:00
Sameh Khamis
db74129eb0
fix(draw): show a 999.6 m line as 1.0 km, not 1000 m ( #1388 )
...
Select drawn-line distance units after rounding metres.
Contribution by @rudycelekli.
2026-10-25 12:26:14 -07:00
Sameh Khamis
5b6c52437e
fix(awareness): show a 999.6 m contact as 1.0 km, not 1000 m ( #1387 )
...
Choose awareness distance units after rounding so nearby contacts never display as 1000 metres.
Contribution by @rudycelekli.
2026-10-25 09:07:36 -07:00
Sameh Khamis
81af549ad7
fix(directions): show a 996 m leg as 1.0 km, not 1000 m ( #1386 )
...
Choose route distance units after rounding so near-kilometre legs display in kilometres.
Contribution by @rudycelekli.
2026-10-25 09:01:26 -07:00
Sameh Khamis
3f9b44ecc8
fix(directions): show a 59.6-second leg as 1 min, not 60 s ( #1385 )
...
Choose route duration units after rounding so near-minute legs display as one minute.
Contribution by @rudycelekli.
2026-10-25 08:55:17 -07:00
Sameh Khamis
f6e7f63a63
fix(voice): keep FIRMS and ALPR entity labels English in voice data ( #1207 )
...
Keep FIRMS and ALPR entity data labels in English and localize their presentation.
Contribution by @daikaginza.
2026-10-25 08:21:25 -07:00
Sameh Khamis
abd81155f9
Merge pull request #1379 from bilawalsidhu/perf/aircraft-label-candidates
...
Reduce repeated work in aircraft detection candidates
2026-10-24 23:48:30 -07:00
Sameh Khamis
8dec9eaa10
perf(terrain): evict from the front of the point cache instead of sorting it ( #1326 )
...
Preserve oldest-fetch terrain cache eviction without sorting the full cache on each overflow.
Contribution by @daikaginza.
2026-10-24 23:27:37 -07:00
Sameh Khamis
86d52a0f7a
fix(cyclones): label NHC classification codes by their published meanings ( #1349 )
...
Correct NHC cyclone classification labels and document their published meanings.
Contribution by @rudycelekli.
2026-10-24 23:21:04 -07:00
Sameh Khamis
6b458c897d
Merge pull request #1378 from bilawalsidhu/fix/touch-zoom-aircraft-performance
...
Improve touch zoom and aircraft update performance
2026-10-24 22:55:14 -07:00
Sameh Khamis
a888e0fa22
Merge pull request #1353 from rudycelekli/fix/transit-ninety-second-age
...
Correct the transit report-age label and document its rounding rule.
2026-10-24 22:46:45 -07:00
Sameh Khamis
f2ee3c984f
Merge pull request #1352 from rudycelekli/fix/cockpit-destination-heading
...
Reviewed display correction with its runtime documentation update.
2026-10-24 22:33:05 -07:00
Sameh Khamis
5d23a874b1
Merge pull request #1354 from rudycelekli/fix/firms-frp-ten-megawatts
...
Reviewed display correction with its runtime documentation update.
2026-10-24 22:27:34 -07:00
Sameh Khamis
7a8ba29186
Merge pull request #1351 from rudycelekli/fix/ais-static-keeps-motion
...
fix(ais): keep a tracked vessel's motion when static data arrives
2026-10-24 21:45:40 -07:00
Sameh Khamis
2fc9ca8516
Merge pull request #1350 from rudycelekli/fix/cyclone-movement-knots
...
fix(cyclones): convert NHC movement speed from mph to knots
2026-10-24 21:39:26 -07:00
Sameh Khamis
19ed82af07
Merge branch 'main' into fix/cyclone-movement-knots
2026-10-24 21:33:20 -07:00
Sameh Khamis
88803f16e8
Merge pull request #1303 from quanticsoul4772/upstream/wind-stale
...
fix(tools): flag stale wind forecasts in get_wind
2026-10-24 21:31:01 -07:00
Sameh Khamis
4ba0a1b57f
Merge branch 'main' into upstream/wind-stale
2026-10-24 21:26:18 -07:00
Sameh Khamis
2a48e1d186
Merge pull request #1244 from KnottyDyes/fix/terrain-test-cache-isolation
...
test(terrain): give every terrain-heights proxy in the bounds tests its own cache
2026-10-24 21:26:11 -07:00
Sameh Khamis
aa33bb5ec3
Merge branch 'main' into fix/terrain-test-cache-isolation
2026-10-24 21:20:50 -07:00
Sameh Khamis
8d454bf7f1
fix: improve mobile contact selection and context drawers ( #1338 )
...
Improve coarse-pointer contact selection, reveal tracked aircraft through Contacts, support downward drawer dismissal, and enlarge the mobile logo.
2026-10-23 15:05:23 -07:00
Sameh Khamis
8cdd184a90
feat(street-level): provider exports and a Mapillary Graph endpoint for hosts ( #1324 )
...
* feat(street-level): export the KartaView and Panoramax providers
A host that composes Street Level with its own provider list can already
import the Mapillary and Google Street View providers; KartaView and Panoramax
were reachable only through the default list, which needs a Mapillary source.
Exporting them lets a host offer the keyless providers without Mapillary.
* chore: changelog entry for the Street Level provider exports
* feat(street-level): send Mapillary Graph lookups to a source endpoint
A Mapillary source can take a graphEndpoint, a Graph API base that adds
the token itself. Its sequence lookups go there through the source's
transport, and the photo viewer uses MapillaryJS's stock GraphDataProvider
at that endpoint, so a host that proxies Mapillary needs no client token in
the page. Without it, behaviour is unchanged: direct Graph API calls with
the client token.
2026-10-23 07:47:57 -07:00
Sameh Khamis
d48b9c4df9
Merge pull request #1325 from bilawalsidhu/feat/phone-drawer
...
feat(ui): phone layout with a bottom tab bar and one panel sheet at a time
2026-10-22 22:26:49 -07:00
Sameh Khamis
224745bd0a
Merge pull request #1321 from bilawalsidhu/chore/dead-code-cleanup
...
chore: remove dead code across the repository
2026-10-22 20:54:09 -07:00
Sameh Khamis
7be5937fc3
Merge pull request #1317 from bilawalsidhu/fix/provider-response-hardening
...
Harden provider response handling and camera source validation
2026-10-21 16:18:50 -07:00
Sameh Khamis
713285b554
Merge pull request #1205 from manjunath22466/fix/cctv-tool-routing
...
fix(voice): report actual cctv toggle results
2026-10-20 10:15:33 -07:00
Sameh Khamis
23feb16b0f
Merge pull request #1235 from manjunath22466/fix/location-resolution
...
fix(analyst): disambiguate region names and retain boundary provenance
2026-10-20 10:05:27 -07:00
Sameh Khamis
93c1f6cd45
Merge pull request #1220 from manjunath22466/codex/openai-typed-send-rejection
...
fix replies after rejected openai typed commands
2026-10-19 14:06:19 -07:00
Sameh Khamis
2f171c7d79
Merge pull request #872 from manjunath22466/feat/gemini-voice
...
add Gemini Live as an alternative voice provider
2026-10-19 13:10:47 -07:00
Sameh Khamis
dd079db9b3
Merge pull request #1101 from VG31OP/fix/tle-catalog-matching
...
fix(satellites): reject TLE pairs with mismatched catalog numbers (#906 , #936 )
2026-10-17 14:00:30 -07:00
Sameh Khamis
84da1b9606
Merge pull request #287 from onionviolet/codex/shared-geodesy
...
refactor(geo): share great-circle distance utility
2026-10-17 13:44:03 -07:00
Sameh Khamis
5ce56bddd4
Merge pull request #767 from hneogy/fix/alpha5-norad-id
...
fix(satellites): decode Alpha-5 catalog numbers in the layer and the satellite tools
2026-10-17 13:31:26 -07:00
Sameh Khamis
200a83465b
Merge pull request #839 from dajiaohuang/docs/fix-adsbdb-cache-ttl
...
docs: correct ADSBDB cache TTL note
2026-10-17 12:07:42 -07:00
Sameh Khamis
710f2e9710
Merge pull request #1196 from HyperionBurn/docs/qa-gate-npm-alias-list
...
docs: list every npm alias for the qa gates
2026-10-17 12:02:40 -07:00
Sameh Khamis
1df2a272cf
Merge pull request #1111 from Rohilalala/fix/map-fallback-retry
...
fix(maps): retry the real imagery and terrain provider after a fallback
2026-10-16 17:16:52 -07:00
Sameh Khamis
cc84ab11b1
Merge pull request #1071 from cj-vana/feature/geo-uri-search
...
feat(search): resolve two-dimensional geo URIs offline
2026-10-16 17:10:53 -07:00
Sameh Khamis
79176667b0
Merge pull request #973 from Sunil56224972/fix/tomtom-cross-site-gate
...
fix(traffic): refuse cross-site requests before they spend the TomTom budget
2026-10-16 17:01:31 -07:00
Sameh Khamis
e15b169e3d
Merge pull request #1135 from djabhi31/fix/director-scene-results-971
...
fix(director): keep scene results and save status accurate (#971 )
2026-10-16 16:10:16 -07:00
Sameh Khamis
9898058fa5
Merge pull request #1142 from ariannamethod/codex/fix-antimeridian-polygon-containment
...
fix(perimeters): handle antimeridian queries and incident card anchors
2026-10-16 16:04:17 -07:00
Sameh Khamis
2189e9c512
Merge pull request #1136 from djabhi31/test/rocket-launches-edge-cases
...
test(launches): add finiteCoordinate and stage normalization edge-case coverage (#938 )
2026-10-16 15:58:26 -07:00
Sameh Khamis
5a79a4d246
Merge pull request #1173 from Rohilalala/fix/geo-distance-dateline
...
fix(geo): wrap longitude differences across the antimeridian
2026-10-16 15:46:27 -07:00
Sameh Khamis
bd4f5a6af9
Merge pull request #1172 from omerbberk/fix/cctv-missing-numbers
...
fix(cctv): keep missing numbers unknown instead of reading them as zero
2026-10-16 15:40:39 -07:00
Sameh Khamis
ec7823daad
Merge pull request #1171 from Rohilalala/fix/director-goto-shot
...
fix(director): land on the requested shot
2026-10-16 14:59:40 -07:00
Sameh Khamis
e5ee6696b1
Merge pull request #1097 from Rohilalala/fix/overpass-failure-phrases-in-data
...
fix(overpass): read failure phrases from the remark, not element tags
2026-10-16 14:48:24 -07:00
Sameh Khamis
bb00a13b03
Merge pull request #1096 from Rohilalala/fix/military-sticky-track
...
fix(military): hold the last track and speed when a poll omits them
2026-10-16 14:43:59 -07:00
Sameh Khamis
e2274bbf0c
Merge pull request #634 from cliph/feat/transit-ontario
...
Add nine Ontario transit feeds, with per-feed mode and route naming
2026-10-15 19:19:49 -07:00
Sameh Khamis
978b8e9c88
Merge pull request #452 from ch-bas/feat/cctv-model-spec-enrichment
...
feat(cctv): enrich identified cameras with datasheet FOV + specs
2026-10-15 19:14:04 -07:00
Sameh Khamis
ec844c2ca2
Merge pull request #359 from MiguelGFerreira/feat/brazil-gbfs-cities
...
feat: add seven Brazilian Bike Itaú cities to the GBFS bikeshare layer
2026-10-15 19:08:49 -07:00
Sameh Khamis
f91dfc4b8f
Merge pull request #636 from cliph/feat/webapp-icons
...
feat: ship a web app manifest and home-screen icons
2026-10-15 19:03:40 -07:00
Sameh Khamis
8202230683
Merge pull request #644 from ch-bas/feat/wsdot-camera-pack
...
feat(cctv): WSDOT highway camera source pack (Washington State)
2026-10-15 16:21:45 -07:00
Sameh Khamis
ffc6e0f84f
Merge pull request #595 from ulihhhh/feature/catalonia-cctv-cameras
...
feat(cctv): add the Open Catalonia camera pack
2026-10-15 16:16:42 -07:00
Sameh Khamis
584a95fbec
Merge pull request #607 from Reloded/feat/lithuania-cctv
...
feat(cctv): add Lithuania Eismoinfo road cameras
2026-10-15 16:10:15 -07:00
Sameh Khamis
28501ddee3
Merge pull request #645 from ch-bas/feat/king-county-camera-pack
...
feat(cctv): King County road camera source pack (Washington State)
2026-10-15 16:03:02 -07:00
Sameh Khamis
4deafbb589
Merge pull request #640 from cliph/feat/cctv-toronto
...
feat(cctv): add the City of Toronto RESCU camera pack
2026-10-15 15:55:44 -07:00
Sameh Khamis
79b9de07d8
Merge pull request #208 from SM-26/docker-support
...
feat: add a Docker install path
2026-10-15 14:10:36 -07:00
Sameh Khamis
a5a361f79e
Merge pull request #568 from rileygramlich/feat/aqhi
...
feat(air-quality): add the Air quality layer to the Weather group
2026-10-15 13:59:17 -07:00
Sameh Khamis
c6f92da962
Merge pull request #641 from cliph/feat/bikeshare-toronto-and-failure-fix
...
feat(bikeshare): add Bike Share Toronto, and fix the layer-wide failure it exposes
2026-10-15 13:47:08 -07:00
Sameh Khamis
1710c83463
Merge pull request #581 from Mikejr314159/fix/cap-remaining-upstream-reads
...
fix(providers): bound the remaining upstream body reads
2026-10-15 13:34:45 -07:00
Sameh Khamis
614b207c32
Merge pull request #937 from daikaginza/fix/overpass-cache-tracks-upstream
...
fix(overpass): do not serve cached answers from a different upstream (#932 )
2026-10-15 11:10:36 -07:00
Sameh Khamis
37dfb79e32
Merge pull request #1082 from jeffblakely/feat/bikeshare-detroit-mogo
...
feat(bikeshare): add Detroit, Pittsburgh, Aspen and Kona & Hilo
2026-10-15 10:59:50 -07: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
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
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
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
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
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
Sameh Khamis
0265ad4c19
Merge pull request #1030 from rudycelekli/contrib/gods-009-route-cap-truthfulness-20261011-reviewed
...
fix(directions): report truncation only when a maneuver was actually omitted
2026-10-14 17:03:41 -07:00
Sameh Khamis
81cf437ee5
Merge pull request #1027 from rudycelekli/contrib/gods-006-weather-missing-observations-20261011-reviewed
...
fix(weather): keep absent observations unknown instead of reporting clear skies
2026-10-14 16:14:00 -07:00
Sameh Khamis
58f4a71f22
Merge pull request #1026 from rudycelekli/contrib/gods-005-tool-schema-codepoints-20261011-reviewed
...
fix(tools): enforce string schema lengths by Unicode code point
2026-10-14 16:03:36 -07:00
Sameh Khamis
1d9d7c71d5
Merge pull request #1023 from rudycelekli/contrib/gods-002-director-dateline-seek-20261011-reviewed
...
fix(director): seek camera longitude across the shortest dateline arc
2026-10-14 15:48:41 -07:00
Sameh Khamis
6a1432d3c0
Merge pull request #917 from kvnloo/fix/recent-imagery-qa-relative-layout-20261003
...
test: make Recent Imagery live gate rail-reflow safe
2026-10-14 14:40:05 -07:00
Sameh Khamis
7725a8fafb
Merge pull request #1062 from quanticsoul4772/fix/qa-stale-mutation-anchors
...
fix(qa): repoint stale mutation anchors after the September refactors
2026-10-14 14:28:52 -07:00
Sameh Khamis
22241550ae
Merge pull request #789 from kvnloo/docs/pinokio-browser-performance
...
docs(pinokio): distinguish embedded-browser stutter from hardware limits
2026-10-14 12:43:56 -07:00
Sameh Khamis
a190b6024f
Merge pull request #772 from daikaginza/docs/voice-backend-contract
...
docs: add the realtime backend to the voice ownership table
2026-10-14 12:33:39 -07:00
Sameh Khamis
eae16e08fb
Merge pull request #792 from daikaginza/fix/unit-runner-discovers-server-tests
...
fix(build): discover unit tests under server/, not only src/
2026-10-14 12:12:03 -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
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
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
Sameh Khamis
591f299d11
Merge pull request #986 from bilawalsidhu/fix/healthy-empty-vessel-coverage
...
Handle healthy empty vessel coverage without an outage
2026-10-09 20:59:43 -07:00
Sameh Khamis
89e566aa9b
Merge pull request #985 from bilawalsidhu/fix/street-level-provider-sharing
...
Preserve custom Street Level provider switches in shared state
2026-10-09 20:03:02 -07:00
Sameh Khamis
7ed47a2b79
Merge branch 'main' into fix/street-level-provider-sharing
2026-10-09 19:56:27 -07:00
Sameh Khamis
90a1442c9c
Merge pull request #984 from bilawalsidhu/refactor/route-imagery-sources
...
Separate Directions and Recent Imagery acquisition sources
2026-10-09 19:56:17 -07:00
Sameh Khamis
7acf55e187
Merge branch 'main' into refactor/route-imagery-sources
2026-10-09 19:47:09 -07:00
Sameh Khamis
2fe70f63f8
Merge pull request #983 from bilawalsidhu/feat/optional-catalog-sources
...
Make catalog feeds optional and configurable at startup
2026-10-09 19:47:03 -07:00
Sameh Khamis
f289a1ce03
Merge branch 'main' into feat/optional-catalog-sources
2026-10-09 19:37:39 -07:00
Sameh Khamis
e626137a7a
Merge pull request #982 from bilawalsidhu/fix/optional-street-level-providers
...
Fix startup with optional Street Level providers
2026-10-09 19:37:14 -07:00
Sameh Khamis and SmokeDev
6be25595b1
Merge pull request #621 from devv-shayan/codex/chatgpt-realtime-oauth
...
feat(voice): add optional ChatGPT OAuth for Realtime voice
Builds on the credential handling from #653 .
Co-authored-by: SmokeDev <[email protected] >
2026-10-08 11:31:48 -07:00
Sameh Khamis
06b5ac7d12
Merge pull request #935 from daikaginza/fix/tile-origin-follows-tilejson
...
fix(tiles): derive the tile origin from the configured TileJSON (#933 )
2026-10-08 10:52:10 -07:00
Sameh Khamis
95fa816232
Merge pull request #958 from jibraaan/fix/mcp-shared-panel-key
...
fix(mcp): share one panel key across an install's stdio servers
2026-10-07 15:34:17 -07:00
Sameh Khamis
6423d60d0b
Merge pull request #934 from xiehuanyi/docs/mcp-default-port
...
docs(mcp): align client setup with the default app port
2026-10-07 15:21:56 -07:00
Sameh Khamis
208814a094
Merge pull request #837 from bilawalsidhu/feat/voice-core
...
feat(voice): voice core — honest layer reach, spoken summary with on-screen card, narration, point-and-ask
2026-10-07 14:35:27 -07:00
Sameh Khamis
b461ca1eeb
Merge pull request #961 from bilawalsidhu/docs/community-pr-review-guidance
...
docs: clarify risk-based community PR review
2026-10-07 11:27:54 -07:00
Sameh Khamis
e685449a52
Merge pull request #952 from bilawalsidhu/fix/live-aircraft-initial-floor
...
fix: start a new grounded aircraft on the floor under its delayed position
2026-10-06 13:46:35 -07:00
Sameh Khamis
bd7a9f7186
Merge pull request #951 from bilawalsidhu/fix/live-aircraft-initial-position
...
fix: start new live aircraft at their delayed display position
2026-10-06 13:28:22 -07:00