Mathieu Moran
2ee4862edd
Remove checkbox column and batch-delete from trip history
2026-08-11 15:05:40 -04:00
Mathieu Moran
23ac6c218b
feat: add trip ID column ( #18517 ) to history table on Pi and server
2026-08-11 14:58:25 -04:00
Mathieu Moran
f6a50b6bc1
docs: BUG-06 closed — migration shifted 3593 rows +4h EDT, recomputed 43 trips, times now correct
2026-08-11 14:53:18 -04:00
Mathieu Moran
7ce2a1e5f5
fix: BUG-06 — convert naive Pi timestamps to TZ-aware before upload so Postgres TIMESTAMPTZ stores correct instant
2026-08-11 14:47:37 -04:00
Mathieu Moran
9733036510
fix: BUG-11 — Dashboard GPS now shows lat/lon from API when stale, Status page uses same 30s staleness threshold
2026-08-11 14:36:58 -04:00
Mathieu Moran
7a6de8b589
docs: BUG-07 closed — history.js rewrite verified on Pi and server
2026-08-11 14:33:38 -04:00
Mathieu Moran
fa93384a8e
Rewrite history.js: loading spinner, active-row highlight, unified state, 300ms debounce, signal guards throughout trip loader
2026-08-11 05:37:15 -04:00
Mathieu Moran
3d6955f20f
fix(phase26): fix broken click handler, remove replay button, row click only
2026-08-11 05:11:09 -04:00
Mathieu Moran
90edc73735
fix(phase26): debounce trip clicks, guard against stale renders
2026-08-11 05:07:35 -04:00
Mathieu Moran
cdb3fc19c7
fix(phase26): abort preload fetches when switching trips to prevent server freeze
2026-08-11 05:01:18 -04:00
Mathieu Moran
ad56380e23
fix(phase26): revert batch geocode, use rate-limited concurrent requests to avoid server freeze
2026-08-11 04:57:44 -04:00
Mathieu Moran
5018c6c531
fix(phase26): batch geocode endpoint for faster server trip scrubber
2026-08-11 04:44:37 -04:00
Mathieu Moran
bdc7a9afb7
fix(phase26): server trip delete persists across recompute + batch delete with checkboxes
2026-08-11 04:18:58 -04:00
Mathieu Moran
e6bc488e84
docs: update Phase 26 with dual-radio + trip fix details
2026-08-11 03:57:06 -04:00
Mathieu Moran
cf096744d1
fix(phase26): BUG-10 side effect — preserve trips when OBD never connected
2026-08-11 03:56:00 -04:00
Mathieu Moran
ae7f6358b2
docs: update BUG-01 dual-radio fix status
2026-08-11 03:46:18 -04:00
Mathieu Moran
592e049f59
fix(phase26): dual-radio — wlan0 permanent AP, wlan1 internet uplink (BUG-01)
2026-08-11 03:44:01 -04:00
Mathieu Moran
89bbc4fdb8
fix(phase26): skip netwatch AP scan when clients connected (BUG-01)
2026-08-11 03:11:13 -04:00
Mathieu Moran
f9d967e71c
docs: update Phase 26 bug count in PLAN.md
2026-08-11 03:02:02 -04:00
Mathieu Moran
e83e5eaa7c
docs: tighten features list in readme
2026-08-11 03:00:35 -04:00
Mathieu Moran
6355869a8d
docs: fix bug count in readme project status
2026-08-11 02:58:01 -04:00
Mathieu Moran
f7d305a036
docs: update Phase 26, simplify readme project status, de-emoji
2026-08-11 02:57:01 -04:00
Mathieu Moran
1487fd3478
docs: bold feature names, clean up readme
2026-08-11 02:55:27 -04:00
Mathieu Moran
e733ab1ac1
docs: update Phase 26 progress, de-emoji readme, refresh status
2026-08-11 02:50:57 -04:00
Mathieu Moran
936064e963
docs: move BUG-09/10 from Open to Resolved
2026-08-11 02:47:26 -04:00
Mathieu Moran
7beb882136
docs: restructure BUGS.md, close BUG-09/10 (already deployed)
2026-08-11 02:45:40 -04:00
Mathieu Moran
5a3be5347a
docs: close BUG-09/10, update resolved section
2026-08-11 02:41:12 -04:00
Mathieu Moran
7e913558f6
fix(phase26): geocode pre-caching (BUG-09) + gate trips on OBD presence (BUG-10)
2026-08-11 02:38:00 -04:00
Mathieu Moran
a709517973
docs: close BUG-04 server trip merge (verified in prod)
2026-08-11 02:31:13 -04:00
Mathieu Moran
96fb8971eb
fix(phase26): server trip detection mirrors Pi motion-aware logic (BUG-04)
2026-08-11 02:27:17 -04:00
Mathieu Moran
447d73bbe5
fix(phase26): close BUG-08 Pi trip deletion (verified in prod)
2026-08-11 02:12:40 -04:00
Mathieu Moran
c5c478bef6
fix(phase26): add Pi trip deletion (BUG-08)
2026-08-11 02:07:59 -04:00
Mathieu Moran
786d5b8f3e
docs: close BUG-03/05, add Phase 27 features + renumber Android to Phase 28
2026-08-11 02:04:55 -04:00
Mathieu Moran
aa1f247d80
docs(bugs): record Phase 26 deploy/verify status for BUG-03 and BUG-05
...
Amend the Phase 26 progress note: BUG-03 was deployed to the Pi (pulled to
4f975ad , service active, /api/health ok) and real in-car behavior verification
is still pending; BUG-05 is code-ready but the unraid/server side is not yet
deployed (needs docker compose build api && docker compose up -d api).
2026-08-11 01:23:39 -04:00
Mathieu Moran
4f975ad079
docs(bugs): mark BUG-03 and BUG-05 FIXED ( e2f2314) + update PLAN Phase 26
...
BUGS.md: BUG-03 and BUG-05 status -> FIXED with commit ref and fix summary.
PLAN.md: Phase 26 items 3 and 5 marked FIXED; add progress note.
2026-08-11 00:48:05 -04:00
Mathieu Moran
e2f2314318
fix(phase26): persist DTC/MIL state + server speed_source (BUG-03, BUG-05)
...
BUG-03: DTC/MIL codes were never persisted; lost on OBD disconnect or reboot.
- Add new dtc table schema (code, description, MIL, first/last seen, IS_SET)
and a migration that rebuilds the original unused NAME/STATUS/DTC_ID table.
- Persist MIL + codes to SQLite on each successful OBD poll (_persist_dtc_state).
- /api/dtc falls back to the last-persisted snapshot when OBD is offline/stale.
- Fix get_overview_stats to count the real dtc table (was querying non-existent
dtc_codes table).
- Add cleared/since tracking via IS_SET + FIRST_SEEN_AT/LAST_SEEN_AT.
BUG-05: server trip replay hardcoded speed_source:'gps'; mirror Pi's
'obd if speed>0 else gps' logic in server get_trip_route.
Adds tests/test_dtc_persistence.py (7 tests).
2026-08-11 00:38:05 -04:00
Mathieu Moran
cd0583ac84
docs: add FEAT-04 4G LTE modem (Huawei E3372h-153) to replace SIM868 2G hat
2026-08-11 00:03:15 -04:00
Mathieu Moran
bd43003a7e
docs: rename features.md to FEATURES.md (all caps)
2026-08-10 23:46:43 -04:00
Mathieu Moran
ef3a9510ab
docs: add features.md tracker with odometer-fallback idea
2026-08-10 23:45:52 -04:00
Mathieu Moran
3e626830d5
docs: sign off Phase 25 road test, add BUGS.md, renumber Android to Phase 27
2026-08-10 23:42:39 -04:00
Mathieu Moran and Copilot
d216aac97e
Refresh docs and reorder roadmap
...
Co-authored-by: Copilot <[email protected] >
2026-08-10 18:48:59 -04:00
Mathieu Moran and Copilot
457e3dcc08
Record dashboard card order swap
...
Co-authored-by: Copilot <[email protected] >
2026-08-10 18:43:46 -04:00
Mathieu Moran and Copilot
b815e0aaaa
Swap dashboard map and overview
...
Co-authored-by: Copilot <[email protected] >
2026-08-10 18:43:01 -04:00
Mathieu Moran and Copilot
6ee6215662
Record status action verification
...
Co-authored-by: Copilot <[email protected] >
2026-08-10 18:41:34 -04:00
Mathieu Moran and Copilot
8907c51016
Add status page quick actions
...
Co-authored-by: Copilot <[email protected] >
2026-08-10 18:40:22 -04:00
Mathieu Moran and Copilot
ef38ec92b4
Record status page verification
...
Co-authored-by: Copilot <[email protected] >
2026-08-10 18:38:16 -04:00
Mathieu Moran and Copilot
5406935bf5
Add Pi status page
...
Co-authored-by: Copilot <[email protected] >
2026-08-10 18:37:26 -04:00
Mathieu Moran and Copilot
a7302229d1
Tighten Pi dashboard layout
...
Co-authored-by: Copilot <[email protected] >
2026-08-10 18:25:30 -04:00
Mathieu Moran and Copilot
f6de658a88
docs: record live Pi GPS status check
...
- note that GPS thread is alive on the Pi but has no current fix
- clarify that missing live updates are currently due to absent GNSS fix data
Co-authored-by: Copilot <[email protected] >
2026-08-10 18:18:50 -04:00
Mathieu Moran and Copilot
be40bbc15f
feat: add GPS status endpoint and dashboard indicator
...
- add /api/gps/status for thread/fix-age visibility
- surface GPS status in Pi health and live GPS cards
- add tests for app_gps status snapshots
Co-authored-by: Copilot <[email protected] >
2026-08-10 18:18:14 -04:00