openvibers/openvibe.bot Commits

Motion: Calm reduces, only Off stops (#372)

OP OpenVibers committed 3 days ago · 5319ffcda5 · 7 files, +9 −13

* Bump openvibe-shared v4.179.0 → v4.183.0

The pin and the lockfile only (ov bump, no model). CI's pin-drift check failed on v4.179.0.

* Motion: Calm reduces, only Off stops

Delete the pulse, card and fold rules that stopped under reduced motion; Calm plays them, smaller and slower.

* Pin: name openvibe-shared 4.183.0 in README and STATUS

Changes

ddiff --git a/README.md b/README.md
iindex df171da..f839f2b 100644
---- a/README.md
++++ b/README.md
@@@ -146,7 +146,7 @@ Sitemap entries use the release commit time for these code-backed pages.
- OpenVibe.Network: user and service tokens, node tokens, pairing when the authority is `network`, and identity resolution (a `@username` to a subject, and subjects to names, for the panel's People card).
- OpenRestream: the WHIP ingest base (`BOT_WHIP_BASE`) devices publish to.
- OpenVibe.Billing: job usage readings go to `billing.usage.record` (`BOT_BILLING_URL`; Bot mints its own Network service token for audience `openvibe.billing` with `billing.usage.record`, and `BOT_BILLING_TOKEN` overrides it); unset, they wait in `run_usage_outbox`.
--- `openvibe-contracts` v0.129.0, `openvibe-sdk` v0.133.0 and `openvibe-shared` v4.179.0 (package.json).
++- `openvibe-contracts` v0.129.0, `openvibe-sdk` v0.133.0 and `openvibe-shared` v4.183.0 (package.json).
- Account export and deletion (ADR-033): Network grants `events.subscription.manage` (openvibe.events) for the two
subscriptions created at boot, then, last and once the release is live, `network.account.export.contribute` and
`network.account.deletion.confirm` (openvibe.network).
@@@ -238,5 +238,5 @@ OpenVibe.Sites no longer generates `deploy/nginx/openvibe.bot.conf` (sites.json
<!-- versions:start -->
- openvibe-contracts: v0.384.0
- openvibe-sdk: v0.133.0
--- openvibe-shared: v4.179.0
++- openvibe-shared: v4.183.0
<!-- versions:end -->
ddiff --git a/STATUS.json b/STATUS.json
iindex 63b1814..f3ecac4 100644
---- a/STATUS.json
++++ b/STATUS.json
@@@ -7,11 +7,11 @@
"domain": "openvibe.bot (www -> apex; /device and /control WebSockets; /install)",
"contracts": "openvibe-contracts v0.384.0",
"sdk": "openvibe-sdk v0.133.0",
-- "shared": "openvibe-shared v4.179.0",
++ "shared": "openvibe-shared v4.183.0",
"packages": [
"openvibe-contracts v0.384.0",
"openvibe-sdk v0.133.0",
-- "openvibe-shared v4.179.0"
++ "openvibe-shared v4.183.0"
],
"capabilities": [
"bot.robot.read",
ddiff --git a/package-lock.json b/package-lock.json
iindex 66ff57d..85378c3 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -15,7 +15,7 @@
"iovalkey": "^0.4.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.384.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.133.0",
-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.179.0",
++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.183.0",
"pg": "^8.23.0",
"qrcode-generator": "^2.0.4",
"ws": "^8.18.0"
@@@ -1164,9 +1164,9 @@
}
},
"node_modules/openvibe-shared": {
-- "version": "4.179.0",
-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.179.0",
-- "integrity": "sha512-Fjffjq3gLINhiXTqQJwsKQT/QbV4TYvsmz6GTp5hBJ8xA6KUQgu0wDgCQ3BRxCZ0ehmn0HGVAHUI+5m0LtPQCQ==",
++ "version": "4.183.0",
++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.183.0",
++ "integrity": "sha512-vp9gg++Dhyj3h0cwvBjujM6dSFYoeXdh1UXdZ6OXP/NjG672Fs7uRANV4MjT467JtFDN7r7qLI3OJAwGQxOuQw==",
"license": "MIT",
"dependencies": {
"jsonwebtoken": "^9.0.0",
ddiff --git a/package.json b/package.json
iindex 941d021..d0c903b 100644
---- a/package.json
++++ b/package.json
@@@ -27,7 +27,7 @@
"iovalkey": "^0.4.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.384.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.133.0",
-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.179.0",
++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.183.0",
"pg": "^8.23.0",
"qrcode-generator": "^2.0.4",
"ws": "^8.18.0"
ddiff --git a/public/directory.css b/public/directory.css
iindex 6d12d2b..77cc5d2 100644
---- a/public/directory.css
++++ b/public/directory.css
@@@ -117,7 +117,6 @@
.sd-status[data-state="paired"] .sd-dot { background: #22c55e; }
.sd-status[data-state="expired"] .sd-dot, .sd-status[data-state="revoked"] .sd-dot { background: #ef4444; }
@keyframes sd-pulse { 50% { opacity: .35; } }
--@media (prefers-reduced-motion: reduce) { .sd-status .sd-dot { animation: none !important; } }
@media (max-width: 560px) { .sd-step { padding: 56px 16px 16px; } .sd-step::before { left: 16px; top: 14px; } }
/* hidden wins over .dir-btn's display (the panel link waits for a robot, the downloads for the files). */
.sd [hidden] { display: none !important; }
ddiff --git a/public/home.css b/public/home.css
iindex 62d62b3..7992478 100644
---- a/public/home.css
++++ b/public/home.css
@@@ -92,7 +92,6 @@
.hm .sc-code { grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); }
@media (max-width: 520px) { .hm .sc-code pre { white-space: pre-wrap; overflow-wrap: anywhere; } .hm-term pre { font-size: 13px; } }
@media (max-width: 420px) { .sc-hero, .sc-sec, .sc-cta { padding-left: 16px; padding-right: 16px; } }
--@media (prefers-reduced-motion: reduce) { .hm-card, .hm-stats a, .hm-rows a { transition: none; } }
/* ── The short home (2026-10-29): rails, one list of ways to connect, folds for what is read once ── */
.hm .ovk-rail { margin-top: 0; }
ddiff --git a/public/panel.css b/public/panel.css
iindex 827669e..c18e69a 100644
---- a/public/panel.css
++++ b/public/panel.css
@@@ -203,7 +203,6 @@ main { padding: 1rem max(1rem, env(safe-area-inset-right)) calc(1.5rem + env(saf
.widget-camera { grid-column: 1 / span 2; grid-row: span 2; align-self: start; }
.widget-drive { grid-column: 3; }
}
--@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }
/* ── Robots and pairing pages ───────────────────────────────────────────────────────────────────────── */
.page { max-width: 44rem; }
@@@ -305,7 +304,6 @@ main { padding: 1rem max(1rem, env(safe-area-inset-right)) calc(1.5rem + env(saf
.kit-parts summary::-webkit-details-marker { display: none; }
.kit-parts summary::before { content: ''; width: 0.45rem; height: 0.45rem; margin: 0 0.4rem 0 0.15rem; border-right: 2px solid var(--muted); border-bottom: 2px solid var(--muted); transform: rotate(-45deg); transition: transform 0.12s; }
.kit-parts[open] summary::before { transform: rotate(45deg); }
--@media (prefers-reduced-motion: reduce) { .kit-parts summary::before { transition: none; } }
/* The owner's People card and the turn-queue strip. */
.people-list { list-style: none; margin: 0 0 0.75rem; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.4rem; }