2026-02-02 - 2026-03-02

Overview

34 Active Pull Requests
135 Active Issues
Excluding merges, 1 author has pushed 38 commits to main and 235 commits to all branches. On main, 84 files have changed and there have been 2672 additions and 4049 deletions.

34 Pull requests merged by 1 user

Merged #236 feat: Migrate Gemini SDK to google-genai (#231) 2026-03-01 04:08:11 +00:00

Merged #230 fix: increase VIN decode timeout for Gemini cold start 2026-02-20 03:37:50 +00:00

Merged #229 feat: Replace NHTSA VIN decode with Google Gemini via OCR service (#223) 2026-02-20 03:10:48 +00:00

Merged #222 chore: Update email FROM address and fix unsubscribe link 2026-02-19 02:54:28 +00:00

Merged #219 chore: migrate user identity from auth0_sub to UUID 2026-02-16 20:55:41 +00:00

Merged #218 refactor: Clean up subscription admin override and Stripe integration (#205) 2026-02-16 15:44:12 +00:00

Merged #204 feat: Add online user guide with screenshots (#203) 2026-02-16 01:40:36 +00:00

Merged #202 feat: Redesign dashboard with vehicle-centric layout (#196) 2026-02-15 17:13:31 +00:00

Merged #195 fix: Wire up Add Maintenance button on vehicle detail page (#194) 2026-02-15 16:09:53 +00:00

Merged #193 fix: Mobile login redirects to homepage without showing Auth0 login page (#188) 2026-02-15 15:36:38 +00:00

Merged #191 fix: Desktop sidebar clips logo after collapse-mode UX changes (#187) 2026-02-15 03:51:57 +00:00

Merged #186 chore: UX design audit cleanup and receipt flow improvements 2026-02-14 03:50:23 +00:00

Merged #161 feat: Maintenance Receipt Upload with OCR Auto-populate (#16) 2026-02-13 22:19:45 +00:00

Merged #147 feat: Expand OCR with fuel receipt scanning and maintenance extraction (#129) 2026-02-13 02:25:55 +00:00

Merged #128 feat: Google Vision primary OCR with Auth0 WIF and monthly usage cap (#127) 2026-02-11 01:46:21 +00:00

Merged #126 feat: Improve VIN decode confidence reporting and make/model/trim editability (#125) 2026-02-09 01:40:15 +00:00

Merged #124 feat: Improve VIN photo capture camera crop (#123) 2026-02-09 00:36:44 +00:00

Merged #122 feat: Improve OCR process - replace Tesseract with PaddleOCR (#115) 2026-02-08 01:13:35 +00:00

Merged #114 fix: VIN OCR scanning fails with "No VIN Pattern found" on all images (#113) 2026-02-07 15:47:37 +00:00

Merged #112 feat: Add Grafana dashboards and alerting (#105) 2026-02-06 17:44:05 +00:00

Merged #104 fix: rename ipWhiteList to ipAllowList for Traefik v3 (#103) 2026-02-06 03:21:48 +00:00

Merged #102 chore: upgrade logging stack - mirrors, Alloy, Loki, Grafana (#96, #97, #98, #99) 2026-02-06 02:16:51 +00:00

Merged #94 docs: add unified logging system documentation and CI/CD integration (#87) 2026-02-05 02:57:05 +00:00

Merged #93 feat: add Promtail, Loki, and Grafana log aggregation stack (#86) 2026-02-05 02:47:22 +00:00

Merged #92 feat: Frontend Logger Module (#84) 2026-02-05 02:13:13 +00:00

Merged #91 feat: migrate backend logging from Winston to Pino with correlation IDs (#82) 2026-02-04 02:24:33 +00:00

Merged #90 chore: Docker Logging Configuration + Rotation (#85) 2026-02-04 02:00:23 +00:00

Merged #89 chore: configure Traefik X-Request-Id header forwarding (#83) 2026-02-04 01:47:47 +00:00

Merged #88 chore: Logging Config Generator Script (#81) 2026-02-04 01:33:19 +00:00

Merged #79 feat: Owner's Manual OCR Pipeline (#71) 2026-02-02 03:37:34 +00:00

Merged #78 feat: Receipt Capture Integration (#70) 2026-02-02 03:10:28 +00:00

Merged #77 feat: Receipt OCR Pipeline (#69) 2026-02-02 02:47:52 +00:00

Merged #76 feat: VIN Capture Integration (#68) 2026-02-02 02:27:29 +00:00

Merged #75 feat: VIN Photo OCR Pipeline (#67) 2026-02-02 01:36:27 +00:00

