Frontend: pivotWfShifts now skips entries where times='?' and hours=0
— immediately removes the visual glitch from any stale DB rows.
Backend: when today's timesheet pull finds no completed shifts, write
a source='workforce' row instead of skipping, so the stale timesheet
entry is overwritten and rota sync can restore schedule data for today.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Pull timesheets was writing source='timesheet' rows for future dates
(no clock-in data yet), giving ? / 0.00h and preventing rota sync
from ever healing those dates.
Three-part fix:
- Backend runTimesheetSync: cap end date to today before looping
- Frontend syncTimesheetData: cap end date to today before calling API
- Backend runRotaSync: only skip timesheet-sourced dates that are <= today,
so any future dates accidentally marked as timesheet are self-healed
next time rota sync runs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-23 12:08:36 +00:00
Renamed from frontend/dist/assets/index-Bp4tnr99.js (Browse further)