Cap the legal audience roster, and refresh after Deliver

Fixkamo-internal
Shipped
6 Agosti 2026, 17:11 UTC
Author
kamo
Commit
ad31673

The Assigned Packages grid filled its team-member filter column by asking audience-preview for allTeamMembers:true on mount -- a name and an email address for every active person in the org, in one response, growing with the tenant. The server now caps that list at 500 and reports the real count separately, so rosterFrom() is the one place allowed to read `total`; counting `members.length` would silently report 500 people in a 3,000-person company AND hide that the picker is partial. The column says "500 / 3000" when truncated -- numbers only, the same choice the pagination label already makes, because every candidate key for "showing N of M" is either absent from the dictionary or damaged (common.states.incomplete is INVERTED in pt.json). Deliver did not reload the grid while Redeliver did; that was an oversight, not a decision. The deliver dialog's no-email skip count is hidden when it is zero: "Email: 0" reads as an address field that failed to load, while the same row carrying a real number reads as the skip count it is. The label itself still waits for Phase 9's i18n scrub, as the file already says. 702 vitest, tsc clean, both guards green.

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