Patch notes: Project export, the full archive

Imported. Imported from Commit messages from the OpenVibers repositories on GitHub; originally by OpenVibers.

What shipped on OpenVibe on 2026-09-26: 82 changes to OpenVibe.Host, OpenVibe.Live, OpenVibe.Network, OpenVibe.Community, OpenVibe.Chat, OpenVibe.Events and 18 more. Every line below is a commit message from the OpenVibers repositories, linked to the change itself.

Highlights

  • OpenVibe.Codes: Project export, the full archive (roadmap WS-N task 9): a project's owner or an admin downloads one zip (POST /projects/:project/export/archive) with manifest.json (counts, limits reached, every file's size and SHA-256, what is not… (0ef363f)
  • OpenVibe.Chat: Rooms: call and system kinds, the full role set, Community attachments; openvibe.chat: call rooms, the DM inbox, working with Live down (roadmap WS-I tasks 4 and 8) (66724bd)
  • OpenVibe.Network: Roadmap baseline regenerated 2026-09-26 (WS-Q 6): 604 tables, 2381 routes, 107 call sites, 341 discrepancies; 6/7 exit criteria pass (EC7 waits for the host owner's hazard review). New ownership rules: config_keys/config_snapshots keep… (30528fa)
  • OpenVibe.Live: N-1 harness, the version Chat, Media and Community share (roadmap WS-P task 11): test/n-1/harness.js, scripts/n-1-record.js and test/n-1.test.js are now the same file in all four repositories; only test/n-1/service.js (clients, boot, seed… (2ec0dc2)
  • OpenVibe.Community: N-1 tests (roadmap WS-P task 11): the previous release's clients against this server, and its SQL against this schema. test/n-1.test.js boots this checkout as production runs it (pastes authority community, the shared database) with its… (0a3b5ea)
  • OpenVibe.Chat: N-1 tests (roadmap WS-P task 11): the previous release's clients against this server, and its SQL against this schema. test/n-1.test.js boots this checkout with its own test/helpers.js (stub Network and Live) on a database created from the… (c4c80d8)

OpenVibe.Host

openvibe.host · repository

  • browser-check --network-down (ADR-024, roadmap WS-E task 1): every site's home loads with openvibe.network unreachable (Shared 1.21.0 checkUnreachable) at 390 and 1280 px and must still paint: 200, settled, 120+ characters, a --accent… (9d71913)
  • Deploy proofs: Chat resume (WS-P task 3): an anonymous global-chat client across a Chat restart reconnected in 1.1 s and its after_id cursor read returned no missed or duplicate messages; recorded with its limit (a quiet chat: no message… (b87b634)
  • Deploy proofs: game shard (WS-P task 3): graceful stop saved the world in 34 ms and closed clients with 1012 server_restart; a reconnect made during the 2 s restart hung over 40 s instead of failing fast (recorded as an open finding… (8f49d50)
  • Deploy proofs, game shard: the hung reconnect was the probe's own; the game client polls /healthz and reloads after a restart. What is left is a first connect without a timeout during the 2 s gap (a666ca1)
  • Deploy proofs, game shard: the first-connect edge is fixed (Games b207e78) (b9a4a48)
  • Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check) (7514789)
  • ovhost alerts relay (roadmap WS-H task 11): the alerts firing in the host's Prometheus now reach the operator. Every two minutes (openvibe-alerts.timer) it reads /api/v1/alerts, keeps the firing ones, and sends the complete set to… (972d9db)
  • The release UX check (roadmap WS-H task 11): ovhost browser-watch --sites live (openvibe-browsercheck.timer, every 5 minutes) checks each watched site in Chrome after every release (read from /release.json) and once a day. Chrome runs as… (9d4c552)
  • browser-watch: all 23 public sites, and one alert per site across releases. The release moves from openvibe_browser_check_ok's labels to openvibe_browser_check_release_info{service,release}, which the alert summary reads. Before this, each… (3d5d8e7)
  • 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… (764e746)

OpenVibe.Live

openvibe.live · repository

  • Performance audit: the 2026-09-26 measurement after the release-client work (WS-T task 2): the home page on production against the recorded baseline; release-watch adds one request and no measurable paint or blocking cost (a13c2bd)
  • GOLIVE_NOTIFY=events (compatibility register C-85): leave go-live notifications to Network's live.stream.started consumer. While Live's events outbox publishes, a go-live then makes neither the direct POST /internal/events/stream-live nor… (e96383b)
  • Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check) (8caa540)
  • N-1 tests (roadmap WS-P task 11): the previous release's client against this server, and its SQL against this schema. test/n-1.test.js boots this checkout in the drill sandbox (writes let through by test/n-1/preload.js) on a database… (dad5cad)
  • N-1 harness, the version Chat, Media and Community share (roadmap WS-P task 11): test/n-1/harness.js, scripts/n-1-record.js and test/n-1.test.js are now the same file in all four repositories; only test/n-1/service.js (clients, boot, seed… (2ec0dc2)
  • Broadcast workspace: End stream calls DELETE /api/streams/:id, the route that ends a stream (owner or staff). It posted to /api/streams/:id/end, which no route serves, so the button answered 'Failed to end stream' with a 404. Found by the… (5caa46d)
  • N-1 fixtures re-recorded from 5caa46d, the release now in production (npm run n-1:record). (c85121d)
  • 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… (13525eb)
  • N-1 fixtures re-recorded from 13525eb, the release now in production (npm run n-1:record). (257bb25)
  • Unresolved lineage references for operators (roadmap D20, remaining item 2). Every unresolved answer of the canonical resolver is counted in lineage_unresolved by its inputs (canonical 'clip_id=7 slug=x') and reason, with detail, last… (4479b66)

OpenVibe.Network

openvibe.network · repository

  • Export tokens (roadmap WS-N task 9): POST /api/v1/projects/:project/export-tokens { audience, env } mints, for the project's owner or an admin member only (developers, viewers and staff who are not an admin member are refused; archived… (fbbfc97)
  • The notification badge over Events (roadmap WS-E task 3, WS-F task 1; ADR-005 amendment 2, Contracts 0.61.0): every notification NotificationService.create() stores is announced as network.notification.created, queued in… (c5d4714)
  • Pins: openvibe-contracts -> 0.61.0 (network.notification.created@1, identity.realtime-ticket-claims@1, network.realtime-ticket-result@1) (b400914)
  • Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check) (9c06889)
  • openvibe.network turns on the realtime notification badge first (notificationsRealtime: true on the home page and My account; Shared 1.22.0): a new notification reaches the badge over Events realtime with a single-use ticket, polling stays… (a7b99c7)
  • Roadmap baseline regenerated 2026-09-26 (WS-Q 6): 604 tables, 2381 routes, 107 call sites, 341 discrepancies; 6/7 exit criteria pass (EC7 waits for the host owner's hazard review). New ownership rules: config_keys/config_snapshots keep… (30528fa)
  • Operator alerts (roadmap WS-H task 11; Contracts v0.62.0 network.operator.alert): POST /internal/operator/alerts takes Host's service token only (legacy: false) and the complete set of alerts firing on the production host… (11f2ea5)

OpenVibe.Community

openvibe.community · repository

  • A space can attach a chat room on OpenVibe.Chat (roadmap WS-I task 4): its owner (the space's creator, or the creator whose members' space it is) or discussion staff attach one room by address or link, from the space page without… (50668b7)
  • Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check) (19441aa)
  • N-1 tests (roadmap WS-P task 11): the previous release's clients against this server, and its SQL against this schema. test/n-1.test.js boots this checkout as production runs it (pastes authority community, the shared database) with its… (0a3b5ea)
  • Pulse shows game milestones (roadmap WS-M task 2, PF7): Community subscribes to network.module.updated, and a person's games.progress.summary write (level is a public field in Contracts) updates game_progress. A later write crossing a… (90edad6)
  • N-1 fixtures re-recorded from 90edad6, the release now in production (npm run n-1:record). (a0db8c4)
  • 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… (ccdab27)

OpenVibe.Chat

openvibe.chat · repository

  • Rooms: call and system kinds, the full role set, Community attachments; openvibe.chat: call rooms, the DM inbox, working with Live down (roadmap WS-I tasks 4 and 8) (66724bd)
  • Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check) (739d3a1)
  • N-1 tests (roadmap WS-P task 11): the previous release's clients against this server, and its SQL against this schema. test/n-1.test.js boots this checkout with its own test/helpers.js (stub Network and Live) on a database created from the… (c4c80d8)
  • N-1 test: the booted release's stub data directory (test/helpers.js's temp directory) goes when it exits, so each run leaves nothing in the temp directory (04bdd66)
  • 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… (6181238)

