BillTracker/services
null 80b3bcc17b fix: HIGH+MEDIUM batch — 10 fixes (v0.24.0)
HIGH:
- Admin toggle-paid: removed cross-user admin branch, now requires ownership
- Analytics crash: imported missing standardizeError
- Export data loss: added cycle_type, cycle_day, bill_history_ranges to exports
- Single-user lockout: removed unnecessary sessions join from getSingleModeUser

MEDIUM:
- Password rate limiter: scoped to change-password only, not all profile routes
- Profile session invalidation: fixed req.sessionId → req.cookies[COOKIE_NAME]
- CSRF default: httpOnly now defaults to false (matches SPA double-submit pattern)
- CSRF password routes: removed csrfSkip for password change endpoints
- Notification due-day: calendar day comparison instead of timestamp floor
- Upcoming bills: clamped days to 1-365, default 30 for invalid input

FUTURE.md: marked all 10 items as FIXED, bumped version refs
HISTORY.md: added v0.24.0 entry
2026-05-10 15:25:47 -05:00
..
auditService.js v0.20.6: Audit logging for critical operations 2026-05-10 00:03:12 -05:00
authService.js v0.22.2: Session Token Rotation on Auth Events 2026-05-10 03:55:14 -05:00
backupScheduler.js initial commit 2026-05-03 19:51:57 -05:00
backupService.js push 2026-05-09 13:03:36 -05:00
cleanupService.js initial commit 2026-05-03 19:51:57 -05:00
notificationService.js fix: HIGH+MEDIUM batch — 10 fixes (v0.24.0) 2026-05-10 15:25:47 -05:00
oidcService.js push 2026-05-04 23:34:24 -05:00
spreadsheetImportService.js push 2026-05-09 13:03:36 -05:00
statusRuntime.js initial commit 2026-05-03 19:51:57 -05:00
statusService.js push 2026-05-09 13:03:36 -05:00
userDbImportService.js push 2026-05-04 20:12:57 -05:00