- Shipped
- September 10, 2026 at 6:28 AM UTC
- Author
- Kamo
- Commit
- 7c99c06
A direct line between a customer executive and the KamoCRM executives: the chat half of the support window with no ticket, no status, no rating and no queue. THE TOOL WINDOW. Its own directory, because the draft guard resolves a tool's files from its own folder — and passes VACUOUSLY for a chat-only tool, since the composer's textarea lives in app/components/chat. The close guard is therefore hand-written, not inferred from a green tick. THE ATTRIBUTION LINE. Name, organization and official job title on the one line that used to hold a name, and on BOTH sides — the point of the channel is which letterhead somebody was writing under, which applies to the member's own older messages from a different organization too. The side of a message is computed from the sender's USER id at render and never stored; a stored side is what once made bubbles land on the wrong side irreproducibly. Most executives have no job title recorded, so two fields is the normal sight and there is no dangling separator. NAVTOP. Left of the bell, in the fixed chrome and deliberately out of NAV_REGISTRY — there is no "not movable" flag in this codebase, and staying out of the registry IS how an icon is made unhideable. It dispatches its own conversation explicitly: the tool is capped at one instance, and a propless open of a capped tool is a raise, not a navigation, so the button would otherwise re-raise whichever executive the Interaction Center had last opened. Its badge counts the viewer's own conversation, never the desk total — an operator is a party to every conversation they answer, and clicking a personal control cannot clear somebody else's unread. INTERACTION CENTER. A seventh bucket, right of Team Members, visible only to a holder of EXEC2EXEC_ACCESS inside the platform org. It lists USERS, not sessions — most of whom have never written anything — with their owned organizations abbreviated to "Acme +3", the full list in a tooltip, in the title attribute and in the row's aria-label, so it is reachable without a hover. ALL_BUCKETS is both the strip and the saved-preference allowlist, so one derived visible list feeds all three readers and a member restored onto a tab they can no longer see is bounced rather than stranded on a Tabs value with no Tab. WELCOME MESSAGE. The first writable control ever placed on the platform General tab. Back Fill sits behind a confirmation and reports what it did; it is gated on EXEC2EXEC_ACCESS rather than the tab's own right, because pressing it writes a message into people's conversations.