docs: close BUG-13, update PLAN.md Phase 26 (13 bugs resolved)
- BUG-13 moved from Open to Resolved with fix summary - PLAN.md Phase 26: 12 → 13 bugs, added BUG-13 entry - deploy memory: Unraid SSH deploy key + updated rebuild command
This commit is contained in:
@@ -8,31 +8,24 @@ When CLOSED, move the entire entry to Resolved — don't duplicate.
|
||||
|
||||
## Open bugs
|
||||
|
||||
### BUG-13 — Server Web UI shows raw coordinates instead of geocoded location on trips
|
||||
- **Status**: `IN PROGRESS`
|
||||
- **Reported**: 2026-08-12
|
||||
- **Affected trips**: 18517, 18516 (and possibly others)
|
||||
- **Symptom**: The trip detail/replay page shows raw (x, y) coordinates instead of
|
||||
reverse-geocoded location names (street/city/address).
|
||||
- **Root cause**: Server `_geocode_cached()` returned `None` when both Nominatim and
|
||||
reverse_geocoder failed to produce a label. The `/api/geocode` endpoint then returned
|
||||
HTTP 204 with no body. The frontend JS treated 204 as success, called `r.json()` on
|
||||
empty body → threw → showed raw-coordinate fallback. The Pi version always returned
|
||||
a label string (with coordinate fallback) and never 204.
|
||||
- **Fix**:
|
||||
- Server `_geocode_cached()` now always returns a non-empty string — coordinate
|
||||
fallback (`lat, lon`) when both geocoders fail, matching Pi behavior.
|
||||
- Server `/api/geocode` always returns HTTP 200 with `{label: "..."}` (never 204).
|
||||
- Server `/api/geocode/batch` always includes every coord key in the result dict.
|
||||
- Server Nominatim call now uses `jsonv2` + `accept-language=en` (aligned with Pi).
|
||||
- Server reverse_geocoder now uses `mode=1` (aligned with Pi).
|
||||
- Pi `_geocode_cached()` now checks for empty reverse_geocoder label before
|
||||
returning (same guard the server has), falling through to coordinate string.
|
||||
(No open bugs)
|
||||
|
||||
---
|
||||
|
||||
## Resolved
|
||||
|
||||
### BUG-13 — Server Web UI shows raw coordinates instead of geocoded location on trips
|
||||
- **Status**: `CLOSED` 2026-08-12
|
||||
- **Commit**: `8309819`
|
||||
- **Fix**: Server `_geocode_cached()` now always returns a non-empty string with
|
||||
coordinate fallback when Nominatim/reverse_geocoder fail. `/api/geocode` always
|
||||
returns HTTP 200 with `{label}` (never 204). Batch endpoint includes all keys.
|
||||
Nominatim params + reverse_geocoder mode aligned with Pi. Pi also hardened against
|
||||
empty reverse_geocoder label.
|
||||
- **Verification**: Deployed to Unraid (Docker rebuild) and Pi (git pull + restart).
|
||||
Both healthy. Unraid now uses SSH deploy key for git fetch (was failing on HTTPS auth).
|
||||
|
||||
|
||||
### BUG-01 — WiFi/hotspot unreachable from phone while cell data is on
|
||||
- **Status**: `CLOSED` 2026-08-11
|
||||
- **Fix**: Dual-radio — wlan0="yaris 911" at 10.42.0.1 (password "yaris911!"),
|
||||
|
||||
@@ -1872,10 +1872,11 @@ phase roadmap.
|
||||
|
||||
---
|
||||
|
||||
### Phase 26: Road-test bug fixes — ✅ DONE
|
||||
**Completed 2026-08-11.** Targeted bug-fix pass for 12 defects surfaced by the Phase 25
|
||||
in-car road test. Every item tracked in [BUGS.md](./BUGS.md), fixed, deployed, and verified
|
||||
by owner. BUGS.md Open section is now empty — all 12 bugs in Resolved.
|
||||
### Phase 26: Road-test bug fixes — ✅ DONE (13 bugs resolved)
|
||||
**Completed 2026-08-11; BUG-13 resolved 2026-08-12.** Targeted bug-fix pass for 13 defects
|
||||
surfaced by the Phase 25 in-car road test and follow-up. Every item tracked in
|
||||
[BUGS.md](./BUGS.md), fixed, deployed, and verified by owner. BUGS.md Open section is
|
||||
now empty — all 13 bugs in Resolved.
|
||||
|
||||
**Implemented and verified 2026-08-11:**
|
||||
|
||||
@@ -1938,10 +1939,17 @@ by owner. BUGS.md Open section is now empty — all 12 bugs in Resolved.
|
||||
.toFixed is not a function` — API returns lat/lon as strings, fixed with `Number()` wrapper
|
||||
(`a4a92cc`). Socket `gps_location` event now passes lat/lon to `renderGpsStatus` so both
|
||||
API and Socket paths display coordinates correctly.
|
||||
- **BUG-13 — Server Web UI shows raw coords instead of geocoded location** (`8309819`,
|
||||
2026-08-12): Server `_geocode_cached()` returned `None` → `/api/geocode` returned HTTP 204
|
||||
with no body. Frontend JS couldn't parse 204 → showed raw (x,y) fallback. Fixed by always
|
||||
returning `{label}` with coordinate-string last-resort fallback (matching Pi behavior),
|
||||
aligning Nominatim params (`jsonv2`, `accept-language=en`) and reverse_geocoder `mode=1`
|
||||
between server and Pi. Also hardened Pi against empty reverse_geocoder label.
|
||||
|
||||
**Result**: All 12 bugs closed. Pi runs at full 1.2 GHz with clean power. GPS has fix. Dual-radio
|
||||
**Result**: All 13 bugs closed. Pi runs at full 1.2 GHz with clean power. GPS has fix. Dual-radio
|
||||
AP stays up regardless of uplink state. Server trip times are correct. Dashboard and Status page
|
||||
agree on OBD and GPS state. BUGS.md Open section is empty. readme.md project status updated.
|
||||
agree on OBD and GPS state. Server geocode always returns a label. Unraid now uses SSH deploy key
|
||||
for git operations. BUGS.md Open section is empty. readme.md project status updated.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user