docs: close BUG-16 (fixed + verified), update Phase 29 status
This commit is contained in:
@@ -23,16 +23,6 @@ When CLOSED, move the entire entry to Resolved — don't duplicate.
|
||||
- **Pi-side hardening shipped 2026-08-12**: `phone-hotspot` now forces public DNS
|
||||
(`8.8.8.8`/`1.1.1.1`) and the Settings page surfaces the correct URL per uplink mode.
|
||||
|
||||
### BUG-16 — Trip missing from Pi local history (present on server)
|
||||
- **Status**: `OPEN` 2026-08-13
|
||||
- **Phase**: 29
|
||||
- **Symptom**: a drive produced a trip on the server portal but not in the Pi's local
|
||||
trip history.
|
||||
- **Hypothesis**: the Pi's trip builder suppresses trips until the car ECU has been
|
||||
reached once (`was_car_ever_connected`), so a mid-drive reboot with a slow/failed OBD
|
||||
reconnect can skip local trip building — while the raw rows still upload and the server
|
||||
(no such guard) builds the trip. Investigate against the raw `tracking` rows for that drive.
|
||||
|
||||
### BUG-17 — Server trip timestamps wrong after an offline period
|
||||
- **Status**: `OPEN` 2026-08-13
|
||||
- **Phase**: 29
|
||||
@@ -56,6 +46,24 @@ When CLOSED, move the entire entry to Resolved — don't duplicate.
|
||||
|
||||
## Resolved
|
||||
|
||||
### BUG-16 — Trip missing from Pi local history (present on server)
|
||||
- **Status**: `CLOSED` 2026-08-13
|
||||
- **Commits**: `e5ac14e`, `f5f20c3`
|
||||
- **Fix**: two root causes:
|
||||
1. `connect_obd()` set `_car_ever_connected` **without a `global` declaration**, so the
|
||||
module-level flag was never set and `was_car_ever_connected()` always returned `False` —
|
||||
local trip building had been silently blocked ever since BUG-10 landed. Added the `global`
|
||||
declaration and now persist the flag to the settings table (`car_ever_connected`) so it
|
||||
survives reboots.
|
||||
2. Speed-only rows (NULL GPS, from FEAT-12) made trips start/end with NULL coordinates,
|
||||
violating the `trips.*GPSX NOT NULL` constraint. The trip builder now uses the first/last
|
||||
GPS-bearing row for start/end coordinates, and skips a trip that never got any fix.
|
||||
- **Verification**: backfilled the persisted flag on the Pi (the car has been connected
|
||||
before), triggered a rebuild — the local `trips` table now contains the 2026-08-13 drive
|
||||
(e.g. a 48.5 km trip) plus several earlier trips that had been silently dropped.
|
||||
`trip_build_state` advanced to LAST_TRACKING_ID=7009. Timestamps for the 08-13 data are
|
||||
still wrong — that's BUG-17 (no RTC).
|
||||
|
||||
### BUG-13 — Server Web UI shows raw coordinates instead of geocoded location on trips
|
||||
- **Status**: `CLOSED` 2026-08-12
|
||||
- **Commit**: `8309819`
|
||||
|
||||
@@ -2267,8 +2267,16 @@ The app reuses the existing Pi REST API surface with no changes:
|
||||
**Owner completed a second road test on 2026-08-13.** Issues found during the drive are
|
||||
logged as `BUG-XX` entries in [BUGS.md](./BUGS.md) (BUG-16 onward) and fixed + verified here.
|
||||
|
||||
- **BUG-16 (trip missing from Pi local history) — ✅ FIXED**: `connect_obd()` set
|
||||
`_car_ever_connected` without a `global` declaration, so the module-level flag was never
|
||||
set and local trip building was silently blocked since BUG-10. The flag is now persisted
|
||||
across reboots; also fixed a NULL-GPS speed-only row crash in the trip builder. Verified the
|
||||
2026-08-13 drive now appears locally.
|
||||
- **BUG-17 (trip timestamps wrong) — OPEN**: no RTC → clock drifts without internet.
|
||||
- **BUG-18 (no RTC) — OPEN**: add a battery-backed RTC (DS3231) / GNSS time source.
|
||||
|
||||
Open items from the drive — fill in as reported:
|
||||
- (none yet)
|
||||
- BUG-17 / BUG-18 (clock) pending.
|
||||
|
||||
## Working Notes / Environment Gotchas
|
||||
|
||||
|
||||
Reference in New Issue
Block a user