AwaitingApproval is nullable, and null is not zero

Fixkamo-internal
Ya
12 Agosti 2026, 17:53 UTC
Mwandishi
kamo
Ahadi ya
83a6fd2

SecurityService now withholds the approval half of the summary from a caller without FINALIZE_PAY_PERIODS — resolveRole never admitted MANAGE_TIMECARDS to approval authority, so the composite was handing over a count and per-member approval states the platform refuses to serve directly. awaitingApproval is `number | null` on the wire. The pillar renders an em dash for null, never a count-up to 0 — the same null-vs-zero rule already applied to passRate, averageScore and compliancePercent. The APPROVAL queue is ABSENT, not empty, when the value is withheld. "Every timecard is clear." would assert something the caller was never told. Absence is how this page already renders a permission boundary, and it is the right shape rather than the failed state: there is nothing to retry, so "could not be loaded / try again" would be a lie in the other direction. A null while the fetch is still in flight or failed is a different case — `attendance` is null then, and the queue stays so the failed state can render. No i18n key added.

Mabadiliko yote

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei