docs: add BUG-14 (Nominatim slowness), update PLAN.md Phase 26 (14 bugs)
- BUG-14: Nominatim replaced with offline reverse_geocoder — instant, no network - PLAN.md Phase 26: 13 → 14 bugs resolved, updated result summary
This commit is contained in:
@@ -25,6 +25,18 @@ When CLOSED, move the entire entry to Resolved — don't duplicate.
|
|||||||
- **Verification**: Deployed to Unraid (Docker rebuild) and Pi (git pull + restart).
|
- **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).
|
Both healthy. Unraid now uses SSH deploy key for git fetch (was failing on HTTPS auth).
|
||||||
|
|
||||||
|
### BUG-14 — Geocode slow/unreliable — location labels fail to load during scrubbing
|
||||||
|
- **Status**: `CLOSED` 2026-08-12
|
||||||
|
- **Commit**: `0ddfe39`
|
||||||
|
- **Fix**: Ditched Nominatim entirely — it was slow (1 req/sec rate limit, ~4s
|
||||||
|
timeouts) and often blocked/throttled from Docker/Cloudflare IPs. Replaced with
|
||||||
|
reverse_geocoder exclusively: an offline Python library that maps lat/lon →
|
||||||
|
city/province instantly with no network. JS `preload()` switched from N individual
|
||||||
|
GET requests to single `POST /api/geocode/batch`. Server batch endpoint simplified
|
||||||
|
to sequential loop with lru_cache + dedup.
|
||||||
|
- **Verification**: `POST /api/geocode/batch` returns `{"Montreal, Quebec",
|
||||||
|
"Longueuil, Quebec"}` instantly on Pi. Server Docker rebuilt and healthy.
|
||||||
|
|
||||||
|
|
||||||
### BUG-01 — WiFi/hotspot unreachable from phone while cell data is on
|
### BUG-01 — WiFi/hotspot unreachable from phone while cell data is on
|
||||||
- **Status**: `CLOSED` 2026-08-11
|
- **Status**: `CLOSED` 2026-08-11
|
||||||
|
|||||||
@@ -1945,11 +1945,16 @@ now empty — all 13 bugs in Resolved.
|
|||||||
returning `{label}` with coordinate-string last-resort fallback (matching Pi behavior),
|
returning `{label}` with coordinate-string last-resort fallback (matching Pi behavior),
|
||||||
aligning Nominatim params (`jsonv2`, `accept-language=en`) and reverse_geocoder `mode=1`
|
aligning Nominatim params (`jsonv2`, `accept-language=en`) and reverse_geocoder `mode=1`
|
||||||
between server and Pi. Also hardened Pi against empty reverse_geocoder label.
|
between server and Pi. Also hardened Pi against empty reverse_geocoder label.
|
||||||
|
- **BUG-14 — Geocode slow/unreliable during trip scrubbing** (`0ddfe39`, 2026-08-12):
|
||||||
|
Nominatim was the root bottleneck — 1 req/sec rate limit, ~4s timeouts, often blocked
|
||||||
|
from Docker/Cloudflare IPs. Replaced entirely with reverse_geocoder (offline Python lib,
|
||||||
|
instant city/province lookup). JS `preload()` switched from N individual GETs to single
|
||||||
|
`POST /api/geocode/batch`. Geocoding is now instant, zero network, always works.
|
||||||
|
|
||||||
**Result**: All 13 bugs closed. Pi runs at full 1.2 GHz with clean power. GPS has fix. Dual-radio
|
**Result**: All 14 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
|
AP stays up regardless of uplink state. Server trip times are correct. Dashboard and Status page
|
||||||
agree on OBD and GPS state. Server geocode always returns a label. Unraid now uses SSH deploy key
|
agree on OBD and GPS state. Geocode is instant and always works (offline reverse_geocoder).
|
||||||
for git operations. BUGS.md Open section is empty. readme.md project status updated.
|
Unraid now uses SSH deploy key for git operations. BUGS.md Open section is empty.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user