- Shipped
- August 7, 2026 at 6:11 AM UTC
- Author
- kamo
- Commit
- 1ea4446
The Position card gains Manager, optional. It is a search, not a dropdown: an org can hold thousands of names, and the only thing a select with all of them guarantees is a scroll. A rejected manager — a reporting loop, say — surfaces the server's reason rather than a generic failure the member cannot act on. MemberPickerDialog is the picker. Search runs on the server, results arrive a page at a time, and scrolling asks for the next one, so nothing here holds a directory. It reads as a command palette because that is the fastest route for someone who knows the name, while browsing still works for someone who does not: arrows move, Enter picks, Escape closes, and the footer says so. Rows carry title, department, email and report count — enough to tell two people with the same name apart. Someone who cannot be picked stays visible with the reason attached; a name that silently is not in the list reads as a bug. Two pickers already existed and neither could survive a large org. The e-sign signer dialog and chat's add-members popover both fetched every member and filtered in the browser. Both now render this dialog, keeping their own sources — a signer can be any member, chat's directory is not just staff — and gaining the same search, keyboard handling and look. The popover becomes AddChatMembersDialog, since it is no longer a popover.