Patch notes: Chat serves the features built on the six chat tables
Imported. Imported from Commit messages from the OpenVibers repositories on GitHub; originally by OpenVibers.
What shipped on OpenVibe on 2026-09-29: 72 changes to OpenVibe.Host, OpenVibe.Live, OpenVibe.Events, OpenVibe.Chat, OpenVibe.Trade, OpenVibe.Deals and 16 more. Every line below is a commit message from the OpenVibers repositories, linked to the change itself.
Highlights
- OpenVibe.Chat: Chat serves the features built on the six chat tables (plan T3 step 1): Live's read API GET /internal/moderation/channels/:id, /users/:id/channels and /channels/:id/emote-count (chat.moderation.read, loopback, service token; answers… (
0e38083) - OpenVibe.Chat: The chat-AI summaries run in Chat (plan T3 step 2): Live's job ported over Chat's own messages and projections (same cadence, selection, prompts, fields and limits), calling OpenVibe.AI with Chat's own token (workflows… (
adb2ab3) - OpenVibe.Events: Events on current pins (plan T7, A1 + A2): openvibe-contracts v0.80.0, openvibe-sdk v0.25.1, openvibe-shared v2.2.0 (no removed export was in use; behaviour unchanged); docs/replay-window-rollout.md and docs/capabilities-proposal/ deleted… (
d42168e) - OpenRe.Stream: OpenRe carries JSMPEG (plan T4, transports step 1): one protocol name per transport (rtmp, webrtc, jsmpeg; whip accepted on input as webrtc; worker kinds rtmp-ingest, restream, webrtc, jsmpeg; migration 0002 rewrites stored names), and a… (
63c9ad0) - OpenVibe.Tools: Every Tools app on openvibe-sdk v0.25.1 and openvibe-shared v2.3.1 (from 0.12.0 and 1.29.2; no removed Shared export was in use): the PostgreSQL port needs openvibe-sdk/db, valkey, the limit store, createPgOutbox and the revocation store.… (
4a5479b) - OpenVibe.Community: Community is the only paste authority, moves between pages without a reload, and tells search engines when a page changes (plans T10 J6 and T11). The PASTES_AUTHORITY=live path is gone: the Live paste proxy (server/pastes/proxy.js), the… (
c4b171a) - OpenVibe.Deals: Deals on the Publishing 1.1.0 chassis (plan T9 J4): the Sources client, change cursor and pull loop, signed event consumer, normalisers and publication glue come from openvibe-publishing/ingest and /publication; Deals keeps its domain half… (
c56acd8) - OpenVibe.News: News on the Publishing 1.1.0 chassis (plan T9 J2) with IndexNow and a CI performance budget (plan T11 decision 4): the Sources client, change cursor and pull loop, signed event consumer and normalisers come from openvibe-publishing/ingest… (
99e3641)
OpenVibe.Host
- Compatibility register: C-82 (OpenVibe.Realtime) is closed with nothing to migrate: the repository never carried code, its Contracts manifest was removed in Contracts v0.78.0, the repository is archived as ADR-005's decision record, and… (
93971d2) - Compatibility register: the shared internal key is retired (C-50 to C-59 closed in one sweep, plan T2): Network, Live, Media, Tools and Shared on service tokens with per-route capabilities (Contracts v0.79.0), INTERNAL_API_KEY gone from… (
6547316) - Compatibility register: C-89 closed. The SQLite files of the 19 services on PostgreSQL (and older pre-migration backups, Billing's stale Live snapshot) are archived off-host (ovhost archive 20260929-124813, 44 files, restore verified) and… (
9feaac5) - Host on the service kit (plan T1): sign-in is openvibe-sdk/sso createSsoClient (state + PKCE S256, server-side exchange, next limited to this site and the Network), service tokens are checked by openvibe-sdk/auth verifyServiceToken (the… (
4030fdc) - Host moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first with the shared transition, prefetching on intent, and does a normal load across a deploy (the ov-boost marker carries the… (
92e4727) - Host tells search engines when a hosted site changes (plan T11, IndexNow): with INDEXNOW_KEY set, a production site's deploy, rollback, domain change or removal pings the engines for that site (its root and sitemap); sandbox sites never… (
bf33758) - Host: certificate lifecycle, per-site config, tenant sitemaps and preview deploys (plan T12 J1, J3, J4, J6; behind the loopback service until the launch). (
4cbdf05) - Host on openvibe-contracts v0.83.0, which releases host.site.config: the local 'proposed capability' path and docs/capabilities-proposal/ plus the service manifest proposal are gone; capabilities are checked by the library alone, and the… (
dee29c4)
OpenVibe.Live
- N-1 fixtures re-recorded from 6e7ed60, the release now in production (npm run n-1:record). (
97b1588) - Stream thumbnails may be embedded by other OpenVibe sites (Cross-Origin-Resource-Policy: cross-origin on /api/thumbnails): the network's front door shows who is live with their current frame. Everything else keeps helmet's same-origin… (
971b3cd) - Live reaches Media with its own service token (plan T4, Media cleanup D8): media-client and the lineage media source send a client-credentials token for audience openvibe.media (media.object.read/list/upload/delete on namespace live), one… (
06f752a) - Live reads the six chat tables from Chat (plan T3 step 3; Chat has been their writer since 14:46 UTC): server/chat/moderation-client.js asks Chat's internal read API (chat.moderation.read, service token, 30 s cache, a failure answers 'not… (
8cead36) - N-1 fixtures re-recorded from 8cead36, the release now in production (npm run n-1:record). (
50eab3b) - Live's T3 N+1 release: the staged-table machinery, Live's chat-AI job and the old emote and channel-moderation routes are deleted (plan T3 step 5; OpenVibe.Chat has written the six tables since 14:46 UTC and serves their APIs). (
8654ef6) - N-1 fixtures re-recorded from 8654ef6, the release now in production (npm run n-1:record). (
3bb2976) - Live T3 N+2: Live's copies of seven chat tables are dropped, and robot commands from chat pass the control gate. (
fb3957f)
OpenVibe.Events
events.openvibe.network · repository
- Events on current pins (plan T7, A1 + A2): openvibe-contracts v0.80.0, openvibe-sdk v0.25.1, openvibe-shared v2.2.0 (no removed export was in use; behaviour unchanged); docs/replay-window-rollout.md and docs/capabilities-proposal/ deleted… (
d42168e) - Deliveries are claimed with a database lease (plan T7, ADR-042 decision 3): the claim locks the subscription rows FOR UPDATE SKIP LOCKED and leases each one's next due delivery (lease_owner, lease_until; migration 0002, which also adds… (
f7f592b) - One inbox (plan T7, ADR-042 decision 9): lib/client.js re-exports openvibe-sdk's PostgreSQL outbox and inbox (createPgOutbox, createPgInbox, outboxSchema, inboxSchema) and its own SQLite copies are gone, with better-sqlite3; the README… (
9b8b2b6) - Opaque cursors beside the global seq (plan T7, ADR-042 decision 7; openvibe-contracts v0.81.0): every answer that carries a seq also carries its cursor (publish results, pulls with next_cursor, single events, checkpoints with epoch and… (
2863954) - Delivery policies and per-key ordering (plan T7, ADR-042 decisions 1 and 4): server/fabric/policy.js resolves an event type's events.delivery-policy@1 (the most specific delivery_policies pattern, else the default: domain, durability… (
351f4e9) - Carriers, the planner and explain (plan T7, ADR-042 decisions 2 and 5): pg-v1 (the poll, every class) and valkey-v1 (QUEUE: a Valkey stream per carrier class through openvibe-sdk/queue, whose consumers take a delivery with a targeted… (
d705349)
OpenVibe.Chat
- Chat serves the features built on the six chat tables (plan T3 step 1): Live's read API GET /internal/moderation/channels/:id, /users/:id/channels and /channels/:id/emote-count (chat.moderation.read, loopback, service token; answers… (
0e38083) - The chat-AI summaries run in Chat (plan T3 step 2): Live's job ported over Chat's own messages and projections (same cadence, selection, prompts, fields and limits), calling OpenVibe.AI with Chat's own token (workflows… (
adb2ab3) - Chat drops the staged-table machinery (plan T3 step 4; Chat has written all six tables since 2026-09-29 14:46 UTC): STAGED_TABLES/KEYS, the authority cache and checks, applyStagedChanges/sliceHash/stagedSlice, the staged mirror triggers… (
f7bf6a6) - openvibe.live's /api/emotes goes to Chat (plan T3): Chat has owned the emotes table since 2026-09-29 14:46 UTC and serves the emote API with Live's paths, shapes and limits; POST /api/emotes (upload) and /api/emotes/* get Live's /api/… (
04d2625) - Chat drops table_authority (plan T3): the previous release (04d2625, now the N-1 fixture, re-recorded) no longer reads it, so it goes from existing databases at boot and from schema.sql. npm test 42/42. (
c90745a)
OpenVibe.Trade
- A regression test pins nested transactions: an inner store.tx that throws rolls back only its own writes while the outer one commits, and an outer throw rolls back everything (plan T0; the SDK makes an inner tx a savepoint). Built on a… (
211ed12) - Trade on the service kit (plan T1): sign-in is openvibe-sdk/sso createSsoClient (state + PKCE S256, server-side exchange, next limited to this site and the Network), service tokens are checked by openvibe-sdk/auth verifyServiceToken (the… (
72f807b) - Trade moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first with the shared transition, prefetching on intent, and does a normal load across a deploy (the ov-boost marker carries the… (
a7c11cd) - Trade tells search engines when a page changes (plan T11, IndexNow): with INDEXNOW_KEY set the key file is served at /<key>.txt and an indexable page appearing, changing or going away pings the engines (its path and the sitemap); drafts… (
6b255e5) - Trade on the Publishing 1.1.0 chassis (plan T9 J6): the Sources client, change cursor and pull loop, signed event consumer, normalisers, freshness verdict and Search publication glue come from openvibe-publishing/ingest and /publication… (
e0fffe7)
OpenVibe.Deals
- README names openvibe-sdk v0.25.1, the pinned release. (
3c57d05) - Deals moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first with the shared transition, prefetching on intent, and does a normal load across a deploy (the ov-boost marker carries the… (
2bcad35) - Deals tells search engines when a page changes (plan T11, IndexNow): with INDEXNOW_KEY set the key file is served at /<key>.txt and an indexable deal or product page appearing, changing or going away pings the engines (its path and the… (
3ed88be) - Deals on the Publishing 1.1.0 chassis (plan T9 J4): the Sources client, change cursor and pull loop, signed event consumer, normalisers and publication glue come from openvibe-publishing/ingest and /publication; Deals keeps its domain half… (
c56acd8)
OpenVibe.AI
ai.openvibe.network · repository
- AI phase 0 of the provider router (plan T6): every finished attempt rolls up into provider_stats_daily (requests, ok, errors, tokens, cost, a fixed-bucket latency histogram with p50/p95) and moves the route's placement_state EWMA (latency… (
2ac514b) - chat.global and chat.profile workflows under Chat's own namespace (plan T3): OpenVibe.Chat runs the chat summaries now, with its own token (ai.run.* on chat.*), so it never needs Live's namespace. Same templates, schemas and… (
ad7be2a) - Capability pools placed by the SDK planner, with explain on every run (plan T6 phase 1; openvibe-sdk v0.25.2): a route may name a capability instead of a fixed primary and fallbacks, and the router asks openvibe-sdk/placement for the order… (
5a418a5)
OpenVibe.Blog
- Blog moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first with the shared transition, prefetching on intent, and does a normal load across a deploy (the ov-boost marker carries the… (
12380d2) - Blog tells search engines when a page changes (plan T11, IndexNow): with INDEXNOW_KEY set the key file is served at /<key>.txt and an indexable page appearing, changing or going away pings the engines (its path and the sitemap); drafts… (
9d00e2b) - The Blog home opens with what OpenVibe.Blog is for (plan T11, D92; openvibe-shared v2.3.1 showcase): 'Write on OpenVibe', where to start (Start writing, or read the OpenVibe blog below), and the six things a blog really gets today (drafts… (
05b8bbb)
OpenVibe.Codes
- Codes moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first with the shared transition, prefetching on intent, and does a normal load across a deploy (the ov-boost marker carries the… (
feb3d8b) - Codes tells search engines when a page changes (plan T11, IndexNow): with INDEXNOW_KEY set the key file is served at /<key>.txt and a release or app page appearing, changing or going away pings the engines (its path and the sitemap)… (
98bb8f9) - The Codes home is built from the showcase kit (plan T11, D92; openvibe-shared v2.3.1): a hero with where to start and a working SDK sample, what an integration gets (credentials, grants, events, generated reference, playgrounds, the SDK)… (
f15150d)
OpenVibe.Coupons
- Coupons moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first with the shared transition, prefetching on intent, and does a normal load across a deploy (the ov-boost marker carries the… (
2988c6a) - Coupons tells search engines when a page changes (plan T11, IndexNow): with INDEXNOW_KEY set the key file is served at /<key>.txt and an indexable page appearing, changing or going away pings the engines (its path and the sitemap); drafts… (
36f2f08) - Coupons on the Publishing 1.1.0 chassis (plan T9 J5): the Sources client, change cursor and pull loop come from openvibe-publishing/ingest (clients/sources.js keeps only the coupons policy per item, on the caller's transaction), Search… (
0b72fa1)
OpenVibe.News
- News on the service kit (plan T1): sign-in is openvibe-sdk/sso createSsoClient (state + PKCE S256, server-side exchange, next limited to this site and the Network), service tokens are checked by openvibe-sdk/auth verifyServiceToken (the… (
6023be4) - News moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first with the shared transition, prefetching on intent, and does a normal load across a deploy (the ov-boost marker carries the… (
ff65515) - News on the Publishing 1.1.0 chassis (plan T9 J2) with IndexNow and a CI performance budget (plan T11 decision 4): the Sources client, change cursor and pull loop, signed event consumer and normalisers come from openvibe-publishing/ingest… (
99e3641)
OpenVibe.Reviews
- Reviews moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first with the shared transition, prefetching on intent, and does a normal load across a deploy (the ov-boost marker carries the… (
4054ffa) - Reviews tells search engines when a page changes (plan T11, IndexNow): with INDEXNOW_KEY set the key file is served at /<key>.txt and an indexable review or product page appearing, changing or going away pings the engines (its path and the… (
1db22ff) - Reviews on the Publishing 1.1.0 chassis (plan T9 J3): the Sources client, change cursor and pull loop, signed event consumer and normalisers come from openvibe-publishing/ingest; Reviews keeps its domain half (reviews/source-items.js… (
e53a5dd)
OpenVibe.Wiki
- Wiki moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first with the shared transition, prefetching on intent, and does a normal load across a deploy (the ov-boost marker carries the… (
f36c942) - Wiki tells search engines when a page changes (plan T11, IndexNow): with INDEXNOW_KEY set the key file is served at /<key>.txt and an indexable page appearing, changing or going away pings the engines (its path and the sitemap); drafts… (
31f8ee0) - The Wiki home opens with what OpenVibe.Wiki is for (plan T11, D92; openvibe-shared v2.3.1 showcase): 'Knowledge, with sources', where to start (start a space, or sign in to), and the six things a space gets today (page trees, revision… (
c6e6f4d)
OpenVibe.Community
openvibe.community · repository
- Community is the only paste authority, moves between pages without a reload, and tells search engines when a page changes (plans T10 J6 and T11). The PASTES_AUTHORITY=live path is gone: the Live paste proxy (server/pastes/proxy.js), the… (
c4b171a) - The Community home is built with the showcase kit (plan T11, openvibe-shared v2.3.1): a hero with the terminal sample beside it, the latest and most-viewed pastes as before (the language cloud now under Latest), what lives here (pastes… (
d4b42e9)
OpenVibe.Games
- Games M1 step 3 (ADR-0007): intent input. One frozen, versioned intent bitfield in packages/shared (the movement layer re-exports it, the protocol's copy is gone); look is absolute and quantised to int16 (1/65536 turn) on the wire, the… (
2abbb15) - Rapier replaces Havok behind the unchanged physics seam (ADR-0007 M1 steps 4-7), and Games serves its own legal pages (plan T11 decision 6). (
9201a6f)
OpenVibe.Media
- X-Internal-Key is gone from Media (plan T2, the last step): POST /internal/avatar-ingest takes only a Network service token holding media.avatar.ingest, loopback only; guardOrKey, config.network.internalApiKey and INTERNAL_API_KEY are… (
809b06b) - Media serves Live and OpenRe on their own service tokens (plan T4, Media cleanup D8): every v1 tenant route Live or OpenRe calls names the verb it performs (read, list, upload, delete), so a token is checked against the right capability… (
29be23a)
OpenRe.Stream
- OpenRe carries JSMPEG (plan T4, transports step 1): one protocol name per transport (rtmp, webrtc, jsmpeg; whip accepted on input as webrtc; worker kinds rtmp-ingest, restream, webrtc, jsmpeg; migration 0002 rewrites stored names), and a… (
63c9ad0) - OpenRe's webrtc worker (plan T4, transports step 2): WHIP ingest, the mediasoup SFU and viewer signaling in one worker kind (workers/webrtc.js + webrtc/{sfu,sdp,signaling}.js; UDP 10200-10300 beside Live's 10000-10100), a WHIP session… (
75a5dd7)
OpenVibe.Tools
- Tools on PostgreSQL, the groundwork (plan T8): migrations 0001_tools (one tools database for the eight apps: the job store and guard_abuse with app in every key that could collide; guard counters and salt go to Valkey) and 0002_analytics… (
58f8b51) - Every Tools app on openvibe-sdk v0.25.1 and openvibe-shared v2.3.1 (from 0.12.0 and 1.29.2; no removed Shared export was in use): the PostgreSQL port needs openvibe-sdk/db, valkey, the limit store, createPgOutbox and the revocation store.… (
4a5479b)
OpenVibe.VIP
- VIP on the service kit (plan T1): the outbox is openvibe-sdk/events createServiceOutbox (callers emitIn inside the change's transaction). Pins: openvibe-sdk v0.25.0, openvibe-contracts v0.79.0, openvibe-shared v2.0.0. Both suites green… (
323872f) - VIP moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first with the shared transition and does a normal load across a deploy (the ov-boost marker carries the release); page scripts that… (
453d347)
OpenVibe.Network
- The network's front door (plan T11, D93): the home page starts from what you came to do. A search box ('What do you want to do?') lights the intent it names and opens it, anything else is a tool search (the form's own action, so it works… (
20dd7ff)
OpenVibe.Search
search.openvibe.network · repository
- Search moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first with the shared transition and does a normal load across a deploy (the ov-boost marker carries the release); page scripts… (
eea0abe)
OpenVibe.Tips
- Tips moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first and does a normal load across a deploy (the ov-boost marker carries the release); page scripts that wire <main> also run on… (
ebb0aa1)
Patch notes are put together automatically when enough changes have shipped, or when a large feature lands. See every site's own updates page for the live list.
Comments
Comments could not be loaded from OpenVibe.Community right now. Reload later.