Skip to content
-
README and STATUS.json are current (roadmap WS-U task 3): a Capabilities section lists the seven openre.* capabilities and what OpenRe calls at Events, Live (live.lineage.resolve, also added to the grants list) and Media; Security notes point to SECURITY.md; Deploying says how an API and a worker deploy roll back. Stale facts corrected: the status line and launch rule say the RTMP ingest is public on 1936 and Live is wired (phase A of docs/cutover.md, 2026-09-23), not loopback-only and inert; Depends on names the current pins (contracts v0.49.0, sdk v0.12.0, shared v1.22.0). STATUS.json names openvibe-contracts v0.49.0, fixes the livePatch note, gains features and is updated 2026-09-28.OpenVibers · 28 Sept 2026
c77ec2a
-
Per-actor limits on the ingest API's writes (roadmap WS-R task 4; openvibe-sdk 0.11.0 -> 0.12.0 openvibe-sdk/limits). server/api/actor-limits.js counts a signed-in person's writes by subject: OPENRE_LIMITS_MINUTE / _HOUR (120 and 3000), and tighter on top for key rotations (5 a minute, 20 an hour), destination tests (10/100, an outbound connection to someone else's server) and new streams (10/100). Past a limit: 429 rate_limited with Retry-After before the route runs, logged and counted in openre_rate_limited_total. Service callers are not counted: Live manages every streamer's ingest with its token, and its capability grant is its limit. Reads are not counted. test/actor-limits.test.js: one person refused while another passes, Live and reads never counted, five rotations a minute, the window reopens. npm test 18/18.OpenVibers · 28 Sept 2026
cf423e3
-
deploy/scripts/deploy.sh hands over to ovhost deploy openre (OpenVibe.Host strategy release-layout; roadmap WS-N task 11). The old script is kept, unchanged, as deploy/scripts/deploy-legacy.sh. deploy (release + api in one), release [<ref>] (ovhost deploy openre --prepare-only: releases/<sha12>, npm ci, chown ubuntu; the sha12 alone on stdout as before), api [<sha>] (deploy --to <sha>: switch current, restart openre-api and the coordinator only, roll back if not ready), rollback [<sha>] and plan (or DRY_RUN=1) go to ovhost; workers, status and prune always run deploy-legacy.sh, since ovhost never starts, stops or restarts a worker unit and prunes on its own, never a release a worker generation runs from. ovhost also refuses an API restart while an ingest session is open (--wait-idle, --force). The wrapper asks ovhost capabilities openre first and falls back to deploy-legacy.sh (deploy = release then api, rollback <sha> = api <sha>) when ovhost is missing, too old or the host inventory does not deploy openre with release-layout (OVHOST_LEGACY=1 forces it). test/deploy-wrapper.test.js. README.OpenVibers · 27 Sept 2026
fadd8a3
-
The notification bell hears new notifications as they happen (notificationsRealtime; Shared 1.22.0, roadmap WS-E task 3): Network's network.notification.created over OpenVibe.Events' realtime stream, with polling as the fallback. Only a signed-in bell with a Network token opens a stream.OpenVibers · 26 Sept 2026
ff4e5a7
-
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
b34dcd6
-
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
9cf13a8
-
Pins: openvibe-shared 1.17.1 -> 1.18.0 (update telemetry: prompted count, sessions by generation)OpenVibers · 26 Sept 2026
0c16746
-
Pins: openvibe-shared 1.16.1 -> 1.17.1 (release notifications)OpenVibers · 26 Sept 2026
e1b2799
-
Pins: openvibe-shared 1.16.0 -> 1.16.1 (the OV mark stops animating when idle, hidden or off-screen)OpenVibers · 26 Sept 2026
8686bec
-
Pins: openvibe-shared 1.13.0 -> 1.16.0OpenVibers · 26 Sept 2026
8f4b3cb
-
Pins: openvibe-contracts 0.33.0 → 0.49.0, openvibe-shared 1.12.0 → 1.13.0, openvibe-sdk 0.5.0 → 0.11.0OpenVibers · 25 Sept 2026
0284216
-
The OpenVibe Frame from this site's own pinned copy: /shared/* is served by openvibe-shared/serve (1.12.0) and every page references it by content hash (/shared/<file>?v=<hash>), so this site's pin decides what its pages run and its navbar and footer keep working while openvibe.network is downOpenVibers · 24 Sept 2026
d7330c5
-
The shared update system and one account UI, on the OpenVibe Frame (openvibe-shared 1.11.0, openvibe/frame): the home shows what shipped, /updates is the shared log and the footer links it; the shared navbar handles sign in and out (logoutUrl ends this site's session) and carries this site's account links in its menu, while the page's own account bar is only for no-JS visitorsOpenVibers · 24 Sept 2026
ea87a94
-
One W3C trace across services (Track O): openvibe-shared v1.7.0 trace.install(app) keeps each request's traceparent and puts it on the calls made while serving it, to loopback and OpenVibe hosts onlyOpenVibers · 24 Sept 2026
4df7677
-
Loopback /metrics (Track O): openvibe-shared/metrics on openre-api (request rates and latencies, process metrics, release_info) plus openre_sessions{state} for starting and live ingest sessionsOpenVibers · 24 Sept 2026
f03a2c0
-
CI calls the shared test workflow (Track Q): OpenVibe.Shared test.yml@e8b0caf (install, node --check, npm test, openvibe-contracts-check; ffmpeg where the tests need it) instead of a copy of those stepsOpenVibers · 24 Sept 2026
7934bd8
-
release.json names the deployed commit: a release directory (releases/<sha>) has no .git of its own, so the manifest said 0000000; RELEASE_COMMIT, OPENRE_RELEASE or the directory's sha now supply itOpenVibers · 24 Sept 2026
40afbdd
-
Serve the release manifest (Track R, D43): GET /release.json on openre-api (release, contracts, openvibe-shared/sdk/contracts versions) through openvibe-shared release; test in drill-mode.test.jsOpenVibers · 24 Sept 2026
f391183
-
Session lineage from Live's canonical resolver (D20): the coordinator asks OpenVibe.Live's /internal/lineage/resolve (live.lineage.resolve, OpenRe's service token) which channel each Live-linked definition belongs to (mirror_to_live or a live:managed_stream ref; owner subject and slot id, never a display name), keeps the answer in definition_lineage (refreshed every 15 minutes, 20 a tick, stops for the tick when Live is down), and openre.session.* events carry payload.lineage { channel, rule } once resolved. OPENRE_LINEAGE=off disables it. test/lineage.test.jsOpenVibers · 24 Sept 2026
ef21212
-
SECURITY.md: how to report a vulnerability ([email protected], 7-day reply, scope, supported versions)OpenVibers · 24 Sept 2026
e517ed4
-
openvibe-shared v1.5.1, openvibe-contracts v0.33.0OpenVibers · 23 Sept 2026
cc70a5a
-
openvibe-shared v1.5.0, openvibe-contracts v0.32.0, openvibe-sdk v0.5.0OpenVibers · 23 Sept 2026
cf90bac
-
CI: run the shared security workflow (gitleaks secret scan + dependency audit, Track Q)OpenVibers · 23 Sept 2026
c091a09
-
Status: A2-A6 and C done on production (release e0dc1b46fd99, public bind, Live wired, preflight PASS, drill passed); A4 not needed — 1936 answers from outsideOpenVibers · 23 Sept 2026
4339a9e
-
RTMP cutover runbook and tooling. docs/cutover.md covers the whole cutover with owner and agent steps, a check and an undo for each: deploy the newest release, OPENRE_RTMP_BIND=0.0.0.0 through a new worker generation, 1936/tcp at the provider edge (owner), Live's OPENRE_URL/OPENRE_PUBLIC_URL/OPENRE_EVENTS_SECRET and the Events subscription, a rehearsal with a real destination, and the per-slot migration with the switch, key regeneration and personal-key rotation (H4), plus rollback per slot and for every slot at once.OpenVibers · 23 Sept 2026
e0dc1b4
-
OPENRE_DRILL: restore-drill mode. openre-api serves reads from the restored copy and answers 503 openre.drill_read_only to writes, /play/ and sign-in; /api/ready reports mode drill. The coordinator and every transport worker refuse to be created (code OPENRE_DRILL), and their entry points exit before opening the database. The event relay and Media recording requests are off whatever else the env sets. This lets ovhost drill openre start a second instance safely.OpenVibers · 23 Sept 2026
5e86ea7
-
Docs: STATUS.json and README match production (2026-09-23)OpenVibers · 23 Sept 2026
450f87c
-
nginx: client address headers only from $remote_addr (realip). X-Forwarded-For was appended to and CF-Connecting-IP passed through from the client, so a request reaching the origin without Cloudflare (DNS-only host or the bare IP) chose the address the service bans and rate-limits byOpenVibers · 23 Sept 2026
6dc78a5
-
openvibe-contracts v0.16.0 (openre manifest and capabilities released); contracts check is blockingOpenVibers · 23 Sept 2026
655b98a
-
Review fixes: output reports only land for the worker that owns the output (a lost worker can no longer stop a released or reassigned output), destination keys scrubbed from ffmpeg errors, logs and events, loopback players cannot keep a drained or lost RTMP worker alive (sockets destroyed, exit hooks bounded), second publish on one connection left to node-media-server; Live patch: personal keys refused for channels with an OpenRe slot, chat bridges stopped when a mirrored session ends, switch re-checks liveness in its transaction, rows Live ended are detached from the mirror, id-less events acknowledged; patch re-made against Live f11f809OpenVibers · 23 Sept 2026
a2ddd2b
More commits