- Shipped
- August 6, 2026 at 5:11 PM 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.