135 Issues closed from 1 user

Closed #233 feat: Migrate GeminiEngine to google-genai with Google Search grounding (#231) 2026-03-01 04:08:12 +00:00

Closed #234 feat: Migrate MaintenanceReceiptExtractor to google-genai (#231) 2026-03-01 04:08:12 +00:00

Closed #235 feat: Update test mocks for google-genai SDK (#231) 2026-03-01 04:08:12 +00:00

Closed #231 feat: Migrate Gemini SDK to google-genai and enable Google Search grounding for VIN decode 2026-03-01 04:08:11 +00:00

Closed #232 feat: Update OCR dependency to google-genai (#231) 2026-03-01 04:08:11 +00:00

Closed #228 feat: Update frontend and tests for Gemini VIN decode (#223) 2026-02-20 15:04:20 +00:00

Closed #227 chore: Remove NHTSA code and update documentation (#223) 2026-02-20 15:04:19 +00:00

Closed #226 feat: Rewire vehicles controller to use OCR VIN decode (#223) 2026-02-20 15:04:17 +00:00

Closed #225 feat: Add backend OCR client method and types for VIN decode (#223) 2026-02-20 15:04:16 +00:00

Closed #224 feat: Add VIN decode endpoint to OCR Python service (#223) 2026-02-20 15:04:14 +00:00

Closed #223 feat: Replace NHTSA VIN decode with Google Gemini via OCR service 2026-02-20 15:04:13 +00:00

Closed #221 chore: Update email FROM address and fix unsubscribe link 2026-02-19 02:54:28 +00:00

Closed #220 bug: Post-migration bugs from UUID identity migration (#206) 2026-02-17 14:06:43 +00:00

Closed #211 chore: Database migration SQL - auth0_sub to UUID (#206) 2026-02-16 20:55:42 +00:00

Closed #212 chore: Auth plugin and admin guard UUID migration (#206) 2026-02-16 20:55:42 +00:00

Closed #213 chore: Admin system refactor for UUID migration (#206) 2026-02-16 20:55:42 +00:00

Closed #214 chore: User profile repository refactor for UUID (#206) 2026-02-16 20:55:42 +00:00

Closed #215 chore: Feature repository UUID validation (#206) 2026-02-16 20:55:42 +00:00

Closed #216 chore: Supporting code UUID updates (#206) 2026-02-16 20:55:42 +00:00

Closed #217 chore: Test fixtures and documentation for UUID migration (#206) 2026-02-16 20:55:42 +00:00

Closed #206 chore: Migrate user identity from auth0_sub to MVP-generated UUID 2026-02-16 20:55:41 +00:00

Closed #205 refactor: Clean up subscription admin override and Stripe integration 2026-02-16 15:44:12 +00:00

Closed #207 refactor: Database migration for nullable stripe_customer_id (#205) 2026-02-16 15:44:12 +00:00

Closed #208 refactor: Repository updates for nullable stripe_customer_id (#205) 2026-02-16 15:44:12 +00:00

Closed #209 refactor: Remove resolveStripeCustomerId and harden tier sync (#205) 2026-02-16 15:44:12 +00:00

Closed #210 refactor: Update Stripe flows for nullable stripe_customer_id (#205) 2026-02-16 15:44:12 +00:00

Closed #203 feat: Add online user guide with screenshots to public website 2026-02-16 01:40:36 +00:00

Closed #196 feat: Redesign dashboard with vehicle-centric layout 2026-02-15 17:13:31 +00:00

Closed #197 feat: Dashboard types and vehicle health data layer (#196) 2026-02-15 17:13:31 +00:00

Closed #198 feat: VehicleRosterCard component (#196) 2026-02-15 17:13:31 +00:00

Closed #199 feat: Dashboard ActionBar component (#196) 2026-02-15 17:13:31 +00:00

Closed #200 feat: DashboardScreen composition and cleanup (#196) 2026-02-15 17:13:31 +00:00

Closed #201 feat: Dashboard redesign tests (#196) 2026-02-15 17:13:31 +00:00

Closed #194 fix: Wire up "Add Maintenance" button on vehicle detail page 2026-02-15 16:09:53 +00:00

Closed #188 fix: Mobile login redirects to homepage without showing Auth0 login page 2026-02-15 15:36:39 +00:00

Closed #189 fix: Callback route guard allows Auth0 code exchange to complete (#188) 2026-02-15 15:36:39 +00:00

Closed #190 fix: Detect and clear stale IndexedDB auth tokens on mobile (#188) 2026-02-15 15:36:39 +00:00

Closed #192 fix: Add pre-auth session clear mechanism on HomePage (#188) 2026-02-15 15:36:39 +00:00

Closed #187 fix: Desktop sidebar clips logo after collapse-mode UX changes 2026-02-15 03:51:57 +00:00

Closed #181 chore: differentiate Stations icon from Fuel Logs in bottom nav (#162) 2026-02-14 03:50:26 +00:00

Closed #183 chore: create AddReceiptDialog component (#182) 2026-02-14 03:50:26 +00:00

Closed #184 chore: integrate AddReceiptDialog into MaintenanceRecordForm (#182) 2026-02-14 03:50:26 +00:00

Closed #185 chore: viewport testing for maintenance receipt flow (#182) 2026-02-14 03:50:26 +00:00

Closed #175 chore: remove Insurance default bias from Add Document modal (#162) 2026-02-14 03:50:25 +00:00

Closed #176 chore: add desktop sidebar collapse to icon-only mode (#162) 2026-02-14 03:50:25 +00:00

Closed #177 chore: header greeting use display name instead of email (#162) 2026-02-14 03:50:25 +00:00

Closed #178 chore: remove dashboard auto-refresh footer text (#162) 2026-02-14 03:50:25 +00:00

Closed #179 chore: add call-to-action links in zero-state stats cards (#162) 2026-02-14 03:50:25 +00:00

Closed #180 chore: hide notification bell if non-functional (#162) 2026-02-14 03:50:25 +00:00

Closed #165 fix: null model display on Settings vehicle list (#162) 2026-02-14 03:50:24 +00:00

Closed #166 chore: enrich Dashboard with meaningful content (#162) 2026-02-14 03:50:24 +00:00

Closed #167 chore: vehicle cards show Year Make Model and hide empty VIN (#162) 2026-02-14 03:50:24 +00:00

Closed #168 chore: Fuel Logs default to list view instead of form-first (#162) 2026-02-14 03:50:24 +00:00

Closed #169 chore: add Maintenance page title and remove duplicate vehicle dropdown (#162) 2026-02-14 03:50:24 +00:00

Closed #171 chore: standardize empty field display across all views (#162) 2026-02-14 03:50:24 +00:00

Closed #172 chore: improve document card with upload date and file type icon (#162) 2026-02-14 03:50:24 +00:00

Closed #173 chore: remove redundant Stations entry from mobile More menu (#162) 2026-02-14 03:50:24 +00:00

Closed #174 chore: differentiate identical maintenance schedule names (#162) 2026-02-14 03:50:24 +00:00

Closed #162 chore: UX design audit cleanup 2026-02-14 03:50:23 +00:00

Closed #163 fix: mobile routing renders Dashboard instead of correct page (#162) 2026-02-14 03:50:23 +00:00

Closed #164 fix: add Maintenance to mobile bottom-sheet More menu (#162) 2026-02-14 03:50:23 +00:00

Closed #182 chore: change maintenance receipt flow to upload-first with camera option (#162) 2026-02-14 03:50:23 +00:00

Closed #170 fix: FAB button overlaps content and bottom nav on mobile (#162) 2026-02-14 01:22:17 +00:00

Closed #149 feat: Email Receipt Ingestion via Resend Webhooks 2026-02-13 22:20:00 +00:00

Closed #158 feat: Vehicle association and record creation (#149) 2026-02-13 22:19:47 +00:00

Closed #159 feat: Email ingestion notifications and error emails (#149) 2026-02-13 22:19:47 +00:00

Closed #160 feat: Pending vehicle association resolution UI (#149) 2026-02-13 22:19:47 +00:00

Closed #16 feat: Maintenance Receipt Upload with OCR Auto-populate 2026-02-13 22:19:46 +00:00

Closed #150 feat: Maintenance receipt extraction pipeline in OCR microservice (#16) 2026-02-13 22:19:46 +00:00

Closed #151 feat: Backend migration and API updates for maintenance receipt linking (#16) 2026-02-13 22:19:46 +00:00

Closed #152 feat: Maintenance receipt OCR hook and review modal (#16) 2026-02-13 22:19:46 +00:00

Closed #153 feat: Form integration, tier gating, and receipt display (#16) 2026-02-13 22:19:46 +00:00

Closed #154 feat: Email ingestion database schema and types (#149) 2026-02-13 22:19:46 +00:00

Closed #155 feat: Resend inbound client and webhook endpoint (#149) 2026-02-13 22:19:46 +00:00

Closed #156 feat: Email ingestion processing service (#149) 2026-02-13 22:19:46 +00:00

