openvibers/openvibe.domains Commits

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

OP OpenVibers committed 6 days ago · 0f75c5307a · 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 0e1e68d..94ce36b 100644
---- a/README.md
++++ b/README.md
@@@ -147,5 +147,5 @@ AGPL-3.0-only. See [LICENSE](LICENSE).
<!-- versions:start -->
- openvibe-contracts: v0.315.0
- openvibe-sdk: v0.94.0
--- openvibe-shared: v4.124.0
++- openvibe-shared: v4.126.0
<!-- versions:end -->
ddiff --git a/STATUS.json b/STATUS.json
iindex 61d381a..5d3d96f 100644
---- a/STATUS.json
++++ b/STATUS.json
@@@ -10,11 +10,11 @@
"domain": "openvibe.domains",
"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-sdk v0.94.0",
-- "openvibe-shared v4.124.0"
++ "openvibe-shared v4.126.0"
],
"summary": "OpenVibe.Domains is a stateless front: no database, no sign-in, no events. It reads OpenVibe.Host's internal catalog (GET /api/v1/catalog/domains, /domains/check?name=, /domains/:tld) and OpenVibe.Tools' public history (GET /api/v1/domains, /domains/:domain) through small in-process caches, prices every registrar row into one-, three- and five-year totals with the cheap-first-year renewal trap, and serves server-rendered pages (home, name search, one ending, one domain) plus a read-only JSON API. It has the service plumbing the other OpenVibe sites have: helmet/CSP, health and truthful readiness (degraded, never 503, when either upstream is down), release.json and /release-metrics, /shared, robots/sitemap/llms, a per-IP limit on /api/v1 and /search, graceful stop, deploy files and tests.",
"works": [
ddiff --git a/package-lock.json b/package-lock.json
iindex b01cf9d..b71ed13 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -16,7 +16,7 @@
"helmet": "^8.1.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.315.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.0"
},
"devDependencies": {
@@@ -1120,9 +1120,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 8ff26f4..b473ec6 100644
---- a/package.json
++++ b/package.json
@@@ -22,7 +22,7 @@
"helmet": "^8.1.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.315.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.0"
},
"engines": {
ddiff --git a/server/settings.js b/server/settings.js
iindex 5ef0c23..eee1db8 100644
---- a/server/settings.js
++++ b/server/settings.js
@@@ -153,7 +153,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 || '');
@@@ -167,6 +169,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;
}