openvibers/openvibe.live Commits

Docs: the go-live flow is Events then Network's consumer (C-85 leftovers) (#97)

OP OpenVibers committed 11 Oct 2026 · 176eff7d56 · 2 files, +6 −12

Two documentation leftovers from Live#93 (C-85):

- **API docs page:** `public/fragments/documentation.html` described the old go-live flow, with Live calling `POST /internal/events/stream-live` and a direct-webhook fallback. It now describes the current flow: Live publishes `live.stream.started` to Events, Network's consumer notifies followers by inbox, Web Push, email and Discord with its per-streamer window, and a go-live during a Network outage waits in Events.
- **`.env.example`:** keeps one line saying go-live notifications come only from Network's consumer. The old comment block described `GOLIVE_NOTIFY` modes that no longer exist.

This is a documentation-only change: a static fragment and a comment.

Changes

ddiff --git a/.env.example b/.env.example
iindex 13a54b71..94bd6c35 100644
---- a/.env.example
++++ b/.env.example
@@@ -60,9 +60,7 @@ OV_OAUTH_CLIENT_SECRET=
# OpenVibe.Events (durable events): stream lifecycle is published through Live's outbox with the
# OAuth client above (grant events.event.publish). Unset = off. EVENTS_PUBLISH=off also disables it.
#EVENTS_URL=http://127.0.0.1:4300
--# Go-live notifications (compatibility register C-85): `events` leaves them to Network's live.stream.started
--# consumer (no direct POST /internal/events/stream-live, no fallback push); only while EVENTS_URL publishes.
--# Unset = both paths, as before.
++# Go-live notifications come only from Network's live.stream.started consumer (compatibility register C-85).
# OpenRestream (roadmap Wave 7): the ingest/restream authority. Unset = off, and every stream slot
# is ingested by Live exactly as before. When set, an admin can switch one slot at a time
ddiff --git a/public/fragments/documentation.html b/public/fragments/documentation.html
iindex c8ed8238..0acefcaf 100644
---- a/public/fragments/documentation.html
++++ b/public/fragments/documentation.html
@@@ -130,15 +130,11 @@
└──────────────────────────────────────────────────────┘</code></pre>
<h3>Event Flow: Stream Goes Live</h3>
--<pre><code>1. Streamer calls POST /api/streams (OpenVibe.Live)
--2. OpenVibe.Live creates stream record, starts media endpoint
--3. OpenVibe.Live calls POST /internal/events/stream-live (openvibe.network)
--4. openvibe.network Discord bot sends embed to #alerts channel (with dedupe)
--5. openvibe.network creates STREAM_LIVE notifications for:
-- - All followers of the streamer
-- - Users opted into "all live" alerts
--6. Push notifications fire via Web Push (VAPID)
--7. Fallback: OpenVibe.Live sends direct webhook if openvibe.network unreachable</code></pre>
++<pre><code>1. Streamer goes live (Go-Live API, RTMP, WHIP or the OpenRestream mirror)
++2. OpenVibe.Live creates the stream record and publishes live.stream.started to OpenVibe.Events
++3. openvibe.network's Events consumer tells the streamer's followers (its own follows):
++ inbox notification, Web Push (VAPID), email and Discord, at most once per streamer per window
++4. A go-live while openvibe.network is down waits in OpenVibe.Events and is delivered on retry</code></pre>
<h3>WebSocket Services</h3>
<table class="doc-table">