Closed #157 feat: Receipt classifier and OCR integration (#149) 2026-02-13 22:19:46 +00:00

Closed #148 fix: Scheduled maintenance list not displaying schedules (#129) 2026-02-13 02:26:29 +00:00

Closed #138 feat: Tier guard middleware (#129) 2026-02-13 02:25:57 +00:00

Closed #139 feat: Backend OCR receipt proxy endpoint (#129) 2026-02-13 02:25:57 +00:00

Closed #140 feat: Tier gating and frontend receipt OCR flow (#129) 2026-02-13 02:25:57 +00:00

Closed #141 feat: Station matching from receipt (#129) 2026-02-13 02:25:57 +00:00

Closed #142 feat: Gemini engine module and configuration (#129) 2026-02-13 02:25:57 +00:00

Closed #143 feat: Manual extractor Gemini rewrite (#129) 2026-02-13 02:25:57 +00:00

Closed #144 feat: Backend OCR manual proxy endpoint (#129) 2026-02-13 02:25:57 +00:00

Closed #145 feat: Frontend manual extraction flow (#129) 2026-02-13 02:25:57 +00:00

Closed #146 docs: Documentation for OCR expansion (#129) 2026-02-13 02:25:57 +00:00

Closed #129 feat: Expand OCR with fuel receipt scanning and owners manual maintenance extraction 2026-02-13 02:25:56 +00:00

Closed #130 feat: Backend OCR receipt proxy endpoint (#129) 2026-02-13 02:25:56 +00:00

Closed #131 feat: Tier gating and frontend receipt OCR flow (#129) 2026-02-13 02:25:56 +00:00

Closed #132 feat: Station matching from receipt (#129) 2026-02-13 02:25:56 +00:00

Closed #133 feat: Gemini engine module and configuration (#129) 2026-02-13 02:25:56 +00:00

Closed #134 feat: Manual extractor Gemini rewrite (#129) 2026-02-13 02:25:56 +00:00

Closed #135 feat: Backend OCR manual proxy endpoint (#129) 2026-02-13 02:25:56 +00:00

Closed #136 feat: Frontend manual extraction flow (#129) 2026-02-13 02:25:56 +00:00

Closed #137 docs: Documentation for OCR expansion (#129) 2026-02-13 02:25:56 +00:00

Closed #127 feat: Google Vision primary OCR with Auth0 WIF and monthly usage cap 2026-02-11 01:46:21 +00:00

Closed #125 feat: Improve VIN decode confidence reporting and make/model/trim editability 2026-02-09 01:40:15 +00:00

Closed #123 feat: Improve VIN photo capture camera crop experience 2026-02-09 00:36:44 +00:00

Closed #121 chore: Update OCR tests and documentation (#115) 2026-02-08 01:13:36 +00:00

Closed #115 feat: Improve OCR process - replace Tesseract with PaddleOCR and add cloud fallback for VIN scanning 2026-02-08 01:13:35 +00:00

Closed #116 feat: OCR engine abstraction layer and PaddleOCR integration (#115) 2026-02-08 01:13:35 +00:00

Closed #117 feat: Migrate VIN extractor to engine abstraction (#115) 2026-02-08 01:13:35 +00:00

Closed #118 feat: Optional Google Vision cloud fallback engine (#115) 2026-02-08 01:13:35 +00:00

Closed #119 chore: Docker and infrastructure updates for PaddleOCR (#115) 2026-02-08 01:13:35 +00:00

Closed #120 fix: Diagnose and fix crop tool regression (#115) 2026-02-08 01:13:35 +00:00

Closed #113 fix: VIN OCR scanning fails with "No VIN Pattern found in image" on all images 2026-02-07 15:47:37 +00:00

Closed #105 feat: Add Grafana dashboards and alerting for application observability 2026-02-06 17:44:06 +00:00

Closed #106 feat: Grafana dashboard provisioning infrastructure (#105) 2026-02-06 17:44:06 +00:00

Closed #107 feat: Application Overview Grafana dashboard (#105) 2026-02-06 17:44:06 +00:00

Closed #108 feat: API Performance Grafana dashboard (#105) 2026-02-06 17:44:06 +00:00

Closed #109 feat: Error Investigation Grafana dashboard (#105) 2026-02-06 17:44:06 +00:00

Closed #110 feat: Infrastructure Grafana dashboard (#105) 2026-02-06 17:44:06 +00:00

Closed #111 feat: Grafana alerting rules and documentation (#105) 2026-02-06 17:44:06 +00:00

Closed #95 [Chore]: Upgrade container image versions and migrate Promtail to Grafana Alloy 2026-02-06 03:22:55 +00:00

