openvibers/openvibe.watch Commits
openvibe-shared v4.19.0 (was v4.17.0) (#115)
Changes
@@@ -545,5 +545,5 @@ POSTs have their own per-address limit zones (nginx refuses `limit_req` inside `<!-- versions:start -->- openvibe-contracts: v0.222.0- openvibe-sdk: v0.67.0--- openvibe-shared: v4.17.0++- openvibe-shared: v4.19.0<!-- versions:end -->@@@ -9,7 +9,7 @@"domain": "openvibe.watch (a public server-rendered site + a loopback-only API; vhost in deploy/nginx; README \"Public site\" and \"Public host\")","contracts": "openvibe-contracts v0.222.0 (actor-agent requires v0.143.0)","sdk": "openvibe-sdk v0.67.0",-- "shared": "openvibe-shared v4.17.0",++ "shared": "openvibe-shared v4.19.0","capabilities": ["watch.watch.read","watch.watch.manage",@@@ -82,5 +82,5 @@"usage readings (check operations): one platform.usage-sample@1 check-operation reading per completed check run, relayed to OpenVibe.Billing (billing.usage.record) by openvibe-sdk/usage; off by default (WATCH_BILLING_INTERVAL_MS)","the public site: Network sign-in (PKCE S256, web_sessions with only the token hash), server-rendered pages complete without JavaScript, the four create templates, watch management, observation history and check runs, how-it-works and the changelog, robots/sitemap/llms.txt"],-- "updated": "2026-10-27"++ "updated": "2026-10-28"}@@@ -14,7 +14,7 @@"fast-xml-parser": "^4.5.3","openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.222.0","openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.67.0",-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.17.0",++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.19.0","pg": "^8.23.0"},"devDependencies": {@@@ -813,9 +813,9 @@}},"node_modules/openvibe-shared": {-- "version": "4.17.0",-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.17.0",-- "integrity": "sha512-ZceHe30TbrBIf/3s+Be0tOv8A1G+oYHgI3JJEbl5gy8YolEhLRJW8woUJ2WukcfFghTuphz+HEqTwjCoaemJrw==",++ "version": "4.19.0",++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.19.0",++ "integrity": "sha512-OksbPienuKJ88R5HrXYh3Dgh/TWZGwUL4FUQQmGhQe6wkQpbAxaknfAouU+HaI1xwbbGhQ5f9bVIKJv9+LrNQQ==","license": "MIT","dependencies": {"jsonwebtoken": "^9.0.0"@@@ -26,7 +26,7 @@"fast-xml-parser": "^4.5.3","openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.222.0","openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.67.0",-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.17.0",++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.19.0","pg": "^8.23.0"},"engines": {@@@ -60,7 +60,7 @@ function renderPage(o) {logoutUrl: '/auth/logout?next={path}',notificationsRealtime: true,};-- const footer = { service: 'watch', variant: 'full', mount: '#ov-footer', brandName: SITE_NAME, updates: '/updates' };++ const footer = { service: 'watch', variant: 'auto', path: o.path, mount: '#ov-footer', brandName: SITE_NAME, updates: '/updates' }; // full on the front page only (Shared 4.19)const account = signedIn? html`Signed in as <strong>${viewer.displayName || viewer.username || 'you'}</strong> · <a href="/auth/logout?next=${loginNext}">Sign out</a>`: html`<a href="/auth/login?next=${loginNext}">Sign in with OpenVibe</a>`;
@@ -545,5 +545,5 @@ POSTs have their own per-address limit zones (nginx refuses `limit_req` inside `
@@ -545,5 +545,5 @@ POSTs have their own per-address limit zones (nginx refuses `limit_req` inside `
<!-- versions:start -->
<!-- versions:start -->
- openvibe-contracts: v0.222.0
- openvibe-contracts: v0.222.0
- openvibe-sdk: v0.67.0
- openvibe-sdk: v0.67.0
-- openvibe-shared: v4.17.0
+- openvibe-shared: v4.19.0
<!-- versions:end -->
<!-- versions:end -->
@@ -9,7 +9,7 @@
@@ -9,7 +9,7 @@
"domain": "openvibe.watch (a public server-rendered site + a loopback-only API; vhost in deploy/nginx; README \"Public site\" and \"Public host\")",
"domain": "openvibe.watch (a public server-rendered site + a loopback-only API; vhost in deploy/nginx; README \"Public site\" and \"Public host\")",
"contracts": "openvibe-contracts v0.222.0 (actor-agent requires v0.143.0)",
"contracts": "openvibe-contracts v0.222.0 (actor-agent requires v0.143.0)",
"sdk": "openvibe-sdk v0.67.0",
"sdk": "openvibe-sdk v0.67.0",
- "shared": "openvibe-shared v4.17.0",
+ "shared": "openvibe-shared v4.19.0",
"capabilities": [
"capabilities": [
"watch.watch.read",
"watch.watch.read",
"watch.watch.manage",
"watch.watch.manage",
@@ -82,5 +82,5 @@
@@ -82,5 +82,5 @@
"usage readings (check operations): one platform.usage-sample@1 check-operation reading per completed check run, relayed to OpenVibe.Billing (billing.usage.record) by openvibe-sdk/usage; off by default (WATCH_BILLING_INTERVAL_MS)",
"usage readings (check operations): one platform.usage-sample@1 check-operation reading per completed check run, relayed to OpenVibe.Billing (billing.usage.record) by openvibe-sdk/usage; off by default (WATCH_BILLING_INTERVAL_MS)",
"the public site: Network sign-in (PKCE S256, web_sessions with only the token hash), server-rendered pages complete without JavaScript, the four create templates, watch management, observation history and check runs, how-it-works and the changelog, robots/sitemap/llms.txt"
"the public site: Network sign-in (PKCE S256, web_sessions with only the token hash), server-rendered pages complete without JavaScript, the four create templates, watch management, observation history and check runs, how-it-works and the changelog, robots/sitemap/llms.txt"
],
],
- "updated": "2026-10-27"
+ "updated": "2026-10-28"
}
}
@@ -14,7 +14,7 @@
@@ -14,7 +14,7 @@
"fast-xml-parser": "^4.5.3",
"fast-xml-parser": "^4.5.3",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.222.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.222.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.67.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.67.0",
- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.17.0",
+ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.19.0",
"pg": "^8.23.0"
"pg": "^8.23.0"
},
},
"devDependencies": {
"devDependencies": {
@@ -813,9 +813,9 @@
@@ -813,9 +813,9 @@
}
}
},
},
"node_modules/openvibe-shared": {
"node_modules/openvibe-shared": {
- "version": "4.17.0",
- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.17.0",
- "integrity": "sha512-ZceHe30TbrBIf/3s+Be0tOv8A1G+oYHgI3JJEbl5gy8YolEhLRJW8woUJ2WukcfFghTuphz+HEqTwjCoaemJrw==",
+ "version": "4.19.0",
+ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.19.0",
+ "integrity": "sha512-OksbPienuKJ88R5HrXYh3Dgh/TWZGwUL4FUQQmGhQe6wkQpbAxaknfAouU+HaI1xwbbGhQ5f9bVIKJv9+LrNQQ==",
"license": "MIT",
"license": "MIT",
"dependencies": {
"dependencies": {
"jsonwebtoken": "^9.0.0"
"jsonwebtoken": "^9.0.0"
@@ -26,7 +26,7 @@
@@ -26,7 +26,7 @@
"fast-xml-parser": "^4.5.3",
"fast-xml-parser": "^4.5.3",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.222.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.222.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.67.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.67.0",
- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.17.0",
+ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.19.0",
"pg": "^8.23.0"
"pg": "^8.23.0"
},
},
"engines": {
"engines": {
@@ -60,7 +60,7 @@ function renderPage(o) {
@@ -60,7 +60,7 @@ function renderPage(o) {
logoutUrl: '/auth/logout?next={path}',
logoutUrl: '/auth/logout?next={path}',
notificationsRealtime: true,
notificationsRealtime: true,
};
};
- const footer = { service: 'watch', variant: 'full', mount: '#ov-footer', brandName: SITE_NAME, updates: '/updates' };
+ const footer = { service: 'watch', variant: 'auto', path: o.path, mount: '#ov-footer', brandName: SITE_NAME, updates: '/updates' }; // full on the front page only (Shared 4.19)
const account = signedIn
const account = signedIn
? html`Signed in as <strong>${viewer.displayName || viewer.username || 'you'}</strong> · <a href="/auth/logout?next=${loginNext}">Sign out</a>`
? html`Signed in as <strong>${viewer.displayName || viewer.username || 'you'}</strong> · <a href="/auth/logout?next=${loginNext}">Sign out</a>`
: html`<a href="/auth/login?next=${loginNext}">Sign in with OpenVibe</a>`;
: html`<a href="/auth/login?next=${loginNext}">Sign in with OpenVibe</a>`;