Eric Gullickson
c98211f4a2
feat: Implement centralized audit logging admin interface (refs #10 )
...
Deploy to Staging / Build Images (pull_request) Successful in 4m42s
Deploy to Staging / Deploy to Staging (pull_request) Successful in 37s
Deploy to Staging / Verify Staging (pull_request) Failing after 6s
Deploy to Staging / Notify Staging Ready (pull_request) Has been skipped
Deploy to Staging / Notify Staging Failure (pull_request) Successful in 6s
- Add audit_logs table with categories, severities, and indexes
- Create AuditLogService and AuditLogRepository
- Add REST API endpoints for viewing and exporting logs
- Wire audit logging into auth, vehicles, admin, and backup features
- Add desktop AdminLogsPage with filters and CSV export
- Add mobile AdminLogsMobileScreen with card layout
- Implement 90-day retention cleanup job
- Remove old AuditLogPanel from AdminCatalogPage
Security fixes:
- Escape LIKE special characters to prevent pattern injection
- Limit CSV export to 5000 records to prevent memory exhaustion
- Add truncation warning headers for large exports
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-11 11:09:09 -06:00
Eric Gullickson
f494f77150
feat: Implement user tier-based feature gating system (refs #8 )
...
Deploy to Staging / Build Images (pull_request) Successful in 4m35s
Deploy to Staging / Deploy to Staging (pull_request) Successful in 27s
Deploy to Staging / Verify Staging (pull_request) Successful in 5s
Deploy to Staging / Notify Staging Ready (pull_request) Successful in 5s
Deploy to Staging / Notify Staging Failure (pull_request) Has been skipped
Add subscription tier system to gate features behind Free/Pro/Enterprise tiers.
Backend:
- Create feature-tiers.ts with FEATURE_TIERS config and utilities
- Add /api/config/feature-tiers endpoint for frontend config fetch
- Create requireTier middleware for route-level tier enforcement
- Add subscriptionTier to request.userContext in auth plugin
- Gate scanForMaintenance in documents controller (Pro+ required)
- Add migration to reset scanForMaintenance for free users
Frontend:
- Create useTierAccess hook for tier checking
- Create UpgradeRequiredDialog component (responsive)
- Gate DocumentForm checkbox with lock icon for free users
- Add SubscriptionTier type to profile.types.ts
Documentation:
- Add TIER-GATING.md with usage guide
Tests: 30 passing (feature-tiers, tier-guard, controller)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-04 14:34:47 -06:00
Eric Gullickson
b933329539
feat: update docs for token efficient usage
Deploy to Staging / Build Images (push) Has started running
Deploy to Staging / Deploy to Staging (push) Has been cancelled
Deploy to Staging / Verify Staging (push) Has been cancelled
Deploy to Staging / Notify Staging Ready (push) Has been cancelled
Deploy to Staging / Notify Staging Failure (push) Has been cancelled
2026-01-03 11:59:47 -06:00
Eric Gullickson
7f278f6574
fix: Backup schedules and pruning
Deploy to Staging / Build Images (push) Successful in 4m30s
Deploy to Staging / Deploy to Staging (push) Successful in 37s
Deploy to Staging / Verify Staging (push) Successful in 6s
Deploy to Staging / Notify Staging Ready (push) Successful in 5s
Deploy to Staging / Notify Staging Failure (push) Has been skipped
2026-01-01 11:40:49 -06:00
Eric Gullickson
d8ea0c7297
fix: Implement distribute locker in Redis for cron jobs
Deploy to Staging / Build Images (push) Failing after 30s
Deploy to Staging / Deploy to Staging (push) Has been skipped
Deploy to Staging / Verify Staging (push) Has been skipped
Deploy to Staging / Notify Staging Ready (push) Has been skipped
Deploy to Staging / Notify Staging Failure (push) Successful in 6s
2026-01-01 11:02:54 -06:00
Eric Gullickson
ffd8ecd1d0
fix: OS Detection of theme removed.
Deploy to Staging / Build Images (push) Successful in 4m34s
Deploy to Staging / Deploy to Staging (push) Successful in 37s
Deploy to Staging / Verify Staging (push) Successful in 6s
Deploy to Staging / Notify Staging Ready (push) Successful in 5s
Deploy to Staging / Notify Staging Failure (push) Has been skipped
2026-01-01 10:30:08 -06:00
Eric Gullickson
fb52ce398b
feat: user export service. bug and UX fixes. Complete minus outstanding email template fixes.
2025-12-26 14:06:03 -06:00
Eric Gullickson
8c13dc0a55
feat: navigation and UX improvements complete
2025-12-26 09:25:42 -06:00
Eric Gullickson
0357ce391f
feat: Backup & Restore - Manual backup tested complete.
2025-12-25 10:50:09 -06:00
Eric Gullickson
55cf4923b8
feat: onboarding pre-work
2025-12-22 21:34:05 -06:00
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
719c80ecd8
Notification updates
2025-12-21 19:56:52 -06:00
Eric Gullickson
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 <noreply@anthropic.com >
2025-12-20 14:18:41 -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 Gullickson
7a2e11953a
Update config defs
2025-12-18 13:40:57 -06:00
Eric Gullickson
bb4a356b9e
Google Maps Bug
2025-11-08 12:17:29 -06:00
Eric Gullickson
858cf31d38
Admin settings fixed
2025-11-06 14:07:16 -06:00
Eric Gullickson
8174e0d5f9
Admin User v1
2025-11-05 19:04:06 -06:00
Eric Gullickson
eeb20543fa
Homepage Redesign
2025-11-03 14:06:54 -06:00
Eric Gullickson
3693ce5761
Docs Cleanup
2025-11-02 10:34:43 -06:00
Eric Gullickson
046c66fc7d
Redesign
2025-11-01 21:27:42 -05:00
Eric Gullickson
775a1ff69e
Added Documents Feature
2025-09-28 20:35:46 -05:00
Eric Gullickson
a052040e3a
Initial Commit
2025-09-17 16:09:15 -05:00
Eric Gullickson
0cdb9803de
Updated frameworks.
2025-08-25 12:40:27 -05:00
Eric Gullickson
e22d643ae3
Security Fixes
2025-08-24 14:39:50 -05:00
Eric Gullickson
b534e92636
Modernization Project Complete. Updated to latest versions of frameworks.
2025-08-24 09:49:21 -05:00
Eric Gullickson
5f67a904e0
fixed imports. Maybe.
2025-08-23 11:28:01 -05:00
Eric Gullickson
28ec351928
fix build, maybe
2025-08-23 11:08:23 -05:00
Eric Gullickson
8f5117a4e2
MVP Build
2025-08-09 12:47:15 -05:00