Three more widgets — unread mail, leads needing action, today's timecard

Featurekamo-internal
Shipped
22 Agosti 2026, 02:13 UTC
Author
kamo
Commit
112a9e0

The widget system paid for itself: each of these is a registry entry and a component, inheriting the grid, the drag, the ordering, the per-member show/hide, the settings screen and the five-right policy without any of those places learning its name. UNREAD MAIL takes its count from the websocket EmailService already pushes and its envelopes from the metadata index, because a pane that is on screen all day must not spend a member's IMAP connection budget on a summary. The number is therefore never stale and the list occasionally is, which is the right way round. LEADS NEEDING ACTION ranks by consequence — calls already missed, then calls about to be, then the leads whose missing comment is blocking this member from accepting more. It reads through the EXISTING grid endpoint rather than a new one, deliberately: a second path would have to re-implement the permission floor and the §164.312(b) PHI access record, and one that got either subtly wrong would be an audit hole that looks exactly like a working feature. TODAY'S TIMECARD shows where the member stands, what they have actually worked (meals and breaks taken out, which is why it is derived from the punches rather than from elapsed time), every punch on the record, and the punch button. It still ASKS before it writes, through the same confirmation dialog the nav control uses — a punch is a wage record only an HR administrator with a written reason can correct. That widget also needed the system to grow one thing: an availability HOOK. Whether a member punches a clock is a persisted employment fact rather than a right, so it has to be fetched, and offering a clock to somebody who does not punch one would be worse than no widget at all. A null answer while it is unknown is load-bearing — the launchpad waits on it rather than rendering a pane and taking it away again. /messages now opens a message from ?folder=&uid=. The mail widget hands out that link and, like the calendar before it, every item in it previously landed on the folder and left the member to find the thing again themselves.

All changes

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