openvibers/openvibe.design Commits

openvibe-shared v4.126.0 (was v4.124.0) (#169)

OP OpenVibers committed 6 days ago · c286b466cc · 5 files, +12 −9

* openvibe-shared v4.126.0 (was v4.124.0)

Opened by scripts/pin-bump.js in OpenVibers/OpenVibe.Shared after the v4.126.0 release.

* Merge origin/main into pin-bump/openvibe-shared-v4.126.0

* openvibe-shared v4.126.0 pin, refreshed on top of main

* the owner's test route answers before the shared dispatcher

openvibe-shared 4.125.0 gave adminRoutes a test route of its own, so the dispatcher answered POST /internal/config/:namespace/test/:key before this service's own route and returned 403 (it wants an acting subject; this route is guarded by the service-token capability). The service's route is mounted in front of the dispatcher again.

2026-11-07, the openvibe-shared v4.126.0 pin round.

Changes

ddiff --git a/README.md b/README.md
iindex 86c99fd..0f2d082 100644
---- a/README.md
++++ b/README.md
@@@ -229,6 +229,6 @@ Part of the [OpenVibe network](https://openvibe.network). Built in the open by
<!-- versions:start -->
- openvibe-contracts: v0.315.0
- openvibe-sdk: v0.94.0
--- openvibe-shared: v4.124.0
++- openvibe-shared: v4.126.0
- openvibe-publishing: v1.5.0
<!-- versions:end -->
ddiff --git a/STATUS.json b/STATUS.json
iindex 8721168..f61bbcc 100644
---- a/STATUS.json
++++ b/STATUS.json
@@@ -10,12 +10,12 @@
"domain": "openvibe.design",
"contracts": "openvibe-contracts v0.315.0",
"sdk": "openvibe-sdk v0.94.0",
-- "shared": "openvibe-shared v4.124.0",
++ "shared": "openvibe-shared v4.126.0",
"packages": [
"openvibe-contracts v0.315.0",
"openvibe-publishing v1.5.0",
"openvibe-sdk v0.94.0",
-- "openvibe-shared v4.124.0"
++ "openvibe-shared v4.126.0"
],
"summary": "The service skeleton for openvibe.design: Network sign-in as OAuth client `design` (PKCE S256, httpOnly design_at/design_rt cookies) and a theme API proxy to OpenVibe.Network's /api/themes. The proxy serves the public catalogue (cached 5 minutes), one theme, the person's active theme and custom variables, saving a theme with source 'studio', its history and a restore by id, and a submission to the gallery. Writes need this site's own Origin; Network 4xx answers pass through and a Network failure is 502. The studio is designed: a gallery, previews on a Live channel, a Chat room and a shop's grid (with colour-vision views), a six-colour editor that derives the full token set, WCAG checks that gate Use, sharing to the gallery, and History with Restore. The Arena queues one prompt for three models through OpenVibe.AI (client credentials, ai.run.create), stores sanitized HTML with reported model/provider/cost/time/tokens, renders it only in sandboxed CSP-capped iframes, draws blind pairs, records one vote per person per round, and keeps Elo ratings per category plus median cost and time. The prompts, outputs and votes are an open JSONL dataset; rounds and votes follow ADR-033 export and deletion.",
"works": [
ddiff --git a/package-lock.json b/package-lock.json
iindex 61a20e8..6d42852 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -18,7 +18,7 @@
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.315.0",
"openvibe-publishing": "https://codeload.github.com/OpenVibers/OpenVibe.Publishing/tar.gz/refs/tags/v1.5.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.94.0",
-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.124.0",
++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.126.0",
"pg": "^8.23.1",
"subset-font": "^2.9.0"
},
@@@ -1384,9 +1384,9 @@
}
},
"node_modules/openvibe-shared": {
-- "version": "4.124.0",
-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.124.0",
-- "integrity": "sha512-L0u70eK/W5njDfFyH/njXA8cWP2POrsIhWlKPngyF2qXLGSo+8Cup/UDzbO+Bo7zFhniI67iuSLPVSQmAdEzfw==",
++ "version": "4.126.0",
++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.126.0",
++ "integrity": "sha512-LF1eiR8xaT2wRtNSQ0qvVHu0lo8lfb2jPpRmkUkK8BJjNzF07fxZNuEcO16GIYYpXy7eloIMwu/DHcZwhF/Xtw==",
"license": "MIT",
"dependencies": {
"jsonwebtoken": "^9.0.0",
ddiff --git a/package.json b/package.json
iindex fe99004..748e384 100644
---- a/package.json
++++ b/package.json
@@@ -24,7 +24,7 @@
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.315.0",
"openvibe-publishing": "https://codeload.github.com/OpenVibers/OpenVibe.Publishing/tar.gz/refs/tags/v1.5.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.94.0",
-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.124.0",
++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.126.0",
"pg": "^8.23.1",
"subset-font": "^2.9.0"
},
ddiff --git a/server/settings.js b/server/settings.js
iindex e8c9126..413d9c8 100644
---- a/server/settings.js
++++ b/server/settings.js
@@@ -96,7 +96,9 @@ function createSettings({ db, env = process.env, log = console, fetchImpl = glob
requireFresh: (req) => String(req.get('x-ov-fresh') || '') === '1',
log: appLog,
});
-- app.use(routes.handle);
++ // The owner's test route is mounted in front of the store's dispatcher: openvibe-shared 4.125.0 gave
++ // adminRoutes a test route of its own, and the dispatcher answers it first (it wants an acting subject,
++ // this one the service-token capability). 2026-11-07, the openvibe-shared v4.126.0 pin round.
app.post(`${BASE_PATH}/:namespace/test/:key`, guard, async (req, res) => {
if (req.params.namespace !== NAMESPACE) return res.status(404).json({ error: 'no such configuration namespace' });
let key = String(req.params.key || '');
@@@ -110,6 +112,7 @@ function createSettings({ db, env = process.env, log = console, fetchImpl = glob
return res.status(200).json({ ok: false, detail: 'failed — the test did not finish. The service log has the reason.' });
}
});
++ app.use(routes.handle);
return routes;
}