Commit Graph

  • 6ac750f53b fix: hotspot save now restarts AP immediately (down + 1s wait + up) Mathieu Moran 2026-08-12 05:28:28 -04:00
  • a7ea97259d fix: remove trailing comma in hotspot POST — was returning (Response, None) tuple Mathieu Moran 2026-08-12 05:24:02 -04:00
  • 336815b49c feat: Pi hotspot SSID/password configurable from Settings page Mathieu Moran 2026-08-12 05:15:55 -04:00
  • c0aed4a997 fix: dashcam auto-loads + compact card style for both sections Mathieu Moran 2026-08-12 05:10:55 -04:00
  • bc1516257a feat: USB dashcam file browser on Dashcam tab Mathieu Moran 2026-08-12 05:06:39 -04:00
  • ffa84073ea fix: Settings header height matches other tabs + 48dp red underline Mathieu Moran 2026-08-12 04:43:38 -04:00
  • e9309f4cdf style: YARIS logo with red underline + #1c1c1e dark theme Mathieu Moran 2026-08-12 04:36:55 -04:00
  • b69ae3a229 docs: UI branding — dark sidebar + YARIS-OBD Racing Sans One logo Mathieu Moran 2026-08-12 04:33:46 -04:00
  • 2989f60f9c style: minimalist Material icon buttons (download, upload, delete) Mathieu Moran 2026-08-12 04:27:51 -04:00
  • 6b47dafdb8 style: yaris-obd lowercase logo Mathieu Moran 2026-08-12 04:23:42 -04:00
  • bb4ac8c490 feat: Material icons in nav bar + yaris-obd header on all screens Mathieu Moran 2026-08-12 04:20:27 -04:00
  • eab91956c9 fix: ASCII-safe tab icons + yaris-obd branding on Settings Mathieu Moran 2026-08-12 04:18:11 -04:00
  • d613252155 style: dark sidebar + Racing Sans One YARIS wordmark logo Mathieu Moran 2026-08-12 04:15:51 -04:00
  • 67dc9b897e refactor: merge Test tab into Settings, 3 tabs total Mathieu Moran 2026-08-12 04:04:21 -04:00
  • 19942dc114 feat: Phase 28.3 — cellular upload relay + Settings tab Mathieu Moran 2026-08-12 04:00:45 -04:00
  • c8e26dde26 feat: Downloads tab UI polish — deleting spinner, progress redesign Mathieu Moran 2026-08-12 03:46:33 -04:00
  • b523d77e16 feat: cancel button on active downloads Mathieu Moran 2026-08-12 03:35:03 -04:00
  • 78cd05c4cb docs: add BUG-14 (Nominatim slowness), update PLAN.md Phase 26 (14 bugs) Mathieu Moran 2026-08-12 03:31:50 -04:00
  • 0ddfe39901 refactor: ditch Nominatim, use reverse_geocoder exclusively for geocoding Mathieu Moran 2026-08-12 03:27:00 -04:00
  • e60b7d7d36 perf: geocode pipeline — batch POST + parallel server, 200→1 roundtrip Mathieu Moran 2026-08-12 03:15:30 -04:00
  • ad10a873b4 docs: close BUG-13, update PLAN.md Phase 26 (13 bugs resolved) Mathieu Moran 2026-08-12 03:08:57 -04:00
  • 830981934f fix: BUG-13 — server geocode returns raw coords instead of location names Mathieu Moran 2026-08-12 02:53:44 -04:00
  • 81a0bfebd5 docs: add BUG-13 — server web UI shows raw coords instead of geocoded location Mathieu Moran 2026-08-12 02:49:04 -04:00
  • b670fc5480 folder: delete github agent temp folder Mathieu Moran 2026-08-12 02:35:44 -04:00
  • 555af3694e docs: reformat FEATURES.md — summary table with dates, numerical order Mathieu Moran 2026-08-12 02:34:36 -04:00
  • 7a6c1750c9 docs: update Phase 28.1/28.2 status in PLAN.md + android/plan.md Mathieu Moran 2026-08-12 02:29:22 -04:00
  • e19511fc67 fix: downloads use WorkManager foreground service + inline progress Mathieu Moran 2026-08-12 02:27:33 -04:00
  • bc29a01337 docs: FEAT-05 DTC sync shipped — multi-device selector, portal DTC page, Pi snapshot upload Mathieu Moran 2026-08-12 02:20:48 -04:00
  • ed2b3aacfc feat: downloads tab + public Movies/yaris-obd/ folder Mathieu Moran 2026-08-12 01:56:18 -04:00
  • e30b85d218 feat: portal-wide device selector — session-based, all pages now use selected device Mathieu Moran 2026-08-12 01:40:51 -04:00
  • 1556c65131 fix: delete uses @HTTP hasBody + JsonObject return type Mathieu Moran 2026-08-12 01:35:11 -04:00
  • 3916f9879e feat: FEAT-05 — DTC history sync to remote server Mathieu Moran 2026-08-12 01:23:23 -04:00
  • 13cb8b4361 docs: Phase 27 DONE (3 shipped) — odometer sync, trip ID, hotspot docs; FEAT-08 shipped, FEAT-09 wontfix Mathieu Moran 2026-08-12 01:16:53 -04:00
  • 22bbee3b30 feat: Phase 28.2 — dashcam video browser + WiFi download Mathieu Moran 2026-08-12 01:14:20 -04:00
  • 348bfdc48c feat: Phase 28.1 gate passed — dual-network test works Mathieu Moran 2026-08-12 01:09:13 -04:00
  • f1606ad1f6 fix: remove runBlocking(Dispatchers.Main) deadlock — app now starts Mathieu Moran 2026-08-12 00:54:27 -04:00
  • 40f92d8703 feat: Phase 28.1 — gradle wrapper + debug APK builds successfully Mathieu Moran 2026-08-12 00:48:05 -04:00
  • 8d64b1e8b0 feat: Phase 28.1.2 — dual-network binding + OkHttp clients Mathieu Moran 2026-08-12 00:34:41 -04:00
  • f1c83a2ee7 init: android project scaffold (Phase 28.1) Mathieu Moran 2026-08-12 00:26:54 -04:00
  • 69109762a8 fix: always send device config on save — sync toggle now works both ways Mathieu Moran 2026-08-12 00:16:57 -04:00
  • 79222c8bb5 fix: disabling sync via settings page no longer returns spurious error 400 Mathieu Moran 2026-08-12 00:02:54 -04:00
  • 0fea9718bc fix: prevent sync from overwriting Pi odometer — odometer is Pi→Server only Mathieu Moran 2026-08-11 23:53:42 -04:00
  • 0b2162a595 style: odometer field uses plaintext display — no stepper arrows, grey background Mathieu Moran 2026-08-11 23:44:05 -04:00
  • d35cea367f fix: odometer sync is Pi→Server only — portal displays read-only value from DB Mathieu Moran 2026-08-11 22:14:46 -04:00
  • 7de8948e08 docs: update Hardware and Architecture sections — dual-radio, GPIO power, 4G modem, phone hotspot uplink Mathieu Moran 2026-08-11 22:06:05 -04:00
  • 44cd8bd192 feat: odometer_baseline field on server portal device settings page Mathieu Moran 2026-08-11 19:52:51 -04:00
  • 32de77131c feat: odometer baseline syncs to server — push on save, pull on sync, +/api/device-config/push endpoint Mathieu Moran 2026-08-11 19:31:52 -04:00
  • 878ba4a958 fix: skip device config save when sync is enabled — prevents 'Invalid device config' blocking settings save Mathieu Moran 2026-08-11 18:57:40 -04:00
  • 34253b3ffb feat: manual odometer baseline — Settings field computes baseline + trip distance, Dashboard shows (manual) label Mathieu Moran 2026-08-11 18:51:11 -04:00
  • 887a001723 docs: Phase 27 started — 7 feature candidates ready Mathieu Moran 2026-08-11 18:40:35 -04:00
  • 19c538389b docs: Phase 26 rewritten — all 12 bugs documented consistently. Phase 27/28 cleaned up. Mathieu Moran 2026-08-11 18:29:03 -04:00
  • 9ebfea8be3 docs: readme updated, BUGS.md cleaned — all 12 bugs in Resolved, Open section empty Mathieu Moran 2026-08-11 18:25:07 -04:00
  • f017a301f3 docs: Phase 26 complete, Phase 27 ready — 7 feature candidates Mathieu Moran 2026-08-11 18:20:07 -04:00
  • 341437c2d4 docs: Phase 26 COMPLETE — BUG-02 closed, all 12 bugs resolved. GPS has 7 sats, needs clear sky for fix. Mathieu Moran 2026-08-11 18:17:31 -04:00
  • 0f6d9b20a2 docs: Phase 26 DONE — BUG-01 closed, all 11 bugs resolved. BUG-06/12 moved to Resolved. Mathieu Moran 2026-08-11 17:19:42 -04:00
  • e54391b5c9 docs: FEAT-06/07/08/09 — trip ID column, hotspot auto-connect, predictable IP, mDNS Mathieu Moran 2026-08-11 17:17:12 -04:00
  • 4704bb79f1 docs: BUG-01 test steps documented, FEAT-07 phone-hotspot auto-connect shipped Mathieu Moran 2026-08-11 17:11:34 -04:00
  • b4d622827a docs: revert BUG-01 — AP tested but phone-hotspot uplink not yet verified Mathieu Moran 2026-08-11 17:06:39 -04:00
  • ea47cff489 docs: BUG-01 closed — tested on iOS + Android, yaris.local resolves, Phase 26 DONE Mathieu Moran 2026-08-11 17:04:20 -04:00
  • 675ee67260 docs: revert BUG-01 to IN PROGRESS — needs owner test before closing Mathieu Moran 2026-08-11 16:47:58 -04:00
  • dc1c1e5f06 docs: BUG-01 closed — dual-radio bench-verified, Phase 26 DONE (11 closed, 1 hardware) Mathieu Moran 2026-08-11 16:46:57 -04:00
  • 0f76ae3f84 docs: Phase 26 updated — 10 closed, BUG-11/12 and GPS lat/lon fix documented Mathieu Moran 2026-08-11 16:43:06 -04:00
  • a4a92cc69b fix: Socket gps_location now passes lat/lon to renderGpsStatus, preventing overwrite with blanks Mathieu Moran 2026-08-11 16:37:01 -04:00
  • e8156bc39a docs: BUG-12 closed — OBD API fallback fixes dashboard blank state, GPS toFixed crash fixed Mathieu Moran 2026-08-11 16:32:15 -04:00
  • 91281b1e55 fix: add /api/obd/status endpoint, dashboard OBD fallback on page load, fix GPS string-to-number crash Mathieu Moran 2026-08-11 16:26:30 -04:00
  • e223a43170 docs: BUG-11 closed — GPS lat/lon from API, 30s staleness aligned across pages Mathieu Moran 2026-08-11 16:18:59 -04:00
  • 3202045654 fix: restore separate checkbox+ID cells, add matching headers (8 columns server) Mathieu Moran 2026-08-11 15:25:29 -04:00
  • e8c5bfec9a fix: put checkbox inside date cell — both Pi and server now share same 6-column layout Mathieu Moran 2026-08-11 15:22:05 -04:00
  • 22f4ae2e69 fix: merge ID into date cell, add empty checkbox header — columns now align Mathieu Moran 2026-08-11 15:17:51 -04:00
  • 5713417f4f Server: restore checkbox + batch-delete. Conditional ID (server only) and checkbox via data-show-id/data-batch-delete-url. Mathieu Moran 2026-08-11 15:11:12 -04:00
  • 2ee4862edd Remove checkbox column and batch-delete from trip history Mathieu Moran 2026-08-11 15:05:40 -04:00
  • 23ac6c218b feat: add trip ID column (#18517) to history table on Pi and server Mathieu Moran 2026-08-11 14:58:25 -04:00
  • f6a50b6bc1 docs: BUG-06 closed — migration shifted 3593 rows +4h EDT, recomputed 43 trips, times now correct Mathieu Moran 2026-08-11 14:53:18 -04:00
  • 7ce2a1e5f5 fix: BUG-06 — convert naive Pi timestamps to TZ-aware before upload so Postgres TIMESTAMPTZ stores correct instant Mathieu Moran 2026-08-11 14:47:37 -04:00
  • 9733036510 fix: BUG-11 — Dashboard GPS now shows lat/lon from API when stale, Status page uses same 30s staleness threshold Mathieu Moran 2026-08-11 14:36:58 -04:00
  • 7a6de8b589 docs: BUG-07 closed — history.js rewrite verified on Pi and server Mathieu Moran 2026-08-11 14:33:38 -04:00
  • fa93384a8e Rewrite history.js: loading spinner, active-row highlight, unified state, 300ms debounce, signal guards throughout trip loader Mathieu Moran 2026-08-11 05:37:15 -04:00
  • 3d6955f20f fix(phase26): fix broken click handler, remove replay button, row click only Mathieu Moran 2026-08-11 05:11:09 -04:00
  • 90edc73735 fix(phase26): debounce trip clicks, guard against stale renders Mathieu Moran 2026-08-11 05:07:35 -04:00
  • cdb3fc19c7 fix(phase26): abort preload fetches when switching trips to prevent server freeze Mathieu Moran 2026-08-11 05:01:18 -04:00
  • ad56380e23 fix(phase26): revert batch geocode, use rate-limited concurrent requests to avoid server freeze Mathieu Moran 2026-08-11 04:57:44 -04:00
  • 5018c6c531 fix(phase26): batch geocode endpoint for faster server trip scrubber Mathieu Moran 2026-08-11 04:44:37 -04:00
  • bdc7a9afb7 fix(phase26): server trip delete persists across recompute + batch delete with checkboxes Mathieu Moran 2026-08-11 04:18:58 -04:00
  • e6bc488e84 docs: update Phase 26 with dual-radio + trip fix details Mathieu Moran 2026-08-11 03:57:06 -04:00
  • cf096744d1 fix(phase26): BUG-10 side effect — preserve trips when OBD never connected Mathieu Moran 2026-08-11 03:56:00 -04:00
  • ae7f6358b2 docs: update BUG-01 dual-radio fix status Mathieu Moran 2026-08-11 03:46:18 -04:00
  • 592e049f59 fix(phase26): dual-radio — wlan0 permanent AP, wlan1 internet uplink (BUG-01) Mathieu Moran 2026-08-11 03:44:01 -04:00
  • 89bbc4fdb8 fix(phase26): skip netwatch AP scan when clients connected (BUG-01) Mathieu Moran 2026-08-11 03:11:13 -04:00
  • f9d967e71c docs: update Phase 26 bug count in PLAN.md Mathieu Moran 2026-08-11 03:02:02 -04:00
  • e83e5eaa7c docs: tighten features list in readme Mathieu Moran 2026-08-11 03:00:35 -04:00
  • 6355869a8d docs: fix bug count in readme project status Mathieu Moran 2026-08-11 02:58:01 -04:00
  • f7d305a036 docs: update Phase 26, simplify readme project status, de-emoji Mathieu Moran 2026-08-11 02:57:01 -04:00
  • 1487fd3478 docs: bold feature names, clean up readme Mathieu Moran 2026-08-11 02:55:27 -04:00
  • e733ab1ac1 docs: update Phase 26 progress, de-emoji readme, refresh status Mathieu Moran 2026-08-11 02:50:57 -04:00
  • 936064e963 docs: move BUG-09/10 from Open to Resolved Mathieu Moran 2026-08-11 02:47:26 -04:00
  • 7beb882136 docs: restructure BUGS.md, close BUG-09/10 (already deployed) Mathieu Moran 2026-08-11 02:45:40 -04:00
  • 5a3be5347a docs: close BUG-09/10, update resolved section Mathieu Moran 2026-08-11 02:41:12 -04:00
  • 7e913558f6 fix(phase26): geocode pre-caching (BUG-09) + gate trips on OBD presence (BUG-10) Mathieu Moran 2026-08-11 02:38:00 -04:00
  • a709517973 docs: close BUG-04 server trip merge (verified in prod) Mathieu Moran 2026-08-11 02:31:13 -04:00
  • 96fb8971eb fix(phase26): server trip detection mirrors Pi motion-aware logic (BUG-04) Mathieu Moran 2026-08-11 02:27:17 -04:00