OpenVibe.Events

events.openvibe.network · repository

  • Export tokens pinned (roadmap WS-N task 9): OpenVibe.Codes' project archive pulls a project's app events with Network's read-only export token (sub app:app_<project ULID>, events.app.read, env, purpose export). Events takes it unchanged… (272da87)
  • Realtime tickets (roadmap WS-E task 3, WS-F task 1; ADR-005 amendment 2, Contracts 0.61.0 identity.realtime-ticket-claims@1): /realtime/stream?ticket= opens a stream as the signed-in person from any OpenVibe site without a third-party… (aa34acb)
  • Pins: openvibe-contracts -> 0.61.0 (network.notification.created@1, identity.realtime-ticket-claims@1, network.realtime-ticket-result@1) (3252f62)
  • nginx: /realtime/stream is logged without its query string (log_format ov_events_noquery in conf.d), so the single-use ?ticket= never reaches the access log; installed on the host (52e1615)
  • Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check) (eb98f8c)

OpenVibe.Tools

openvibe.tools · repository

  • One upload runtime (roadmap WS-L task 3): apps/_shared/upload.js createUploads({ multer, config, storage, maxFiles, rejectHint }) replaces img's, audio's and docs' own multer middleware (memory for img, disk for audio and docs, 5 and 50… (20bb30c)
  • Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check) (168e511)
  • apps/_shared is a versioned package, openvibe-tools-shared 1.0.0 (roadmap WS-L task 3, the last part): package.json and CHANGELOG.md carry its version, and every app declares the range it was written against ("openvibeToolsShared"… (37e6cf3)
  • deploy.sh: apps/_shared is not an app. Now that it has a package.json (37e6cf3), the install, dependency and guard-preflight loops over apps/*/ took it for one, and the guard preflight aborted the deploy (nothing restarted) trying to load… (9102d60)

OpenVibe.Codes

openvibe.codes · repository

  • Project export, the full archive (roadmap WS-N task 9): a project's owner or an admin downloads one zip (POST /projects/:project/export/archive) with manifest.json (counts, limits reached, every file's size and SHA-256, what is not… (0ef363f)
  • Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check) (0bfdf70)
  • 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… (d0dbc22)

OpenVibe.Search

search.openvibe.network · repository

  • Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check) (b00aa4c)
  • Search's palette also answers the network token names (--text-primary, --text-secondary, --bg-secondary, --border). The shared shipped.js widget on the home page read them, fell back to its dark defaults on Search's light page, and failed… (0c00ac0)
  • Search's palette follows the network theme: --bg, --fg, --muted and --line now derive from --bg-primary, --text-primary, --text-secondary and --border, which the Frame's theme loader sets on <html>, with the old light and dark values as… (78fe5cd)

OpenVibe.AI

ai.openvibe.network · repository

  • Seed workflow tools.describe (roadmap WS-O task 11): a draft description of one tool from its descriptor (summary, how-to, inputs and outputs, limits, FAQ), every statement cited to the descriptor and unknowns in gaps, never… (855eca0)
  • Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check) (c3ee605)

OpenVibe.Billing

billing.openvibe.network · repository

  • Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check) (180e246)
  • Policy page: the price-tier table's horizontal scroller is keyboard-reachable (tabindex=0, role=region, a label and a focus ring). axe scrollable-region-focusable (serious) on /policy, found by Host's new release UX check (ovhost… (db8109c)

OpenVibe.Blog

openvibe.blog · repository

  • Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check) (79e9e15)
  • 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… (36306fb)

OpenVibe.Coupons

openvibe.coupons · repository

  • Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check) (348f585)
  • 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… (39dcc1e)

OpenVibe.Deals

openvibe.deals · repository

  • Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check) (99bd438)
  • 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… (45e1125)

OpenVibe.Media

openvibe.media · repository

  • Export tokens pinned (roadmap WS-N task 9): OpenVibe.Codes' project archive lists a project's objects, namespaces and download URLs with Network's read-only export token (sub app:app_<project ULID>, media.object.list + media.object.read… (777dbf0)
  • Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check) (b7fbe65)

OpenVibe.News

openvibe.news · repository

  • Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check) (0860cf2)
  • 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… (dab7977)

OpenRe.Stream

openre.stream · repository

  • Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check) (b34dcd6)
  • 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… (ff4e5a7)

OpenVibe.Reviews

openvibe.reviews · repository

  • Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check) (cfc37ac)
  • 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… (a0e730d)

OpenVibe.Sources

sources.openvibe.network · repository

  • README: processing jobs, who does what (roadmap WS-O task 7): dedupe within a source and the coarse category stay in Sources; cross-source dedupe, fine classification, summaries (through OpenVibe.AI's seeded workflows) and quality checks… (9d88e57)
  • Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check) (29cd386)

OpenVibe.Tips

openvibe.tips · repository

  • Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check) (1d558c5)
  • 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… (819d855)

OpenVibe.Trade

openvibe.trade · repository

  • Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check) (fa38288)
  • 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… (046d4ee)

OpenVibe.VIP

openvibe.vip · repository

  • Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check) (4ddf723)
  • 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… (214e2ba)

OpenVibe.Wiki

openvibe.wiki · repository

  • Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check) (38a17bd)
  • 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… (0bb8400)

OpenVibe.Games

openvibe.games · repository

  • Client: the first connect gives up after 10 s, and a refused or timed-out connect waits for the server and reloads, as a dropped connection already did (WS-P task 3 game-shard proof: an upgrade sent during a restart can wait with no… (b207e78)

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.