Daily Changelog – September 19, 2025
Fixes
- Fixed holiday date display issue in calendar settings where Labor Day showed as Aug 31 instead of Sep 1 by changing
formatLocal()toformatDateOnlyLocal()inHolidaysSection.tsx, resolving timezone conversion error for date-only strings
Improvements
- Updated payroll export to include
holiday_hourstotals intotal_holiday_hoursand summed intototal_hourson APIapi/payroll/export, improving accuracy for holiday weeks
New
- Added daily holiday hours generator API
api/holiday-hours/generateto upsert paid holiday entries per eligible employee based on master schedules (8 or 10 hours), enabling automatic holiday population - Added script
scripts/generate-holiday-hours.jswith npm commandnpm run holiday:generateto trigger holiday generation via deployed app URL, allowing Heroku Scheduler or manual runs - Added unified time-off entries API
api/time-off/entriesto combine PTO requests and holiday hours into single dataset with employee names and filtering - Added time-off entries page
time-off/entrieswith data table showing all vacation and holiday entries across employees, accessible from navigation menu - Backfilled holiday hours for Memorial Day 2025 and Labor Day 2025 for all eligible employees using deployed script
Notes
- Holiday generator script initially failed due to API changes not being deployed; resolved after deployment
- Time-off entries page initially showed future empty holiday placeholders; fixed by defaulting
includeCalendar=falseto hide scheduled holidays until actual entries exist
