Release 4.114.0
6 Nov 2026 · pinned package [email protected]
- One Share sheet on every site (
ov-share.js,ov-share.css; plan track Q; docs/share.md). Press Share anywhere and the same sheet opens: a sheet from the bottom on a phone, a dialog on a computer, no tabs.- Send it (everyone): the link with Copy, which turns into a tick; on a phone, "Send with your phone" (the phone's own share sheet, with its contacts and apps); 16 places (X, Bluesky, WhatsApp, Reddit, Discord, Telegram, Threads, Mastodon, Facebook, email, Messages, LinkedIn, Pinterest, Tumblr, Hacker News, LINE), recent ones first, the rest behind "More (n)"; a QR code made on the device; "Start at 1:23"; embed code. Nothing is added to a shared link.
- Who can open it (the owner, through
openvibe-sdk/share's router): Everyone, Anyone with the link, Specific people (by @name, checked as you add them; Can view or Can edit; an end date), Only me; people who asked; transfer of ownership, bound to the recipient, "Remove my access" by default. Saves send If-Match. A 401, 403 or 404 leaves only Send it. OVShare.offer()is the recipient's Accept/Decline banner;OVShare.gate()is the not-on-the-list page (Ask for access, or Sign in). Every name and title is text, never markup.- The navbar loads it on the first press of a
[data-ov-share-sheet]button, so nothing loads before that. The kit's[data-ovk-share]items open it too. - Events:
ov-share:sent{ target, url }andov-share:change. - A Share component in OpenVibe Design (
openvibe-shared/components,kit.share({ title, url, kind, id })): a kit document's{ type: 'share' }renders the button, and the spec gives its anatomy, states, keys, and the Android (Intent chooser with Direct Share) and iOS (ShareLink) views, so native apps share the same way. ov-qr.js: a QR code from a link, made on the device with no dependency and no network (a Locker link's key stays on the device).OVQR.matrix(text, { ecc })andOVQR.svg(text, { ecc, margin, dark, light, title }); byte mode, versions 1 to 40, all eight masks. Ported from Nayuki's QR Code generator (MIT); checked module by module against bwip-js on 1,196 matrices (test/ov-qr.test.js). The sheet loads it on the first QR code.- Brand logos: Tumblr, Hacker News and LINE join brands.js (49 brands, Simple Icons 16.36.0, CC0).
- Tests: test/ov-share-chrome.test.js (headless Chrome).
PagesThe bar’s brandThe navbarIconsThe kit
Rules92 The menu's places: Here, Feed, Chat, Vibe, You; Vibe holds Chat and Agents.94 A site's name opens its pages, and a way to every site.31 One navbar per page, owned by the shared Frame.