- Shipped
- August 11, 2026 at 12:54 AM UTC
- Author
- Kamo
- Commit
- 03d3a69
Picking a person is easier when the row says whether they are there and how to reach them, so each one now carries what they last declared, whether anything of theirs is actually connected, and their work extension when they have one. Availability and presence are both here because either alone misleads: availability_status only moves on sign-in, sign-out and a manual toggle, so a member who never signs out reads AVAILABLE indefinitely. Presence is read from the PRESENCE:{memberId} key MediaService writes — a cross-service read worth naming. The alternatives were an HTTP round trip to MediaService on every keystroke of a search, or reading presence in the browser, and the browser cannot: ToolProviders renders the tool dock as a sibling of the tree holding the presence providers, so a picker opened inside a support ticket window would report every colleague offline. Both services share the Redis host and database. A failed lookup reads as offline rather than failing the search.