Closed #103 [Bug]: Grafana unreachable - Traefik v3 ipWhiteList middleware renamed to ipAllowList 2026-02-06 03:21:49 +00:00

Closed #101 [Docs]: Update documentation for container image upgrades 2026-02-06 02:16:52 +00:00

Closed #100 [Chore]: Upgrade OCR Python base image from 3.11 to 3.13 2026-02-06 02:10:26 +00:00

Closed #99 [Chore]: Upgrade Grafana 10.0.0 to 12.4.0 2026-02-06 02:10:12 +00:00

Closed #98 [Chore]: Upgrade Loki 2.9.0 to 3.6.1 2026-02-06 01:34:16 +00:00

Closed #97 [Chore]: Replace Promtail with Grafana Alloy 2026-02-06 01:34:06 +00:00

Closed #96 [Chore]: Update base image mirror script for container upgrades 2026-02-06 01:02:30 +00:00

Closed #80 [Feature]: Implement Unified Debug Logging System with Centralized Log Aggregation 2026-02-05 03:01:30 +00:00

Closed #87 [Sub-issue #80-G]: CI/CD Integration + Documentation 2026-02-05 02:57:05 +00:00

Closed #86 [Sub-issue #80-F]: Promtail + Loki + Grafana Stack 2026-02-05 02:47:23 +00:00

Closed #84 [Sub-issue #80-D]: Frontend Logger Module 2026-02-05 02:13:13 +00:00

Closed #82 [Sub-issue #80-B]: Backend Pino Migration + Correlation IDs 2026-02-04 02:24:33 +00:00

Closed #85 [Sub-issue #80-E]: Docker Logging Configuration + Rotation 2026-02-04 02:00:23 +00:00

Closed #83 [Sub-issue #80-C]: Traefik X-Request-Id Middleware 2026-02-04 01:47:47 +00:00

Closed #81 [Sub-issue #80-A]: Logging Config Generator Script 2026-02-04 01:33:19 +00:00

Closed #68 feat: VIN Capture Integration 2026-02-02 03:53:36 +00:00

Closed #12 feat: OCR-powered smart capture for VIN, receipts, and owner's manuals 2026-02-02 03:52:59 +00:00

Closed #71 feat: Owner's Manual OCR Pipeline 2026-02-02 03:37:34 +00:00

Closed #70 feat: Receipt Capture Integration 2026-02-02 03:10:28 +00:00

Closed #69 feat: Receipt OCR Pipeline 2026-02-02 02:47:52 +00:00

Closed #67 feat: VIN Photo OCR Pipeline 2026-02-02 01:36:27 +00:00

128 Issues created by 0 users

Opened #80 [Feature]: Implement Unified Debug Logging System with Centralized Log Aggregation 2026-02-03 01:58:00 +00:00

Opened #81 [Sub-issue #80-A]: Logging Config Generator Script 2026-02-03 02:18:26 +00:00

Opened #82 [Sub-issue #80-B]: Backend Pino Migration + Correlation IDs 2026-02-03 02:18:39 +00:00

Opened #83 [Sub-issue #80-C]: Traefik X-Request-Id Middleware 2026-02-03 02:18:48 +00:00

Opened #84 [Sub-issue #80-D]: Frontend Logger Module 2026-02-03 02:18:58 +00:00

Opened #85 [Sub-issue #80-E]: Docker Logging Configuration + Rotation 2026-02-03 02:19:05 +00:00

Opened #86 [Sub-issue #80-F]: Promtail + Loki + Grafana Stack 2026-02-03 02:19:20 +00:00

Opened #87 [Sub-issue #80-G]: CI/CD Integration + Documentation 2026-02-03 02:19:32 +00:00

Opened #95 [Chore]: Upgrade container image versions and migrate Promtail to Grafana Alloy 2026-02-05 23:30:30 +00:00

Opened #96 [Chore]: Update base image mirror script for container upgrades 2026-02-05 23:35:35 +00:00

Opened #97 [Chore]: Replace Promtail with Grafana Alloy 2026-02-05 23:35:51 +00:00

Opened #98 [Chore]: Upgrade Loki 2.9.0 to 3.6.1 2026-02-05 23:36:03 +00:00

Opened #99 [Chore]: Upgrade Grafana 10.0.0 to 12.4.0 2026-02-05 23:36:11 +00:00

Opened #100 [Chore]: Upgrade OCR Python base image from 3.11 to 3.13 2026-02-05 23:36:18 +00:00

