Skip to content
-
Live never sends X-Internal-Key again (plan T2, step 2 of the sweep): every call to Network's internal API goes with Live's client-credentials service token, including the avatar report and mark-read-by-type now that Network guards them (network.avatar.write, network.notifications.push). A refused token is retried once with a freshly minted one; with no token at all the call fails like an unreachable Network (the wallet answers a WalletError, notifications log and skip). The dead key reads in chat-server.js and streaming/routes.js are gone; the registry refresh, identity sync and go-live path check OV_OAUTH_CLIENT_SECRET instead of the key. Live's own internal routes still accept the key until Network and Chat stop sending it. test/helpers/network-token-stub.js gives stub Networks a token endpoint; the principal test asserts the key is never sent. npm test 151/152, 1 skipped.OpenVibers · 29 Sept 2026
bea231e5
-
N-1 fixtures re-recorded from 660833d, the release now in production (npm run n-1:record).OpenVibers · 29 Sept 2026
f8880b1f
-
Internal routes take service tokens (plan T2, X-Internal-Key retirement, step 1 of the sweep): /internal/user-avatar (live.avatar.write), /internal/url-registry/refresh (live.url_registry.refresh), /internal/analytics-summary (live.analytics.read) and Chat's staged-table handoff /internal/chat-tables* (live.chat_mirror.write) each check the one capability they perform, loopback only. A Bearer is judged on the token alone; the key still passes without one while Network and Chat move (guardOrKey), then goes. The openvibe-quest game-item bridge is deleted (the quest game runs nowhere, nothing listens on :3200): questApi, activate/return-to-game, POST /api/cosmetics/internal-unlock, the 'Return to Game' buttons and their styles; /api/cosmetics/activate and /deactivate answer 410 for one release so old tabs keep their answers (ADR-016 N-1), then go. Tests: capability per route, audience, sandbox, a Bearer never downgraded to the key, the public edge refused; n-1 green. npm test 151/152, 1 skipped.OpenVibers · 29 Sept 2026
660833de
-
N-1 fixtures re-recorded from 1a28261, the release now in production (npm run n-1:record).OpenVibers · 29 Sept 2026
ee2ad948
-
Live no longer carries the old game: OpenVibe.Games is being rewritten (its ADR-0007) and will never serve /game, /canvas or /api/game again, so the /game and /canvas redirects, the /api/game 410, the /ws/game and /ws/canvas upgrade branch, the SPA routes and their footer/nav/history special cases are gone (the paths answer 404, with no redirect; game and canvas stay reserved usernames). The home page's Games widgets (leaderboards and the canvas preview, switched off behind GAMES_HOME_WIDGETS because Games never served them) are deleted with their markup and CSS, and the network hub's Canvas card with them; the hero Game button opens openvibe.games. Leaderboards return when OpenVibe.Play serves them. Reviewed independently (VERDICT: SHIP). npm test 151/152, 1 skipped.OpenVibers · 29 Sept 2026
1a28261a
-
N-1 fixtures re-recorded from 03f1593, the release now in production (npm run n-1:record).OpenVibers · 29 Sept 2026
3f8a6157
-
Popout chat on phones: the message box and tools row no longer sit under the browser's bottom bar (the page used 100% height, which includes it; now the dynamic viewport, the home-indicator inset, and interactive-widget=resizes-content so the keyboard resizes the page). A sturdier header (38px tap targets, the title truncates), the viewer list and settings slide over the chat on narrow screens instead of squeezing it, deploy notices are thin lines rather than a stack of cards, a thin themed scrollbar, and the 'Translate chat' switch shrinks to its icon on narrow screens so it stays on the tools row.OpenVibers · 29 Sept 2026
03f15936
-
Channel page on phones, polished: over a custom offline image the 'Most watched' card no longer gets clipped (below 720px of column the image becomes a banner and the card follows it); the discover board shares the column's gutter; About leads with the streamer's own words as lead text (no box), the AI summary follows as a quiet note, and every channel ends with 'Latest videos' and 'Popular clips' rows (snap-scrolling cards, 'See all' opens the tab) instead of a screen of empty space; the page no longer forces a full-viewport height above the footer; the tab row fades at its right edge while more tabs are hidden past it.OpenVibers · 29 Sept 2026
3eda2d68
-
Fixes from the review of today's Live commits (an independent DeepSeek review).OpenVibers · 29 Sept 2026
a98aae48
-
N-1 fixtures re-recorded from 6584999, the release now in production (npm run n-1:record).OpenVibers · 29 Sept 2026
e3a606cc
-
A tip with a hidden amount says 'sent a tip', never 'donated 0 Vibes': Tips sends amount null for privacy.hide_amount, and Live turned it into 0 in the chat event, the saved line and TTS. The delivery route keeps null, the saved line reads '<name> sent a tip: <message>', and chat renders and speaks it without an amount. Test: a hidden-amount delivery broadcasts amount null and saves 'Viewer sent a tip: hi'.OpenVibers · 29 Sept 2026
65849994
-
Page moves never flash unstyled: openvibe-shared v1.30.1 (from v1.29.2) inserts a route's markup once its stylesheets are in, and showPage hands the page to ov.enter(), which keeps it hidden (in its space) until the route's styles and code are ready, runs a real progress bar from the click, shows 'Loading Content…' with the phase after 150 ms, then fades the page in (opacity only). Live's own timer-based route bar and page rise (ovRouteProgress, ovAnimatePageEnter, #ov-routebar, .page.is-entering) are gone. Measured locally at 400 ms latency. npm test 151/152, 1 skipped.OpenVibers · 29 Sept 2026
c201d8c1
-
Chat translation that knows which lines need it and never asks twice.OpenVibers · 29 Sept 2026
3e82fa97
-
A folded deploy card is one line at any chat width: the time range truncates with an ellipsis instead of wrapping and pushing the chevron onto a third line (35px per card on the deployed page, was 72).OpenVibers · 29 Sept 2026
83f012c2
-
N-1 fixtures re-recorded from 2b5df7c, the release now in production (npm run n-1:record).OpenVibers · 29 Sept 2026
1a98ebdb
-
Channel chat resizes in every layout, with a mouse, a finger or the keyboard; deploy cards in chat fold to one line.OpenVibers · 29 Sept 2026
2b5df7c6
-
N-1 fixtures re-recorded from 85ec90c, the release now in production (npm run n-1:record).OpenVibers · 29 Sept 2026
3417fa64
-
Channel page: the chat no longer runs off the right edge at some widths (at 1181px+ the main column stopped scrolling on its own, and as a flex item it then refused to shrink below the one-row tabs; min-width 0). The chat can be hidden on desktop: a button at the left of the chat header slides it away so the stream or the offline page takes the full width, and a Chat tab at the middle of the window edge brings it back (it slides in). Remembered per browser; phones keep their own chat toggle.OpenVibers · 29 Sept 2026
85ec90c2
-
Go Live page reorganized, and the popout chat fixed.OpenVibers · 29 Sept 2026
ad5e47f4
-
N-1 fixtures re-recorded from 04eb248, the release now in production (npm run n-1:record).OpenVibers · 29 Sept 2026
5c5578ba
-
openvibe-shared v1.29.2 (from v1.29.1): the Go Live dropdown (Dashboard) in the navbar opens again; the links row, which scrolls sideways, was clipping it. npm test 150/151, 1 skipped.OpenVibers · 29 Sept 2026
04eb248a
-
N-1 fixtures re-recorded from 45429eb, the release now in production (npm run n-1:record).OpenVibers · 29 Sept 2026
f7099f1f
-
Offline channel fixes seen on the deployed page at 1280 and 1600px: the "While X is away" count sat in the heading's rule column and stretched into a full-width blue bar (grid auto-placement), and the rule dropped to a second row; every part now has its column. The count's text uses --on-accent. With one top card, the "Most watched" block narrows to it so the heading sits over the card. The channel tabs are one row that scrolls sideways instead of wrapping Analytics onto a row of its own. N-1 fixtures re-recorded from 14f1618, the release now in production.OpenVibers · 29 Sept 2026
45429ebf
-
Channel social links, and the offline channel page reorganized for wide screens.OpenVibers · 29 Sept 2026
14f16182
-
N-1 fixtures re-recorded from a825d80, the release now in production (npm run n-1:record).OpenVibers · 28 Sept 2026
ce730526
-
The home banner's go-live area, redesigned: a primary "Go live from your browser" button and a "How it works" button side by side (stacked full width on phones), with what you don't need as one checklist line (no OBS, no downloads, no follower minimum, Chromebook, laptop or phone). The card inside the banner is gone: on phones it wrapped its bolt icon onto a row of its own, leaving a block of empty space, and read as a box inside a box; the loose "How browser streaming works" link is now the second button. The lede is shorter and the chips smaller. openvibe-shared v1.28.1 (from v1.25.0): the account panel keeps its sections' height on phones, no empty space under the footer on phones, async Express handlers' errors reach the error handler (1.27). npm test 149/150, 1 skipped.OpenVibers · 28 Sept 2026
a825d806
-
Tests no longer forbid "free" or "$0" in llms.txt, the home page metadata and the broadcast sign-in gate: the owner took the no-free-copy rule down (2026-09-28); OpenVibe leads with generous free tiers.OpenVibers · 28 Sept 2026
d6f220eb
-
N-1 fixtures re-recorded from 068d559, the release now in production (npm run n-1:record).OpenVibers · 28 Sept 2026
d20e033e
-
Live talks to OpenRe.Stream through openvibe-sdk/openre (SDK v0.16.0, from v0.12.0) instead of its own HTTP client. server/openre/openre-client.js keeps Live's settings (OPENRE_URL, OPENRE_PUBLIC_URL, the service principal), the on/off switch and every name the rest of Live calls: streamForSlot is streams.byExternalRef, and createStreamForSlot, rotateKey, getStream, getSession and playback (cached 10 s in the SDK) are the SDK's. SDK errors keep the OpenReError shape (status, code, body) that the admin routes answer with. The client is rebuilt when OPENRE_URL changes, so unsetting it is still the rollback for every switched slot. openre-switch passes unchanged. npm test 149/150, 1 skipped.OpenVibers · 28 Sept 2026
068d5597
-
N-1 fixtures re-recorded from 6c2d06b, the release now in production (npm run n-1:record).OpenVibers · 28 Sept 2026
ae5c72ff
More commits