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:
Mathieu Moran
2026-08-12 03:08:57 -04:00
parent 830981934f
commit ad10a873b4
2 changed files with 27 additions and 26 deletions
+13 -20
View File
@@ -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!"),