Opened #101 [Docs]: Update documentation for container image upgrades 2026-02-05 23:36:25 +00:00

Opened #103 [Bug]: Grafana unreachable - Traefik v3 ipWhiteList middleware renamed to ipAllowList 2026-02-06 02:39:46 +00:00

Opened #105 feat: Add Grafana dashboards and alerting for application observability 2026-02-06 13:53:40 +00:00

Opened #106 feat: Grafana dashboard provisioning infrastructure (#105) 2026-02-06 14:01:29 +00:00

Opened #107 feat: Application Overview Grafana dashboard (#105) 2026-02-06 14:01:37 +00:00

Opened #108 feat: API Performance Grafana dashboard (#105) 2026-02-06 14:01:46 +00:00

Opened #109 feat: Error Investigation Grafana dashboard (#105) 2026-02-06 14:01:54 +00:00

Opened #110 feat: Infrastructure Grafana dashboard (#105) 2026-02-06 14:02:01 +00:00

Opened #111 feat: Grafana alerting rules and documentation (#105) 2026-02-06 14:02:11 +00:00

Opened #113 fix: VIN OCR scanning fails with "No VIN Pattern found in image" on all images 2026-02-06 21:42:02 +00:00

Opened #115 feat: Improve OCR process - replace Tesseract with PaddleOCR and add cloud fallback for VIN scanning 2026-02-07 16:00:34 +00:00

Opened #116 feat: OCR engine abstraction layer and PaddleOCR integration (#115) 2026-02-07 16:12:46 +00:00

Opened #117 feat: Migrate VIN extractor to engine abstraction (#115) 2026-02-07 16:12:52 +00:00

Opened #118 feat: Optional Google Vision cloud fallback engine (#115) 2026-02-07 16:12:59 +00:00

Opened #119 chore: Docker and infrastructure updates for PaddleOCR (#115) 2026-02-07 16:13:05 +00:00

Opened #120 fix: Diagnose and fix crop tool regression (#115) 2026-02-07 16:13:12 +00:00

Opened #121 chore: Update OCR tests and documentation (#115) 2026-02-07 16:13:17 +00:00

Opened #123 feat: Improve VIN photo capture camera crop experience 2026-02-08 01:46:48 +00:00

Opened #125 feat: Improve VIN decode confidence reporting and make/model/trim editability 2026-02-09 00:42:29 +00:00

Opened #127 feat: Google Vision primary OCR with Auth0 WIF and monthly usage cap 2026-02-10 02:38:20 +00:00

Opened #129 feat: Expand OCR with fuel receipt scanning and owners manual maintenance extraction 2026-02-11 02:24:30 +00:00

Opened #130 feat: Backend OCR receipt proxy endpoint (#129) 2026-02-11 03:04:35 +00:00

Opened #131 feat: Tier gating and frontend receipt OCR flow (#129) 2026-02-11 03:04:40 +00:00

Opened #132 feat: Station matching from receipt (#129) 2026-02-11 03:04:45 +00:00

Opened #133 feat: Gemini engine module and configuration (#129) 2026-02-11 03:04:50 +00:00

Opened #134 feat: Manual extractor Gemini rewrite (#129) 2026-02-11 03:04:54 +00:00

Opened #135 feat: Backend OCR manual proxy endpoint (#129) 2026-02-11 03:04:59 +00:00

Opened #136 feat: Frontend manual extraction flow (#129) 2026-02-11 03:05:04 +00:00

Opened #137 docs: Documentation for OCR expansion (#129) 2026-02-11 03:05:07 +00:00

Opened #138 feat: Tier guard middleware (#129) 2026-02-11 03:48:44 +00:00

Opened #139 feat: Backend OCR receipt proxy endpoint (#129) 2026-02-11 03:48:55 +00:00

Opened #140 feat: Tier gating and frontend receipt OCR flow (#129) 2026-02-11 03:49:05 +00:00

Opened #141 feat: Station matching from receipt (#129) 2026-02-11 03:49:27 +00:00

Opened #142 feat: Gemini engine module and configuration (#129) 2026-02-11 03:49:44 +00:00

Opened #143 feat: Manual extractor Gemini rewrite (#129) 2026-02-11 03:49:57 +00:00

Opened #144 feat: Backend OCR manual proxy endpoint (#129) 2026-02-11 03:50:17 +00:00

Opened #145 feat: Frontend manual extraction flow (#129) 2026-02-11 03:50:33 +00:00

Opened #146 docs: Documentation for OCR expansion (#129) 2026-02-11 03:51:04 +00:00

