Commit Graph
159 Commits
Author SHA1 Message Date
Eric Gullickson 4897f0a52c feat: delete users - not tested 2025-12-22 18:20:25 -06:00
Eric Gullickson 91b4534e76 feat: Scheduled Maintenance feature complete 2025-12-22 14:12:33 -06:00
Eric Gullickson c017b8816f Mobile Fixes 2025-12-21 20:27:25 -06:00
Eric Gullickson 719c80ecd8 Notification updates 2025-12-21 19:56:52 -06:00
Eric Gullickson 144f1d5bb0 Fixed saved Premium 93 station logic and display. 2025-12-21 13:56:59 -06:00
Eric Gullickson 95f5e89e48 Community 93 Premium feature complete 2025-12-21 11:31:10 -06:00
Eric GullicksonandClaude Opus 4.5 1bde31247f Update dependencies and fix security vulnerabilities
Security fixes:
- get-jwks: 9.0.0 -> 11.0.3 (critical vulnerability)
- vite: 5.4.11 -> 6.0.0 (moderate vulnerability)
- patch-package: 6.5.1 -> 8.0.1 (low vulnerability)

Package updates:
- Backend: @fastify/cors 11.2.0, @fastify/helmet 13.0.2, @fastify/jwt 10.0.0
- Backend: supertest 7.1.4, @types/supertest 6.0.3, @types/node 22.0.0
- Frontend: @vitejs/plugin-react 5.1.2, zustand 5.0.0, framer-motion 12.0.0

Removed unused:
- minio (not imported anywhere in codebase)

TypeScript:
- Temporarily disabled exactOptionalPropertyTypes, noPropertyAccessFromIndexSignature,
  noUncheckedIndexedAccess to fix pre-existing type errors (TODO: re-enable)
- Fixed process.env bracket notation access
- Fixed unused React imports in test files
- Renamed test files with JSX from .ts to .tsx

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2025-12-20 14:18:41 -06:00
Eric GullicksonandClaude Opus 4.5 aa37ecfcd3 Add local development build workflow
- Add Makefile targets: install, type-check, lint, build-local
- Add type-check script to backend/package.json
- Create backend/.gitignore for build artifacts

Enables quick TypeScript error detection without Docker rebuilds.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2025-12-20 12:47:18 -06:00
Eric Gullickson 513df9c027 Updated image to node:lts-alpine 2025-12-20 12:16:58 -06:00
Eric GullicksonandClaude Opus 4.5 065fed8d98 Fix GitLab CI backend health check
Use docker exec curl instead of node http.get from host.
Port 3001 is not exposed to host, so health checks must run inside the container.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2025-12-20 12:06:44 -06:00
Eric GullicksonandClaude Opus 4.5 ce6976d3ab Fix Let's Encrypt certificate deployment issues
- Change CF_DNS_API_TOKEN_FILE to CLOUDFLARE_DNS_API_TOKEN_FILE (correct env var for Traefik/lego)
- Fix inject-secrets.sh to clean up Docker-created directories before injecting secrets
- Add detection for GitLab variables set as Variable type instead of File type
- Improve error messages to help diagnose configuration issues

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2025-12-20 11:45:00 -06:00
Eric Gullickson 9eb025a21f Update to production Let's Encrypt certificates 2025-12-20 11:14:44 -06:00
Eric Gullickson a17944d79f Update deployment health checks. Fix UI bugs. 2025-12-20 10:50:44 -06:00
Eric Gullickson 2bd0981490 PROMPTS.md update 2025-12-20 09:51:45 -06:00
Eric Gullickson b9801d5f3b Update Dockerfile with curl 2025-12-20 09:50:00 -06:00
Eric Gullickson 2174a1b1e3 Add vehicle ETL import to GitLab CI deployment 2025-12-19 14:14:05 -06:00
Eric Gullickson 0e85cf48c3 Updated packages. Changed date picker package to Day.JS and applied it across whole app. 2025-12-18 16:07:30 -06:00
Eric GullicksonandClaude Opus 4.5 843825a956 Fix: Load runtime config before module scripts
Move config.js script to head section so it loads synchronously before
any module scripts execute. This fixes a race condition on mobile where
the app could initialize before window.CONFIG was set.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2025-12-18 14:23:39 -06:00
Eric Gullickson cdb9d5575f Fix: Move catalog search indexes to ETL migration 2025-12-18 13:53:50 -06:00
Eric Gullickson 7a2e11953a Update config defs 2025-12-18 13:40:57 -06:00
Eric Gullickson 33e5797ae0 Runner update 1.5 2025-12-18 13:30:43 -06:00
Eric GullicksonandClaude Opus 4.5 667632f54b Track config files for CI/CD deployment
Config files were previously gitignored, causing CI/CD pipeline to fail
because Docker would create directories instead of mounting the expected files.

