Commits
-
openvibe-contracts v0.126.0 (was v0.122.1) (#61)OpenVibers · 10 Oct 2026
2a806e9 -
openvibe-shared v2.20.0 (was v2.17.0) (#60)OpenVibers · 9 Oct 2026
dd9b56f -
openvibe-contracts v0.122.1 (was v0.112.0) (#58)OpenVibers · 9 Oct 2026
a2b7e72 -
openvibe-shared v2.17.0 (was v2.15.0) (#57)OpenVibers · 9 Oct 2026
c15b465 -
openvibe-shared v2.15.0 (was v2.13.2) (#55)OpenVibers · 8 Oct 2026
2deb87b -
openvibe-shared v2.13.2 (was v2.13.0) (#52)OpenVibers · 8 Oct 2026
c6767a0 -
Media pins openvibe-sdk v0.35.1 and drops its PGlite timer workaround: the SDK now unrefs PGlite's alarms itself (#51)OpenVibers · 8 Oct 2026
094d9bf -
openvibe-sdk v0.35.0 (was v0.32.0) (#50)OpenVibers · 8 Oct 2026
57c56fc -
openvibe-contracts v0.112.0 (was v0.107.0) (#49)OpenVibers · 7 Oct 2026
0ae22fb -
openvibe-shared 2.13.0: release notifications connect to openvibe.events (plan T7) (#48)OpenVibers · 7 Oct 2026
b97cb16 -
Media: the resource index (GET /api/v1/resources, media.object) under media.resource.read; contracts v0.107.0 (T13 step 8). (#47)OpenVibers · 7 Oct 2026
446da58 -
proxy-addr 2.0.8 (critical GHSA-jqcg-44mw-7w3h: IP spoofing via IPv4-mapped IPv6). (#45)OpenVibers · 7 Oct 2026
0759de5 -
Emit Media storage and delivery usage readings to Billing through openvibe-sdk/usage (off by default); pin openvibe-sdk v0.32.0 (#43)OpenVibers · 5 Oct 2026
3e029a1 -
Compose Media's pages through openvibe-shared/shell; add /llms-full.txt and IndexNow; pin openvibe-shared v2.10.0 (#41)OpenVibers · 5 Oct 2026
8d41bca -
Move Media's shutdown onto openvibe-sdk/service gracefulStop with the 70 s drain (#33)OpenVibers · 5 Oct 2026
809ddfc -
Bump openvibe-shared v2.3.1 → v2.5.0 (#16)OpenVibers · 3 Oct 2026
6fc4e52 -
Bump openvibe-shared v1.29.2 → v2.3.1OpenVibers · 1 Oct 2026
14d6846 -
X-Internal-Key retirement, Media's step (plan T2): POST /internal/avatar-ingest takes Network's service token with media.avatar.ingest (server/service-guard.js, loopback only; a Bearer is judged on the token alone, the key still passes without one until Network stops sending it). The owner resolution to Network's resolve-batch sends only Media's token: the key fallback is gone, and a refused token is retried once with a fresh one. openvibe-contracts v0.79.0. Tests: capability, audience, sandbox, a bad Bearer beside the key, the public edge, the key alone; the key is never sent to Network. npm test and test:pg green.OpenVibers · 29 Sept 2026
8364eee -
openvibe-shared v1.29.2 (from its earlier pin): navbar dropdowns are no longer clipped by the links row, changing the theme repaints the page background, bright accents get dark button text (WCAG), the navbar brand is more compact. npm test: 63/64 test files passed, 1 skipped (n-1.test.js: N-1 SQL: skipped (N-1 runs on SOpenVibers · 29 Sept 2026
5224f70 -
openvibe-shared v1.28.1 (from its earlier pin): the account panel keeps its sections' height on phones, the codes mark at rest shows its V, no empty space under the footer on phones. npm test: 63/64 test files passed, 1 skipped (n-1.test.js: N-1 SQL: skipped (N-1 runs on SOpenVibers · 29 Sept 2026
a865d84 -
Media on PostgreSQL (ADR-035, roadmap WS-X2): openvibe-sdk/db, async throughout, jobs and quotas safe under concurrency.OpenVibers · 28 Sept 2026
e3f2239 -
npm test no longer counts a skipped test as passed (roadmap WS-Q task 7; Shared v1.25.0 openvibe-shared/test-runner). The test script was a shell loop that stopped at the first failure and counted nothing, so a test that printed "⚠️ ffmpeg not found: … skipped" and exited 0 was as good as a pass. test/run.js is now the shared runner: every file, one at a time as before (parallel 1), a 300 s timeout per file, and a summary; a file that prints "<label>: skipped (<why>)" is listed with ○ and not counted as passed, and --strict fails on it. The six tests that skipped in free-form words now print that line: jobs-invariant (split/remux execution), clip-cut-job (clip.cut), jobs-previews (preview jobs), duration-reconcile (measurement checks) and vod-duration (real-file finalize check) without ffmpeg, and trust-proxy (direct-caller check) without a non-loopback interface. openvibe-shared is pinned at v1.25.0 (from v1.24.0), named in the README. npm test (Node 22) 64/64 test files passed.OpenVibers · 28 Sept 2026
47b21bd -
Media's readiness has no fake green (roadmap WS-Q task 7, Shared v1.24.0). events_outbox answered ok with { enabled: false } while the relay was off, and an unconfigured remote tier (b2, r2) had no check at all, so nothing showed it was not in use. The relay off is now skipped with the reason (detail { enabled: false } kept), and an unconfigured tier is listed as remote_<name> skipped "not configured"; neither is ever ok, and an optional skip leaves a service whose checks passed ready. Drill mode still lists no remote tier. openvibe-shared is pinned at v1.24.0 (from v1.22.0), named in the README. test/observability.test.js checks both skips (the configured-tier and failure cases are unchanged). npm test passes.OpenVibers · 28 Sept 2026
51283d3 -
Per-actor rate limits at Media's capability boundaries (roadmap WS-R task 4, openvibe-sdk v0.12.0 limits). server/actor-limits.js makes one limiter that counts each caller: the Network token's principal (svc:community, app:app_… of a developer project), the person signed in to /api/v2/me, or an app acting for one of its users (X-OV-User-Id, counted per user). An app's own API key is not counted, since that first-party server speaks for every visitor of its site and limits them itself; a browser with only an upload token is counted by address. Past a limit the route answers 429 problem+json rate_limited with Retry-After before any work, logs one [Limits] line and counts media_rate_limited_total{limit,window}.OpenVibers · 28 Sept 2026
1125a3c -
Media takes part in account export and deletion (roadmap WS-B task 7, ADR-033; openvibe-contracts 0.54.0 -> 0.71.0). POST /internal/events takes network.account.export_requested and network.account.deleted (the boot subscriptions now include both). server/account-data.js applies each once per export or deletion (account_data_events) and answers after Network took the part or confirmation, so a failure is redelivered without erasing twice.OpenVibers · 27 Sept 2026
a207b1d -
Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check)OpenVibers · 26 Sept 2026
b7fbe65 -
Pins: openvibe-shared 1.18.0 -> 1.20.0 (the update matrix and release manifest 1.2.0: client generations, the shell)OpenVibers · 26 Sept 2026
a11fe37 -
Pins: openvibe-shared 1.17.1 -> 1.18.0 (update telemetry: prompted count, sessions by generation)OpenVibers · 26 Sept 2026
b353594 -
Pins: openvibe-shared 1.16.1 -> 1.17.1 (release notifications)OpenVibers · 26 Sept 2026
7d765ea -
Pins: openvibe-shared 1.16.0 -> 1.16.1 (the OV mark stops animating when idle, hidden or off-screen)OpenVibers · 26 Sept 2026
c110173