Opened #148 fix: Scheduled maintenance list not displaying schedules (#129) 2026-02-13 01:45:41 +00:00

Opened #149 feat: Email Receipt Ingestion via Resend Webhooks 2026-02-13 02:46:19 +00:00

Opened #150 feat: Maintenance receipt extraction pipeline in OCR microservice (#16) 2026-02-13 02:54:10 +00:00

Opened #151 feat: Backend migration and API updates for maintenance receipt linking (#16) 2026-02-13 02:54:22 +00:00

Opened #152 feat: Maintenance receipt OCR hook and review modal (#16) 2026-02-13 02:54:33 +00:00

Opened #153 feat: Form integration, tier gating, and receipt display (#16) 2026-02-13 02:54:44 +00:00

Opened #154 feat: Email ingestion database schema and types (#149) 2026-02-13 03:51:43 +00:00

Opened #155 feat: Resend inbound client and webhook endpoint (#149) 2026-02-13 03:51:53 +00:00

Opened #156 feat: Email ingestion processing service (#149) 2026-02-13 03:52:03 +00:00

Opened #157 feat: Receipt classifier and OCR integration (#149) 2026-02-13 03:52:13 +00:00

Opened #158 feat: Vehicle association and record creation (#149) 2026-02-13 03:52:22 +00:00

Opened #159 feat: Email ingestion notifications and error emails (#149) 2026-02-13 03:52:31 +00:00

Opened #160 feat: Pending vehicle association resolution UI (#149) 2026-02-13 03:52:41 +00:00

Opened #162 chore: UX design audit cleanup 2026-02-13 22:21:41 +00:00

Opened #163 fix: mobile routing renders Dashboard instead of correct page (#162) 2026-02-13 22:22:03 +00:00

Opened #164 fix: add Maintenance to mobile bottom-sheet More menu (#162) 2026-02-13 22:22:08 +00:00

Opened #165 fix: null model display on Settings vehicle list (#162) 2026-02-13 22:22:17 +00:00

Opened #166 chore: enrich Dashboard with meaningful content (#162) 2026-02-13 22:22:44 +00:00

Opened #167 chore: vehicle cards show Year Make Model and hide empty VIN (#162) 2026-02-13 22:22:53 +00:00

Opened #168 chore: Fuel Logs default to list view instead of form-first (#162) 2026-02-13 22:23:01 +00:00

Opened #169 chore: add Maintenance page title and remove duplicate vehicle dropdown (#162) 2026-02-13 22:23:10 +00:00

Opened #170 fix: FAB button overlaps content and bottom nav on mobile (#162) 2026-02-13 22:23:17 +00:00

Opened #171 chore: standardize empty field display across all views (#162) 2026-02-13 22:23:56 +00:00

Opened #172 chore: improve document card with upload date and file type icon (#162) 2026-02-13 22:24:03 +00:00

Opened #173 chore: remove redundant Stations entry from mobile More menu (#162) 2026-02-13 22:24:08 +00:00

Opened #174 chore: differentiate identical maintenance schedule names (#162) 2026-02-13 22:24:15 +00:00

Opened #175 chore: remove Insurance default bias from Add Document modal (#162) 2026-02-13 22:24:22 +00:00

Opened #176 chore: add desktop sidebar collapse to icon-only mode (#162) 2026-02-13 22:24:28 +00:00

Opened #177 chore: header greeting use display name instead of email (#162) 2026-02-13 22:25:14 +00:00

Opened #178 chore: remove dashboard auto-refresh footer text (#162) 2026-02-13 22:25:20 +00:00

Opened #179 chore: add call-to-action links in zero-state stats cards (#162) 2026-02-13 22:25:26 +00:00

Opened #180 chore: hide notification bell if non-functional (#162) 2026-02-13 22:25:33 +00:00

Opened #181 chore: differentiate Stations icon from Fuel Logs in bottom nav (#162) 2026-02-13 22:25:39 +00:00

Opened #182 chore: change maintenance receipt flow to upload-first with camera option (#162) 2026-02-14 02:31:20 +00:00

Opened #183 chore: create AddReceiptDialog component (#182) 2026-02-14 02:39:26 +00:00

Opened #184 chore: integrate AddReceiptDialog into MaintenanceRecordForm (#182) 2026-02-14 02:39:33 +00:00

Opened #185 chore: viewport testing for maintenance receipt flow (#182) 2026-02-14 02:39:38 +00:00

Opened #187 fix: Desktop sidebar clips logo after collapse-mode UX changes 2026-02-15 03:31:29 +00:00

Opened #188 fix: Mobile login redirects to homepage without showing Auth0 login page 2026-02-15 03:40:08 +00:00

