mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-05 10:53:59 +00:00
fix: sanitize proxy error payloads, loopback dev-cctv, drop doc drift
Four small, independently-verified issues from the audit backlog: - #262/#263: the celestrak, terrain-heights, adsbdb and launch-library proxies put raw `err.message` / raw upstream error bodies into HTTP responses, contradicting the sanitized-error property KNOWN-ISSUES.md documents. They now log the real error server-side (matching the GBFS and CCTV proxy convention) and return a generic message. - #265: scripts/dev-cctv.sh defaulted to HOST=0.0.0.0 while dev-fresh.sh and dev-secure.sh default to loopback. Now loopback, opt in with HOST=0.0.0.0. - #274: naturalEarthRegions.js's internal haversineKm took (lon, lat, lon, lat) while every other haversineKm in src/ takes (lat, lon, lat, lon). Same name, same signature shape, opposite order — a silent wrong-distance landmine. Reordered to match; the one call site was updated, so behavior is unchanged. - #270: removed CCTV_AUTO_CALIBRATE and CCTV_DRAPE_MESH from .env.example; no code anywhere reads them. Not done: deduplicating the ~10 haversine implementations into one shared utility. That is issue #188's scope and a far larger diff; removing the argument-order landmine is what makes the current state safe. Verified: npm test (2705 pass / 0 fail), npm run build green. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> Claude-Session: https://claude.ai/code/session_01C3eGYgDYBo2BCUeDGwGvrp
This commit is contained in:
1 parent
ea344c952f
commit
0584a1d71d
5 files changed
+24
-9
No files matched your search
@@ -34,7 +34,8 @@ function ringAreaKm2(ring) {
|
||||
return Math.abs((sum * EARTH_RADIUS_KM * EARTH_RADIUS_KM) / 2);
|
||||
}
|
||||
|
||||
function haversineKm(lon1, lat1, lon2, lat2) {
|
||||
/** Great-circle distance in km. Arg order matches every sibling: (lat, lon, lat, lon). */
|
||||
function haversineKm(lat1, lon1, lat2, lon2) {
|
||||
const dLat = toRad(lat2 - lat1);
|
||||
const dLon = toRad(lon2 - lon1);
|
||||
const h = Math.sin(dLat / 2) ** 2
|
||||
@@ -147,7 +148,7 @@ function buildEntries(pack, kind) {
|
||||
polygons,
|
||||
areaKm2,
|
||||
bbox: [minLon, minLat, maxLon, maxLat],
|
||||
bboxDiagonalKm: haversineKm(minLon, minLat, maxLon, maxLat),
|
||||
bboxDiagonalKm: haversineKm(minLat, minLon, maxLat, maxLon),
|
||||
});
|
||||
}
|
||||
return out;
|
||||
|
||||
Reference in new issue
Block a user