openvibers/openvibe.surf Commits

openvibe-shared v4.107.0 (was v4.106.2) (#64)

OP OpenVibers committed 10 days ago · 38c9d7e943 · 5 files, +26 −9

* openvibe-shared v4.107.0 (was v4.106.2)

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

* Terms, Privacy and DMCA in this site's own words (openvibe-shared/legal, profile service)

The footer's legal links answered 404 here (the 11-02 sweep). 4.107.0's profile says what the site does and keeps.

Changes

ddiff --git a/README.md b/README.md
iindex 98effd4..1cba462 100644
---- a/README.md
++++ b/README.md
@@@ -260,5 +260,5 @@ Part of the [OpenVibe network](https://openvibe.network). Built in the open by
<!-- versions:start -->
- openvibe-contracts: v0.232.0
- openvibe-sdk: v0.82.0
--- openvibe-shared: v4.106.2
++- openvibe-shared: v4.107.0
<!-- versions:end -->
ddiff --git a/STATUS.json b/STATUS.json
iindex 9d5f59d..7101c05 100644
---- a/STATUS.json
++++ b/STATUS.json
@@@ -10,11 +10,11 @@
"domain": "openvibe.surf",
"contracts": "openvibe-contracts v0.232.0",
"sdk": "openvibe-sdk v0.82.0",
-- "shared": "openvibe-shared v4.106.2",
++ "shared": "openvibe-shared v4.107.0",
"packages": [
"openvibe-contracts v0.232.0",
"openvibe-sdk v0.82.0",
-- "openvibe-shared v4.106.2"
++ "openvibe-shared v4.107.0"
],
"summary": "openvibe.surf, the Surf room: Network sign-in as OAuth client `surf`; Ride (OpenVibe.Games' surf maps, cached 60 s, embedded); Watch (a lean-back TV over OpenVibe.Live's live streams, clips and AI moments, clips and moments playing in the page over HLS) plus watch together (in-memory SSE parties); Web (Surf with Vibe: one OpenVibe.Actor task made with the person's own Network token). No database.",
"works": [
@@@ -49,5 +49,5 @@
"limits and readiness",
"deploy files"
],
-- "updated": "2026-11-02"
++ "updated": "2026-11-03"
}
ddiff --git a/package-lock.json b/package-lock.json
iindex a347d56..5d9274a 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.232.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0",
-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.106.2"
++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.0"
},
"engines": {
"node": ">=22.0.0"
@@@ -1103,9 +1103,9 @@
}
},
"node_modules/openvibe-shared": {
-- "version": "4.106.2",
-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.106.2",
-- "integrity": "sha512-sKq3TnkO0IaaKdgR5sLfkEwRL9DGYdT6etxTw4/9NKrp2HECvaDrPtOQw/xsrS0vtYwIm5z5BSp2+EVRt5MLQg==",
++ "version": "4.107.0",
++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.0",
++ "integrity": "sha512-S0Um9G8a0jl/yL8Sox4e+xZtLHyMjiv1WcwUIlml6hgMKAPq9aGIzcUA9Cb/d6SppJaxCKIAKmsF5Slbz6UyZg==",
"license": "MIT",
"dependencies": {
"jsonwebtoken": "^9.0.0",
ddiff --git a/package.json b/package.json
iindex cfeeff9..a83044c 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.232.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0",
-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.106.2"
++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.0"
},
"engines": {
"node": ">=22.0.0"
ddiff --git a/server/app.js b/server/app.js
iindex cd0e63a..d930589 100644
---- a/server/app.js
++++ b/server/app.js
@@@ -134,6 +134,23 @@ function createApp(opts = {}) {
// ── Static assets (content-hashed ?v= → immutable) ──────
app.use('/shared', serve.handler());
++ // Terms, Privacy and DMCA in this site's own words (openvibe-shared/legal, profile 'service'; 11-03: the footer's
++ // legal links answered 404 here). The facts must match the code: change both together.
++ const legal = require('openvibe-shared/legal');
++ app.get(legal.PATHS, legal.handler({
++ "host": "openvibe.surf",
++ "name": "OpenVibe.Surf",
++ "id": "surf",
++ "service": "surf",
++ "profile": "service",
++ "what": "Ride Counter-Strike-style surf maps in the browser against the clock, let an agent surf the web for you and report back with its sources, or lean back and surf what is on across OpenVibe.",
++ "makes": [
++ "your runs and times on the maps",
++ "the questions you give the agent and what it reported, with its sources"
++ ],
++ "fetches": true,
++ "ai": true
++ }));
const setAssetHeaders = (res, filePath) => {
const rel = path.relative(PUBLIC_DIR, filePath).split(path.sep).join('/');
const v = res.req && res.req.query && res.req.query.v;