openvibers/openvibe.network Commits

openvibe-contracts v0.270.0: the Dock's Vibe tab (#481)

OP OpenVibers committed 12 days ago · 4877486a4e · 5 files, +13 −7

The Dock's state may say the Vibe tab is open (network.dock-state@1, contracts 0.270.0; openvibe-shared 4.74.0 puts
Vibe in the Dock). The test stores it and still refuses a tab the contract does not know.

Changes

ddiff --git a/README.md b/README.md
iindex 59944770..c80bb728 100644
---- a/README.md
++++ b/README.md
@@@ -820,7 +820,7 @@ Reporting a vulnerability: [SECURITY.md](SECURITY.md). The rules the code keeps:
MIT (`license` in [package.json](package.json)).
<!-- versions:start -->
--- openvibe-contracts: v0.268.0
++- openvibe-contracts: v0.270.0
- openvibe-sdk: v0.74.0
- openvibe-shared: v4.73.0
<!-- versions:end -->
ddiff --git a/STATUS.json b/STATUS.json
iindex e14d1987..291937af 100644
---- a/STATUS.json
++++ b/STATUS.json
@@@ -6,7 +6,7 @@
"runtime": "node 22, express, PostgreSQL 18 (openvibe-sdk/db, async) + Valkey 9",
"port": 4000,
"domain": "openvibe.network (with auth., api., admin., my. and themes.openvibe.network in its manifest)",
-- "contracts": "openvibe-contracts v0.268.0",
++ "contracts": "openvibe-contracts v0.270.0",
"sdk": "openvibe-sdk v0.74.0",
"shared": "openvibe-shared v4.73.0",
"capabilities": [
ddiff --git a/package-lock.json b/package-lock.json
iindex 93873ef2..ab263a0a 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -20,7 +20,7 @@
"iovalkey": "^0.4.0",
"jsonwebtoken": "^9.0.0",
"multer": "^1.4.5-lts.1",
-- "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.268.0",
++ "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.270.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.74.0",
"openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.73.0",
"pg": "^8.23.0",
@@@ -1595,9 +1595,9 @@
}
},
"node_modules/openvibe-contracts": {
-- "version": "0.268.0",
-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.268.0",
-- "integrity": "sha512-M1StQXkgFX8Larqn+nTI9zed5Ezo1Fcv6cS/nfrISMVY9N7o5uftpqAj/mSUGQmsYFdoY+aHnXUJmSGzfRLYEw==",
++ "version": "0.270.0",
++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.270.0",
++ "integrity": "sha512-smeardiqY5pkwFNpVAEbR6LszJkjRMIRIvpv2mNN1Tlo0rWXHeQ5QSFQPhsPvpFCyFmewjayHtQp/K7bE3Bojw==",
"license": "AGPL-3.0-only",
"dependencies": {
"ajv": "^8.17.1",
ddiff --git a/package.json b/package.json
iindex 48675b1f..c4e88f88 100644
---- a/package.json
++++ b/package.json
@@@ -24,7 +24,7 @@
"iovalkey": "^0.4.0",
"jsonwebtoken": "^9.0.0",
"multer": "^1.4.5-lts.1",
-- "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.268.0",
++ "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.270.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.74.0",
"openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.73.0",
"pg": "^8.23.0",
ddiff --git a/test/dock.test.js b/test/dock.test.js
iindex 6c8c6af1..a9bb4bab 100644
---- a/test/dock.test.js
++++ b/test/dock.test.js
@@@ -102,6 +102,12 @@ try {
assert.deepStrictEqual([r.body.state.open, r.body.state.tab, r.body.state.pinned], [true, 'chats', false], 'pinned was not in the body and stayed');
r = await call('GET');
assert.deepStrictEqual([r.body.state.open, r.body.state.tab], [true, 'chats'], 'the state is stored');
++ // The Dock's Vibe tab (contracts 0.270.0, openvibe-shared 4.74.0): kept like the others.
++ r = await call('PUT', { tab: 'vibe' });
++ assert.strictEqual(r.status, 200, JSON.stringify(r.body));
++ assert.strictEqual(r.body.state.tab, 'vibe');
++ r = await call('PUT', { tab: 'chats' });
++ assert.strictEqual((await call('PUT', { tab: 'nope' })).status, 422, 'a tab the contract does not know is refused');
// place merges per device class, and inside a class per field.
r = await call('PUT', { place: { desktop: { width: 500 } } });