- Week Prev/Next/Today now anchor to this Monday instead of today, so
navigation stays week-aligned
- Timesheet sync no longer pulls into the future — capped at today
while shift-fetching still covers the full displayed week
- Roster pivot skips entries that are still clocked in with no
clock-out yet, instead of showing them as 0 hours
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
`loadAll` captured `weekStart` in a stale closure when called via
`setTimeout`. Selecting a date would show the correct value in the input
but load data for the previously-shown week. Replaced all deferred
`setTimeout(() => loadAll(true), 0)` calls with direct `loadAll(true, newDate)`
calls, passing the updated date as an explicit argument.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>