openvibers/openvibe.play Commits

openvibe-shared v4.13.0 (was v4.12.0) (#43)

OP OpenVibers committed 18 days ago · cf458e765c · 6 files, +13 −13

* openvibe-shared v4.13.0 (was v4.12.0)

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

* Shared 4.13.0 pin: budget jsRawKB 264.3, cssRawKB 26.3, cssBrotliKB 5.8; JSON-LD lists end with Organization (headTags adds OpenVibe's Organization after a WebSite)

Changes

ddiff --git a/README.md b/README.md
iindex c0de594..a60c8f2 100644
---- a/README.md
++++ b/README.md
@@@ -147,5 +147,5 @@ AGPL-3.0. Part of the [OpenVibe network](https://openvibe.network).
<!-- versions:start -->
- openvibe-contracts: v0.213.0
- openvibe-sdk: v0.64.0
--- openvibe-shared: v4.12.0
++- openvibe-shared: v4.13.0
<!-- versions:end -->
ddiff --git a/STATUS.json b/STATUS.json
iindex 5017132..dbb5a23 100644
---- a/STATUS.json
++++ b/STATUS.json
@@@ -9,11 +9,11 @@
"domain": "play.openvibe.network",
"contracts": "openvibe-contracts v0.213.0",
"sdk": "openvibe-sdk v0.64.0",
-- "shared": "openvibe-shared v4.12.0",
++ "shared": "openvibe-shared v4.13.0",
"packages": [
"openvibe-contracts v0.213.0",
"openvibe-sdk v0.64.0",
-- "openvibe-shared v4.12.0"
++ "openvibe-shared v4.13.0"
],
"summary": "OpenVibe.Play — achievements and leaderboards for every OpenVibe game (Games ADR-0007 decision 10). A title is registered by its own principal (a game's service or app token), which alone writes to it: achievements (with hidden ones), boards that rank each player's best score or the sum of theirs, this week and all time, idempotent score and unlock posts, and guests adopted by the person who signs in. Boards and titles are public reads (CORS) and pages; people's rows are in the account export and erased with the account.",
"works": [
@@@ -47,5 +47,5 @@
"account export and deletion"
],
"deployment": "openvibe-ovh: unit openvibe-play.service on 127.0.0.1:5040 (git checkout /opt/play.openvibe.network, env /etc/openvibe/play.env, database ov_play), deployed with `sudo ovhost deploy play`; nginx vhost from deploy/nginx (ov-vhost-install) on the openvibe.network wildcard certificate.",
-- "updated": "2026-10-25"
++ "updated": "2026-10-26"
}
ddiff --git a/package-lock.json b/package-lock.json
iindex 5aeca73..3e0c60b 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -18,7 +18,7 @@
"iovalkey": "^0.4.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.213.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.64.0",
-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.12.0",
++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.13.0",
"pg": "^8.23.0"
},
"devDependencies": {
@@@ -916,9 +916,9 @@
}
},
"node_modules/openvibe-shared": {
-- "version": "4.12.0",
-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.12.0",
-- "integrity": "sha512-k0i63sCPfHtz1KF5MJSI+CGv5VwBf4ISRzxJRQdorkeMKOTtABlAQfiH1uf9kJsd5/Wn7VUTTHlhhOLSX6ZTzw==",
++ "version": "4.13.0",
++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.13.0",
++ "integrity": "sha512-wvoTn4M1N/cQyO0LSQsuFkj8dIAO0o/wAaRaHsUICWtVQ5WsLXr2n4cwh0367yZBEtpa5yIWyF2Tg0fiOU50mw==",
"license": "MIT",
"dependencies": {
"jsonwebtoken": "^9.0.0"
ddiff --git a/package.json b/package.json
iindex 9774616..9b7e424 100644
---- a/package.json
++++ b/package.json
@@@ -25,7 +25,7 @@
"iovalkey": "^0.4.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.213.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.64.0",
-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.12.0",
++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.13.0",
"pg": "^8.23.0"
},
"engines": {
ddiff --git a/test/layout.test.js b/test/layout.test.js
iindex 5c6d23a..437f2c2 100644
---- a/test/layout.test.js
++++ b/test/layout.test.js
@@@ -42,7 +42,7 @@ const BOOST = /<script src="\/shared\/boost\.js\?v=[0-9a-f]{12}" data-main="#mai
assert.ok(head.includes('<link rel="canonical" href="https://play.openvibe.network/">'), 'canonical');
assert.ok(head.includes('<meta name="robots" content="index, follow">'), 'robots');
const ld = [...head.matchAll(/<script type="application\/ld\+json">([\s\S]*?)<\/script>/g)].map((m) => JSON.parse(m[1])['@type']);
-- assert.deepStrictEqual(ld, ['WebSite', 'WebPage', 'FAQPage'], 'the home JSON-LD: the site, the page and the questions it shows');
++ assert.deepStrictEqual(ld, ['WebSite', 'WebPage', 'FAQPage', 'Organization'], 'the home JSON-LD: the site, the page and the questions it shows');
const faq = [...head.matchAll(/<script type="application\/ld\+json">([\s\S]*?)<\/script>/g)].map((m) => JSON.parse(m[1])).find((j) => j['@type'] === 'FAQPage');
for (const q of faq.mainEntity) assert.ok(r.text.includes(`<summary>${q.name.replace(/'/g, '&#39;')}</summary>`) || r.text.includes(`<summary>${q.name}</summary>`), `the page shows "${q.name}"`);
for (const tag of ['<meta property="og:title"', 'data-ov-icon="play"', '/css/app.css?v=', '/shared/theme-loader.js', '/shared/navbar.js', '/shared/footer.js', '<meta name="referrer"']) {
ddiff --git a/test/perf-budget.test.js b/test/perf-budget.test.js
iindex f017486..694c3db 100644
---- a/test/perf-budget.test.js
++++ b/test/perf-budget.test.js
@@@ -17,11 +17,11 @@ const BUDGETS = {
htmlRawKB: 28.5, // measured 24.9 (the home page: hero, features, steps, cta, JSON-LD); 27.8 with "Can I add my own game?" (10-25, also in the FAQPage JSON-LD)
htmlBrotliKB: 6.9, // 6.2
jsFiles: 5, // 5 (theme-loader, web-runtime, navbar, footer, boost: openvibe-shared/shell)
-- jsRawKB: 264, // 239.8
++ jsRawKB: 269, // 264.3 with Shared 4.13.0 (2026-10-26: account links); 239.8
jsBrotliKB: 67, // 65.3 Shared 4.12.0: the light/dark switch, the seasonal mark and the theme pairs; 56.5
cssFiles: 2, // 2 (app.css + the cached /shared/showcase.css)
-- cssRawKB: 20.6, // 18.7 (app.css 7.1 with Play's cards, boards and achievement tiles, plus showcase.css; 2026-10-14)
-- cssBrotliKB: 5.5, // 4.9
++ cssRawKB: 31, // 26.3 with Shared 4.13.0 (2026-10-26: account links); 18.7 (app.css 7.1 with Play's cards, boards and achievement tiles, plus showcase.css; 2026-10-14)
++ cssBrotliKB: 7, // 5.8 with Shared 4.13.0 (2026-10-26: account links); 4.9
externalFiles: 0, // 0
};