openvibers/openvibe.shared Commits

shipped.js knows OpenVibe.Bot; release 2.10.1 (#20)

OP OpenVibers committed 5 Oct 2026 · c298afd68b · 7 files, +13 −6

openvibe-shared 2.10.1: shipped.js knows OpenVibe.Bot (bot -> "Bot"), so the updates log and filter chip read Bot rather than the raw id, and openvibe.bot / ?site=bot resolve to it. test/shipped.test.js covers the resolve; ov test test/shipped.test.js passes. Release files: package.json, package-lock.json, STATUS.json, README status line, CHANGELOG.

Built in the main session (Opus).

Changes

ddiff --git a/CHANGELOG.md b/CHANGELOG.md
iindex bb46158..c93b1ca 100644
---- a/CHANGELOG.md
++++ b/CHANGELOG.md
@@@ -6,6 +6,11 @@ A release is the git tag `vX.Y.Z`; consumers pin the tag's tarball (see README).
## Unreleased
++## 2.10.1 — 2026-10-05
++
++- `openvibe-shared/shipped`: OpenVibe.Bot is a known site (`bot` → "Bot"), so its changelog lines and filter chip
++ read "Bot" rather than the raw id, and `?site=bot` / `openvibe.bot` resolve to it.
++
## 2.10.0 — 2026-10-05
- `openvibe-shared/showcase`: `nextSteps({ id, title, lede, items })` renders up to four next steps on other OpenVibe
ddiff --git a/README.md b/README.md
iindex ebfe8d9..50e25ed 100644
---- a/README.md
++++ b/README.md
@@@ -2,7 +2,7 @@
> Versioned UI, the OpenVibe Frame (the navbar, footer and "shipped" views every site sits in), SEO, legal and release-client packages every OpenVibe site renders.
--**Status:** alpha, v2.10.0 (every release is a tag; see [CHANGELOG.md](CHANGELOG.md)). Every deployed
++**Status:** alpha, v2.10.1 (every release is a tag; see [CHANGELOG.md](CHANGELOG.md)). Every deployed
consumer installs a tagged release and none keeps a vendored copy
([docs/migration-plan.md](docs/migration-plan.md) is done); each repository's `package.json` names
the tag it pins.
ddiff --git a/STATUS.json b/STATUS.json
iindex 101229e..a71b02e 100644
---- a/STATUS.json
++++ b/STATUS.json
@@@ -4,7 +4,7 @@
"code": true,
"wave": "W2",
"package": "openvibe-shared",
-- "version": "2.10.0",
++ "version": "2.10.1",
"plan": "OpenVibe End-to-End Realignment & Implementation Plan, revision 3 (20 Sep 2026)",
"deployed": false,
"deployment": "none of its own: a package released as git tags; OpenVibe.Network serves /shared/* from its pinned tag, and a site can serve its own pinned copy (openvibe-shared/serve)",
ddiff --git a/package-lock.json b/package-lock.json
iindex d5d152d..1372964 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -1,12 +1,12 @@
{
"name": "openvibe-shared",
-- "version": "2.10.0",
++ "version": "2.10.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "openvibe-shared",
-- "version": "2.10.0",
++ "version": "2.10.1",
"license": "MIT",
"bin": {
"openvibe-build-assets": "scripts/build-assets.js"
ddiff --git a/package.json b/package.json
iindex c1017e5..3aac78e 100644
---- a/package.json
++++ b/package.json
@@@ -1,6 +1,6 @@
{
"name": "openvibe-shared",
-- "version": "2.10.0",
++ "version": "2.10.1",
"description": "Shared navbar, footer, themes, icons, legal pages, SEO, auth and analytics for every OpenVibe site",
"main": "index.js",
"bin": {
ddiff --git a/shipped.js b/shipped.js
iindex cb41f8e..b344257 100644
---- a/shipped.js
++++ b/shipped.js
@@@ -34,7 +34,7 @@
}(typeof globalThis !== 'undefined' ? globalThis : this, function () {
'use strict';
const API = 'https://openvibe.network/api/v1/changelog';
-- const SITE_NAMES = { live: 'Live', network: 'Network', tools: 'Tools', media: 'Media', community: 'Community', chat: 'Chat', games: 'Games', blog: 'Blog', wiki: 'Wiki', news: 'News', reviews: 'Reviews', deals: 'Deals', coupons: 'Coupons', trade: 'Trade', codes: 'Codes', host: 'Host', ai: 'AI', search: 'Search', sources: 'Sources', events: 'Events', billing: 'Billing', tips: 'Tips', vip: 'VIP', openre: 'OpenRe', sites: 'Sites', realtime: 'Realtime' };
++ const SITE_NAMES = { live: 'Live', network: 'Network', tools: 'Tools', media: 'Media', community: 'Community', chat: 'Chat', games: 'Games', blog: 'Blog', wiki: 'Wiki', news: 'News', reviews: 'Reviews', deals: 'Deals', coupons: 'Coupons', trade: 'Trade', codes: 'Codes', host: 'Host', ai: 'AI', search: 'Search', sources: 'Sources', events: 'Events', billing: 'Billing', tips: 'Tips', vip: 'VIP', openre: 'OpenRe', bot: 'Bot', sites: 'Sites', realtime: 'Realtime' };
const STYLE_ID = 'ov-shipped-style';
const TEXT = 'var(--text-primary,var(--text,inherit))';
const MUTED = 'var(--text-secondary,var(--text-muted,#8b93ad))';
ddiff --git a/test/shipped.test.js b/test/shipped.test.js
iindex 4abed92..f4a30c2 100644
---- a/test/shipped.test.js
++++ b/test/shipped.test.js
@@@ -85,6 +85,8 @@ const data = {
assert.strictEqual(sf('my.openvibe.network'), 'network');
assert.strictEqual(sf('events.openvibe.network'), 'events');
assert.strictEqual(sf('ingest.openre.stream'), 'openre');
++ assert.strictEqual(sf('openvibe.bot'), 'bot', 'OpenVibe.Bot is a site');
++ assert.strictEqual(sf('bot'), 'bot');
assert.strictEqual(sf('www.openvibe.live'), 'live');
assert.strictEqual(sf('example.com'), null);
assert.strictEqual(sf('live'), 'live');