Release 4.52.0
30 Oct 2026 · pinned package [email protected]
- The Dock's Chats tab (Dock plan K-D2). The person's conversations and DMs, on every OpenVibe site.
- Where they come from: OpenVibe.Chat's own API with the person's Network token (
GET /api/dm/conversations,/unread,…/messages,…/read; Chat checks they are in each one). - The list: named for the other person or the group, with the last line ("You: …" when it was theirs), the time and the unread count.
- A thread opens in place: their bubbles and yours; Enter sends and Shift+Enter is a new line. It polls for new messages every 5 s while it is open, is marked read as it is shown, and links out to Chat.
- The open chat is the Dock's state, so it follows you between sites. The tab counts Chat's unread messages.
- Safety: what people wrote is always text, never markup, and only https pictures are shown.
- Where they come from: OpenVibe.Chat's own API with the person's Network token (
- A tap that redraws its own panel no longer closes the phone sheet. Opening a chat replaced the list, so the tapped node was detached by the time the tap-outside check ran; it now reads the event's path at dispatch.
- Narrow Docks (under 440 px) drop the tab icons, so three tabs, their counts, the pin and × fit.
dockChatBaseoverrides Chat's origin for tests and staging. dock.js is 12.3 KB brotli, for signed-in people only.test/dock-chrome.test.jsadds the Chats scenario: the list and its counts, the thread (text, never markup), Enter sends, read receipts, the state, and the phone sheet staying open.
Rules92 The menu's places: Here, Feed, Chat, Vibe, You; Vibe holds Chat and Agents.20 Status is a word, never colour alone.