Release 4.51.0
30 Oct 2026 · pinned package [email protected]
- The Dock (
dock.js; the Dock plan of 2026-10-30, K-D1; master plan L13). The owner, 10-30: your agent and your chats "more accessible across sites … sleek, modern, minimal". It is one surface at the edge of every OpenVibe page.- The pill: the mark (busy while an agent works), a word and a dot (amber, with a ping, when something needs you). It shows only while an agent works, one needs you, or the person pinned it, in the corner the Dock sits in, above a phone's app bar.
- The Dock: a floating card on a desktop and a sheet on a phone, with two tabs. Agents is what needs you, then what runs, with Approve and Decline in place. Activity is the bell's list.
- On a desktop: it is not modal; the head (or a tab, after 6 px) drags it to a corner and the free corner resizes it.
- State: it is the Network's, so it follows the person between sites:
GET /api/v1/me/dock, then one debouncedPUTper burst of changes;- this site's copy paints it first;
- an open Dock reopens on a desktop, never on a phone;
- a 404 keeps it away for a day.
- Weight: navbar.js grows by 0.6 KB brotli (the loader, the account menu's Dock tile,
openDock; its budget is now 41 KB). The pill and the Dock aredock.js, 8.6 KB brotli, loaded for signed-in people only. - Test:
test/dock-chrome.test.jscovers when the pill shows, both tabs, the PUTs, drag and resize within the limits, restore on desktops only, the 404, signed out, and 320 px.
OpenVibeActionCenter.mount(container, { token, apiBase, buckets, onCounts }): the Action Center's rows in another surface's container, with their own data and timer.OpenVibeNotifications.renderDock(container): the bell's list without a frame, with Mark all read in its foot.- Desktop toasts stack above the Dock's pill in the bottom-right corner (
--ov-dock-clear).
PagesThe menuThe DockThe navbarThe kit
Rules39 The account lives in the menu's You tab, not in a dropdown.38 The balances are one pill that shows one balance at a time.96 The Pair is the only mark, and it does the waiting.