Fulfillment – Daily Changelog – 09/04/2025

09/04/2025

  • Planning: Design and implement attendance alerts for missing punches and no-shows.

Notes:

  • Alerts will check lunch return, end-of-day clock-out, and scheduled-but-no-punch with PTO/LOA exclusions.
  • Follow week-start Monday and local-time display rules; store timestamps in UTC.
  • Colors: token-only; no raw hex/rgb in any UI we add.

  • Scope

– Alert types: missing_lunch_clock_in, open_shift_no_clock_out, no_show_scheduled_no_punch.

– API: GET /api/attendance/alerts?date=YYYY-MM-DD (optionally range).

– Diagnostics: structured counts and reasons in server logs.

  • Email

– Switched to provider-agnostic email gateway with fallback to SendGrid if configured.

– Added POST /api/attendance/alerts/send to compute and email alerts.

– Palette rule exception: allow inline hex in src/lib/email.ts only; validator updated accordingly.

  • UI Fixes

– Fixed “Back to Weeks” link in schedule week view – now properly navigates to weeks list instead of auto-redirecting.

– Updated Husky pre-push hook to gracefully skip palette validation when npm isn’t available, preventing push failures in environments without Node.

– Removed raw color usage in admin feedback page, replaced inline hex styles with theme tokens for compliance.