/hr/attendance roster and the NavTop clock control

Featurekamo-internal
Shipped
August 12, 2026 at 1:20 AM UTC
Author
kamo
Commit
a006dea

Replaces the HrTabPlaceholder body. The route, HR_TABS entry, MANAGE_TIMECARDS gate and tab i18n keys all already existed; nothing here registers anything. Roster hours are derived server-side from the immutable punch log on every read rather than kept as a running total, so a corrected punch shows immediately and a bug produces a wrong number once instead of compounding. The clock control is fixed chrome beside Legal & Compliance, not a NAV_REGISTRY entry: the registry cannot express a position between two fixed controls, its badgeKey is dead code, and every registry entry is draggable and unpinnable -- a compliance clock must not be something someone can hide from themselves. It gates on the PERSISTED enrollment, never checkRight, which returns true for every right under god mode and would show a clock in every org an operator visited. timecardControlApplies is shared by the control and its polling so both go quiet together -- two copies of that predicate drift, and the failure mode is a hidden button whose fetch runs forever. Clock state is a FOURTH independent signal: not presence (60s heartbeat, 300s TTL), and not availability_status, which is auto-set to AWAY on logout and gates lead and support routing. Poll-only for now with a 60s floor. The STOMP relay lands with the MediaService change; core NATS is unstreamed and lossy so the REST seed is mandatory anyway.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing