openvibers/openvibe.actor Commits

openvibe-shared v4.186.0 (was v4.183.0) (#405)

OP OpenVibers committed 3 days ago · 5b4348cbcb · 7 files, +14 −12

* openvibe-shared v4.186.0 (was v4.183.0)

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

* Check the navbar the server really sends, and raise the home's brotli budget for openvibe-shared 4.186.0

Changes

ddiff --git a/README.md b/README.md
iindex 78fb7aa..52290c0 100644
---- a/README.md
++++ b/README.md
@@@ -266,5 +266,5 @@ Part of the [OpenVibe network](https://openvibe.network). Built in the open by [
<!-- versions:start -->
- openvibe-contracts: v0.384.0
- openvibe-sdk: v0.133.0
--- openvibe-shared: v4.183.0
++- openvibe-shared: v4.186.0
<!-- versions:end -->
ddiff --git a/STATUS.json b/STATUS.json
iindex eb358ce..fc5df5a 100644
---- a/STATUS.json
++++ b/STATUS.json
@@@ -9,11 +9,11 @@
"domain": "openvibe.actor",
"contracts": "openvibe-contracts v0.384.0",
"sdk": "openvibe-sdk v0.133.0",
-- "shared": "openvibe-shared v4.183.0",
++ "shared": "openvibe-shared v4.186.0",
"packages": [
"openvibe-contracts v0.384.0",
"openvibe-sdk v0.133.0",
-- "openvibe-shared v4.183.0"
++ "openvibe-shared v4.186.0"
],
"summary": "Public at https://openvibe.actor (sudo ovhost deploy actor; unit openvibe-actor on 127.0.0.1:4950). A task in plain words is classified, routed by openvibe-sdk/placement to the agent system that can do it (the OpenVibe runtime acting through OpenVibe.Search and OpenVibe.Tools, OpenAI's web agent, an open model on OpenVibe's server for private mode), run with its steps streamed live, checked by a model of another family, and delivered as platform.task@1 with its cost to a fraction of a cent and the explanation; a failed agent or check hands it to the next agent. Free tier per person with an operator ceiling.",
"works": [
ddiff --git a/package-lock.json b/package-lock.json
iindex b82ed1d..aee68ab 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -17,7 +17,7 @@
"iovalkey": "^0.4.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.384.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.133.0",
-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.183.0",
++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.186.0",
"pg": "^8.23.0",
"sharp": "^0.34.5"
},
@@@ -1675,9 +1675,9 @@
}
},
"node_modules/openvibe-shared": {
-- "version": "4.183.0",
-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.183.0",
-- "integrity": "sha512-vp9gg++Dhyj3h0cwvBjujM6dSFYoeXdh1UXdZ6OXP/NjG672Fs7uRANV4MjT467JtFDN7r7qLI3OJAwGQxOuQw==",
++ "version": "4.186.0",
++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.186.0",
++ "integrity": "sha512-wD4net+UjO0a6OG73W+RR1z5MIWtPgj407xLEWphiVWgLTQ4V1r76+DtLOfSf6RfEda/ALizRu1zmxbvuGGZOw==",
"license": "MIT",
"dependencies": {
"jsonwebtoken": "^9.0.0",
ddiff --git a/package.json b/package.json
iindex 9168f5e..8a656b2 100644
---- a/package.json
++++ b/package.json
@@@ -30,7 +30,7 @@
"iovalkey": "^0.4.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.384.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.133.0",
-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.183.0",
++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.186.0",
"pg": "^8.23.0",
"sharp": "^0.34.5"
},
ddiff --git a/server/render/layout.js b/server/render/layout.js
iindex 49eaca1..10d2771 100644
---- a/server/render/layout.js
++++ b/server/render/layout.js
@@@ -110,7 +110,6 @@ ${render(scripts)}
<meta name="ov-boost" content="actor@${esc(RELEASE)}">
<script src="${ovServe.url('boost.js')}" data-main="#main" defer></script>`,
body: `<a class="skip" href="#main">Skip to content</a>
--<div id="navbar-mount"></div>
<noscript><div class="account-bar" role="navigation" aria-label="Account">${render(account)}</div></noscript>
<main id="main" class="page${o.app ? ' page-app' : ''}">
${o.app ? '' : render(crumbs)}
ddiff --git a/test/auth-ops.test.js b/test/auth-ops.test.js
iindex 60c87c1..a9caabe 100644
---- a/test/auth-ops.test.js
++++ b/test/auth-ops.test.js
@@@ -119,11 +119,14 @@ const cookieJar = (res) => res.headers.getSetCookie().map((c) => c.split(';')[0]
assert.notStrictEqual(proxied.status, 200, 'a proxied request is not loopback');
});
-- await check('public pages are complete without JavaScript (noscript nav, SSR footer)', async () => {
++ await check('public pages are complete without JavaScript (server-rendered nav, SSR footer)', async () => {
for (const p of ['/', '/agents', '/docs', '/updates']) {
const r = await t.get(p);
assert.strictEqual(r.status, 200, p);
-- assert.match(r.text, /<noscript><nav/);
++ // openvibe-shared 4.184.0 moved the bar's links into the first HTML (frame.serverNav, inside
++ // #navbar-mount), so the no-JavaScript navigation is that server nav, not a <noscript> block.
++ assert.match(r.text, /<div id="navbar-mount"><nav class="openvibe-navbar"[^>]*data-ov-server-nav="true"/, `${p}: the server-rendered navbar is in the first HTML`);
++ assert.match(r.text, /<a data-ov-nav-link="true" href="[^"]+">/, `${p}: the bar's links are in the first HTML`);
assert.match(r.text, /<footer id="ov-footer"/);
assert.match(r.text, /<main id="main"/);
}
ddiff --git a/test/perf-budget.test.js b/test/perf-budget.test.js
iindex e05fd7e..e9e8c29 100644
---- a/test/perf-budget.test.js
++++ b/test/perf-budget.test.js
@@@ -19,7 +19,7 @@ const BUDGETS = {
htmlBrotliKB: 15.6, // 15.6: measured 15.1 with openvibe-shared 4.163.0, plus room for 4.162.0–4.163.0, 2026-11-09
jsFiles: 5, // 5 (theme-loader, web-runtime, navbar, footer, boost: openvibe-shared/shell)
jsRawKB: 376.7, // 376.7: measured 368.7 with openvibe-shared 4.163.0, plus room for 4.162.0–4.163.0, 2026-11-09
-- jsBrotliKB: 89.5, // 89.5: measured 87.5 with openvibe-shared 4.163.0, plus room for 4.162.0–4.163.0, 2026-11-09
++ jsBrotliKB: 89.8, // 89.8: measured 89.7 KB brotli with openvibe-shared 4.186.0 (the mark's Working and Thinking states, the Dock and the menu as one sheet, bare controls), 2026-11-10; 89.5: measured 87.5 with openvibe-shared 4.163.0, plus room for 4.162.0–4.163.0, 2026-11-09
cssFiles: 5, // 5 with the shared kit.css and room.css (2026-10-29: the home as a taste and a door, 17 → 5.1 phone screens); 2 (actor.css + the cached /shared/showcase.css); 3 with home.css, the home's own sections (10-22)
cssRawKB: 128.7, // 128.7: measured 123.7 with openvibe-shared 4.163.0, plus room for 4.162.0–4.163.0, 2026-11-09
cssBrotliKB: 28.3, // 28.3: measured 27.1 with openvibe-shared 4.163.0, plus room for 4.162.0–4.163.0, 2026-11-09