openvibers/openvibe.live Commits

Signed-in pages stop throwing: openvibe-shared v4.172.0 (from 4.168) and a guard (#741)

OP OpenVibers committed 4 days ago · 907c666ce6 · 6 files, +16 −8

* openvibe-shared v4.172.0 (was v4.168.0)

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

* Signed-in pages stop throwing: a guard, and the wallet's Shared pinned

Live #717 handed the wallet to Shared's navbar (openWallet, refreshWallet), which arrived in
openvibe-shared 4.170.0, while Live was pinned at 4.168.0: onAuthChange threw 'refreshWallet is
not a function' for every signed-in person, and the wallet did not open. This PR's pin (4.172.0)
carries it; onAuthChange calls refreshWallet only when the navbar has it; the test holds the pin
at 4.170+. (Replaces #740, closed by the round's sweep of 4.168.0 titles.)

Changes

ddiff --git a/README.md b/README.md
iindex b97a71cd..00fce602 100644
---- a/README.md
++++ b/README.md
@@@ -181,5 +181,5 @@ Minimum `.env`: `BASE_URL`, `JWT_SECRET`, `OV_NETWORK_URL`, `OV_NETWORK_INTERNAL
<!-- versions:start -->
- openvibe-contracts: v0.338.0
- openvibe-sdk: v0.117.0
--- openvibe-shared: v4.168.0
++- openvibe-shared: v4.172.0
<!-- versions:end -->
ddiff --git a/STATUS.json b/STATUS.json
iindex 2d58ce18..6a8e166d 100644
---- a/STATUS.json
++++ b/STATUS.json
@@@ -7,7 +7,7 @@
"domain": "openvibe.live (www, ingest, whip)",
"contracts": "openvibe-contracts v0.338.0",
"sdk": "openvibe-sdk v0.117.0",
-- "shared": "openvibe-shared v4.168.0",
++ "shared": "openvibe-shared v4.172.0",
"capabilities": [
"live.chat_context.read",
"live.chat_effects.write",
ddiff --git a/package-lock.json b/package-lock.json
iindex cf45249a..8466bdeb 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -26,7 +26,7 @@
"onnxruntime-node": "^1.20.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.338.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.117.0",
-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.168.0",
++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.172.0",
"pg": "^8.23.1",
"sanitize-html": "^2.17.7",
"sdp-transform": "^3.0.0",
@@@ -3342,9 +3342,9 @@
}
},
"node_modules/openvibe-shared": {
-- "version": "4.168.0",
-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.168.0",
-- "integrity": "sha512-Ahp6kif2XWtGr1DTQfovmDyUuWMDcZN7ygRmkahIc3A1uY6u5QCQxNRD/PbyGUKdT++VW9jmnjMaHlF3hogpuQ==",
++ "version": "4.172.0",
++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.172.0",
++ "integrity": "sha512-uTTluDdWM8XuPcghxYbP6oHLRoV110es0hTUAxM22xrIZle84FTJBk1aBIVWBnnKHR8/oz0vXjx3m2Jjuchemg==",
"license": "MIT",
"dependencies": {
"jsonwebtoken": "^9.0.0",
ddiff --git a/package.json b/package.json
iindex 215dd83d..011cb473 100644
---- a/package.json
++++ b/package.json
@@@ -45,7 +45,7 @@
"onnxruntime-node": "^1.20.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.338.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.117.0",
-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.168.0",
++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.172.0",
"pg": "^8.23.1",
"sanitize-html": "^2.17.7",
"sdp-transform": "^3.0.0",
ddiff --git a/public/js/app.js b/public/js/app.js
iindex 5fa047bd..3bba8fe8 100644
---- a/public/js/app.js
++++ b/public/js/app.js
@@@ -781,7 +781,8 @@ function onAuthChange() {
if (currentUser) _enableHandoff(); else if (window.OpenVibeSSO) { try { window.OpenVibeSSO.handoffLinks({ signedIn: false }); } catch { /* */ } }
// The navbar is the network's shared component; tell it who is here (js/ov-navbar-live.js).
if (window.LiveNav) window.LiveNav.sync(currentUser || null);
-- if (currentUser) window.OpenVibeNavbar.refreshWallet();
++ // The navbar's wallet chips (Shared 4.170+). Sign-in must never stop here, whatever navbar a page has.
++ if (currentUser && window.OpenVibeNavbar && typeof window.OpenVibeNavbar.refreshWallet === 'function') window.OpenVibeNavbar.refreshWallet();
// Older notification links point at a Live DM route. Keep the reader here in the Dock.
if (currentUser && new URLSearchParams(location.search).has('dm')) {
const params = new URLSearchParams(location.search);
ddiff --git a/test/shared-wallet.test.js b/test/shared-wallet.test.js
iindex ad76b6d0..a156ec9c 100644
---- a/test/shared-wallet.test.js
++++ b/test/shared-wallet.test.js
@@@ -25,4 +25,11 @@ assert(vibes.includes('window.OpenVibeNavbar.openWallet()'));
const security = fs.readFileSync(path.join(root, 'server/index.js'), 'utf8');
assert(!security.includes('"https://billing.openvibe.network"') && !security.includes('"https://inventory.openvibe.network"'),
'the shared wallet asks Network\'s relays, so connect-src needs neither host');
++// The wallet sheet and the navbar's openWallet/refreshWallet arrived in openvibe-shared 4.170.0: a pin below it threw
++// "refreshWallet is not a function" in onAuthChange for every signed-in person (2026-11-09, Live #717 on 4.168.0).
++const pin = /refs\/tags\/v(\d+)\.(\d+)\.(\d+)/.exec(JSON.parse(fs.readFileSync(path.join(root, 'package.json'), 'utf8')).dependencies['openvibe-shared']);
++assert(pin && (Number(pin[1]) > 4 || (Number(pin[1]) === 4 && Number(pin[2]) >= 170)), 'openvibe-shared is pinned at 4.170.0 or later');
++const app = fs.readFileSync(path.join(root, 'public/js/app.js'), 'utf8');
++assert(/typeof window\.OpenVibeNavbar\.refreshWallet === 'function'\) window\.OpenVibeNavbar\.refreshWallet\(\)/.test(app),
++ 'sign-in never stops on a navbar without the wallet');
console.log('Live delegates wallet and store to Shared, retaining cosmetic renderers and channel actions');