- Remove config/** from .gitignore
- Track all config files (secrets still ignored)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2025-12-18 13:28:27 -06:00
Eric Gullickson a991c01f64 Runner test 1.4 2025-12-18 13:19:46 -06:00
Eric Gullickson e52e2390bc Test Run 1.3 2025-12-18 13:11:54 -06:00
Eric Gullickson 16833d94f8 Update permissions script 2025-12-18 13:10:18 -06:00
Eric Gullickson 6fb3882e4f Runner update v1.1 2025-12-18 13:06:22 -06:00
Eric Gullickson b16aa80909 Test Run 1.0 2025-12-18 13:02:39 -06:00
Eric Gullickson b1de1366ba Update to workflow 2025-12-18 12:56:30 -06:00
Eric Gullickson c2118bc8c1 Updated pipeline 2025-12-18 12:17:21 -06:00
Eric Gullickson 72e23a8ba0 Update deployment YAML 2025-12-18 12:07:47 -06:00
Eric Gullickson c6e187e29e CI/CD Improvements 2025-12-18 12:03:04 -06:00
Eric Gullickson 192f2edc04 Update runner config 2025-12-18 08:43:35 -06:00
Eric Gullickson 07275ec549 Deleted files. Updated gitignore 2025-12-18 08:41:53 -06:00
Eric Gullickson 2105919d26 Remove playwright files 2025-12-17 21:47:25 -06:00
Eric Gullickson c13e17f0eb Mobile UX fixes 2025-12-17 21:46:44 -06:00
Eric Gullickson b611b56336 Initial Commit 2025-12-17 15:43:32 -06:00
Eric Gullickson cd0cfa8913 Vehicle drop down and Gas Station fixes 2025-12-17 10:49:29 -06:00
Eric Gullickson 0925a31fd4 Custom Images? 2025-12-16 07:49:08 -06:00
Eric Gullickson 263fc434b0 Photos for vehicles 2025-12-15 21:39:51 -06:00
Eric Gullickson e1c48b7a26 Added Logos 2025-12-15 21:13:23 -06:00
Eric Gullickson 8a28749b3c Fixed COMMANDS.md 2025-12-15 20:52:20 -06:00
Eric Gullickson b84d4c7fef Vehicle ETL Process fixed. Admin settings fixed. 2025-12-15 20:51:52 -06:00
Eric Gullickson 1a9ead9d9d Commit 2025-12-15 18:50:13 -06:00
Eric Gullickson 1e599e334f Possible working ETL 2025-12-15 18:19:55 -06:00
Eric Gullickson 1fc69b7779 Before updates to NHTSA 2025-12-14 14:53:45 -06:00
Eric Gullickson 61e87bb9ad ETL Fix Plan complete. Not implemented. 2025-12-14 13:55:39 -06:00
Eric Gullickson 3ca3592e72 Updated PROMPTS 2025-12-14 13:24:21 -06:00
Eric Gullickson a9fc7741a6 Improved the UX on Stations Page 2025-12-14 12:51:29 -06:00
Eric Gullickson 3852ec9f71 Documentation Updates 2025-12-14 12:00:42 -06:00
Eric GullicksonandClaude Sonnet 4.5 183d55b0fe Security fix: Implement magic byte validation for file uploads (Fix 2)
Fixed HIGH severity security vulnerability (CVSS 7.5) where file upload
validation relied solely on Content-Type headers, allowing malicious
files with spoofed MIME types to bypass validation.

Changes:
- Updated file-type dependency to v16.5.4 (last CommonJS version)
- Added magic byte (file signature) validation using fileTypeFromBuffer
- Read first 4100 bytes of upload to detect actual file type
- Verify detected type matches claimed Content-Type header
- Reject files where content doesn't match headers
- Enhanced logging with detected_type for audit trail

Security impact:
- Prevents .exe files renamed to .pdf from being uploaded
- Prevents Content-Type header spoofing attacks
- Validates file content at binary level, not just metadata

Status: Fix 2 complete
- Fix 1: crypto.randomBytes() ✓
- Fix 2: Magic byte validation ✓
- Fix 3: Google Maps API proxy ✓

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
2025-12-14 10:06:53 -06:00