Opened #189 fix: Callback route guard allows Auth0 code exchange to complete (#188) 2026-02-15 03:45:35 +00:00

Opened #190 fix: Detect and clear stale IndexedDB auth tokens on mobile (#188) 2026-02-15 03:45:40 +00:00

Opened #192 fix: Add pre-auth session clear mechanism on HomePage (#188) 2026-02-15 03:45:46 +00:00

Opened #194 fix: Wire up "Add Maintenance" button on vehicle detail page 2026-02-15 15:41:51 +00:00

Opened #196 feat: Redesign dashboard with vehicle-centric layout 2026-02-15 16:25:05 +00:00

Opened #197 feat: Dashboard types and vehicle health data layer (#196) 2026-02-15 16:30:52 +00:00

Opened #198 feat: VehicleRosterCard component (#196) 2026-02-15 16:30:59 +00:00

Opened #199 feat: Dashboard ActionBar component (#196) 2026-02-15 16:31:04 +00:00

Opened #200 feat: DashboardScreen composition and cleanup (#196) 2026-02-15 16:31:11 +00:00

Opened #201 feat: Dashboard redesign tests (#196) 2026-02-15 16:31:16 +00:00

Opened #203 feat: Add online user guide with screenshots to public website 2026-02-15 19:12:19 +00:00

Opened #205 refactor: Clean up subscription admin override and Stripe integration 2026-02-16 14:41:37 +00:00

Opened #206 chore: Migrate user identity from auth0_sub to MVP-generated UUID 2026-02-16 14:42:03 +00:00

Opened #207 refactor: Database migration for nullable stripe_customer_id (#205) 2026-02-16 14:53:02 +00:00

Opened #208 refactor: Repository updates for nullable stripe_customer_id (#205) 2026-02-16 14:53:05 +00:00

Opened #209 refactor: Remove resolveStripeCustomerId and harden tier sync (#205) 2026-02-16 14:53:09 +00:00

Opened #210 refactor: Update Stripe flows for nullable stripe_customer_id (#205) 2026-02-16 14:53:14 +00:00

Opened #211 chore: Database migration SQL - auth0_sub to UUID (#206) 2026-02-16 15:01:32 +00:00

Opened #212 chore: Auth plugin and admin guard UUID migration (#206) 2026-02-16 15:01:35 +00:00

Opened #213 chore: Admin system refactor for UUID migration (#206) 2026-02-16 15:01:40 +00:00

Opened #214 chore: User profile repository refactor for UUID (#206) 2026-02-16 15:01:42 +00:00

Opened #215 chore: Feature repository UUID validation (#206) 2026-02-16 15:01:47 +00:00

Opened #216 chore: Supporting code UUID updates (#206) 2026-02-16 15:01:52 +00:00

Opened #217 chore: Test fixtures and documentation for UUID migration (#206) 2026-02-16 15:01:54 +00:00

Opened #220 bug: Post-migration bugs from UUID identity migration (#206) 2026-02-16 17:18:42 +00:00

Opened #221 chore: Update email FROM address and fix unsubscribe link 2026-02-19 02:18:34 +00:00

Opened #223 feat: Replace NHTSA VIN decode with Google Gemini via OCR service 2026-02-19 03:11:02 +00:00

Opened #224 feat: Add VIN decode endpoint to OCR Python service (#223) 2026-02-19 03:19:25 +00:00

Opened #225 feat: Add backend OCR client method and types for VIN decode (#223) 2026-02-19 03:19:29 +00:00

Opened #226 feat: Rewire vehicles controller to use OCR VIN decode (#223) 2026-02-19 03:19:38 +00:00

Opened #227 chore: Remove NHTSA code and update documentation (#223) 2026-02-19 03:19:42 +00:00

Opened #228 feat: Update frontend and tests for Gemini VIN decode (#223) 2026-02-19 03:19:48 +00:00

Opened #231 feat: Migrate Gemini SDK to google-genai and enable Google Search grounding for VIN decode 2026-02-20 14:54:32 +00:00

Opened #232 feat: Update OCR dependency to google-genai (#231) 2026-02-20 15:10:59 +00:00

Opened #233 feat: Migrate GeminiEngine to google-genai with Google Search grounding (#231) 2026-02-20 15:11:05 +00:00

Opened #234 feat: Migrate MaintenanceReceiptExtractor to google-genai (#231) 2026-02-20 15:11:08 +00:00

Opened #235 feat: Update test mocks for google-genai SDK (#231) 2026-02-20 15:11:12 +00:00