{"id":"pst_01M47EV4NN382M9CNWT99AE5QN","url":"https://openvibe.blog/@openvibe/patch-notes-delete-lives-chat-server","blog":{"id":"blg_01M362MF0EDJ7QHQTRD8A3Q981","handle":"openvibe","title":"The OpenVibe blog","url":"https://openvibe.blog/"},"title":"Patch notes: Delete Live's chat-server","summary":"What shipped on OpenVibe from 2026-10-05 to 2026-10-06: 19 changes to OpenVibe.Live, OpenVibe.Chat, OpenVibe.Network, OpenVibe.Events, OpenVibe.Games, OpenVibe.Host.","body_markdown":"What shipped on OpenVibe from 2026-10-05 to 2026-10-06: 19 changes to OpenVibe.Live, OpenVibe.Chat, OpenVibe.Network, OpenVibe.Events, OpenVibe.Games, OpenVibe.Host. Every line below is a commit message from the OpenVibers repositories, linked to the change itself.\n\n## Highlights\n\n- **OpenVibe.Live:** Delete Live's chat-server.js: every chat push and presence read goes through chat-delivery and chat-client; the local /ws/chat upgrade path is gone (OpenVibe.Chat serves it) (#30) ([`9f75848`](https://github.com/OpenVibers/OpenVibe.Live/commit/9f758487b0e02fa92e1b71fd24d660836b345fe9))\n- **OpenVibe.Live:** Live keeps no copy of Chat's twelve chat tables: every use removed, boot no longer creates them, the drop is op_003 (after this release is N-1) (#33) ([`1d49484`](https://github.com/OpenVibers/OpenVibe.Live/commit/1d49484e3a364f7c39f413582fe24321dc1cb64f))\n- **OpenVibe.Host:** Store tenant objects in OpenVibe.Media with local disk as the read cache (HOST_OBJECT_STORE=media; off by default) (#24) ([`5c5cba0`](https://github.com/OpenVibers/OpenVibe.Host/commit/5c5cba046d1f4432e87985279e555de3fd22c1f6))\n\n## OpenVibe.Live\n\n[openvibe.live](https://openvibe.live) · [repository](https://github.com/OpenVibers/OpenVibe.Live)\n\n- Repoint Live's remaining chat readers to OpenVibe.Chat (recap, home stats, profiles, stream analytics, star, VOD chat stats, AI viewers); the three without a Chat read stay on Live's tables, named (#29) ([`9e7102c`](https://github.com/OpenVibers/OpenVibe.Live/commit/9e7102c926d6b7a160a6ca9e5f96c5551988f8eb))\n- Delete Live's chat-server.js: every chat push and presence read goes through chat-delivery and chat-client; the local /ws/chat upgrade path is gone (OpenVibe.Chat serves it) (#30) ([`9f75848`](https://github.com/OpenVibers/OpenVibe.Live/commit/9f758487b0e02fa92e1b71fd24d660836b345fe9))\n- Move Live's last three mirror readers to Chat: the home daily series, first chat in a channel (user:<id>), and sound by command; nothing in chat mode reads the mirror now (#31) ([`c54babf`](https://github.com/OpenVibers/OpenVibe.Live/commit/c54babf4a93f46ce943db5279262b75f94768cb1))\n- Delete the chat read mirror's receiver: POST /internal/chat-effects/mirror, delivery.mirror() and every call site; Chat retired the sender in #25 (#32) ([`d237931`](https://github.com/OpenVibers/OpenVibe.Live/commit/d2379317478253d58d99bfae4c0a74af1dde944f))\n- Live keeps no copy of Chat's twelve chat tables: every use removed, boot no longer creates them, the drop is op_003 (after this release is N-1) (#33) ([`1d49484`](https://github.com/OpenVibers/OpenVibe.Live/commit/1d49484e3a364f7c39f413582fe24321dc1cb64f))\n- Drop Live's twelve legacy chat tables at boot (007_drop_chat_tables, owner-approved); N-1 fixtures re-recorded from 1d49484e, the release now in production (#34) ([`2176be5`](https://github.com/OpenVibers/OpenVibe.Live/commit/2176be56a70ad23102fa705734f029e14acb1bb4))\n- Drop the legacy chat tables with foreign-key enforcement off: the implicit per-row delete over chat_messages' self-reference kept the release from becoming ready (#35) ([`ad5a611`](https://github.com/OpenVibers/OpenVibe.Live/commit/ad5a611142afeb896ed3b07bb7445a143ce22229))\n\n## OpenVibe.Chat\n\n[openvibe.chat](https://openvibe.chat) · [repository](https://github.com/OpenVibers/OpenVibe.Chat)\n\n- Internal reads for Live's last mirror readers: the site-wide daily series, first chat in a channel, and a channel sound by command (#24) ([`05c59f5`](https://github.com/OpenVibers/OpenVibe.Chat/commit/05c59f51a94deab1a18e830aaed73bd78af43be3))\n- Retire the Live read mirror: the sender, its config and flush script are gone and migration 0006 drops the capture triggers (Live reads Chat's internal reads since Live#31) (#25) ([`417585d`](https://github.com/OpenVibers/OpenVibe.Chat/commit/417585d7911b2f475ece6eaae729b927ce9d88e2))\n- Internal read of DM block state for Live's call invites (GET /internal/chat/dm/block-state, chat.messages.read) (#27) ([`1b4464a`](https://github.com/OpenVibers/OpenVibe.Chat/commit/1b4464ac0752cce9b3505bc38759e555e73ac3c7))\n- Internal per-ticket conversations for OpenVibe.Help (chat.ticket.write): create on first message, append, read back, each service its own (#26) ([`f58488a`](https://github.com/OpenVibers/OpenVibe.Chat/commit/f58488a72b8f2402da159440b99e1ab8ff41d30f))\n\n## OpenVibe.Network\n\n[openvibe.network](https://openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Network)\n\n- Fabric offers move to /api/v1/offers; Network's resource index answers /api/v1/resources (projects, apps, node principals) under network.resource.read; pin openvibe-contracts v0.103.0 (#62) ([`90af060`](https://github.com/OpenVibers/OpenVibe.Network/commit/90af060b28eddc7da27e3fb2efb9e80fa9f32edd))\n- The exposure test pins OpenVibe.Watch as a placeholder (contracts 0.102.0) (#63) ([`e8c75ab`](https://github.com/OpenVibers/OpenVibe.Network/commit/e8c75abc521a9e00210243e7277f9cde1206756c))\n- Revoke Chat's live.chat_mirror.write: the read mirror to Live is retired (#64) ([`6925b8a`](https://github.com/OpenVibers/OpenVibe.Network/commit/6925b8a1cad479b1c728a86e507104e3cf494fcf))\n- Grant Host Media object upload, read, list and delete in its own namespace (for Host's Media object store) (#65) ([`d5c9cea`](https://github.com/OpenVibers/OpenVibe.Network/commit/d5c9ceab2c4cbae476456ba9014d4ce231eeed46))\n\n## OpenVibe.Events\n\n[events.openvibe.network](https://events.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Events)\n\n- Accept watch.* publishes from a svc:watch token (#14) ([`4d35c0d`](https://github.com/OpenVibers/OpenVibe.Events/commit/4d35c0d1c8ff54728a1fa7f2106741842c439568))\n- Add the cloud queue carrier (cloud-v1, SQS-compatible, QUEUE only, off unless CLOUD_QUEUE_URL is set) (#15) ([`a89573e`](https://github.com/OpenVibers/OpenVibe.Events/commit/a89573e54c39ed224f79217efae9a0a79af67303))\n\n## OpenVibe.Games\n\n[openvibe.games](https://openvibe.games) · [repository](https://github.com/OpenVibers/OpenVibe.Games)\n\n- Client quality tiers (high/medium/low) from the device or the player's choice, with a Settings tab: resolution and shadows apply live (#11) ([`4cb806b`](https://github.com/OpenVibers/OpenVibe.Games/commit/4cb806be1aa7fc251d10fd0525108ef2056eee87))\n\n## OpenVibe.Host\n\n[openvibe.host](https://openvibe.host) · [repository](https://github.com/OpenVibers/OpenVibe.Host)\n\n- Store tenant objects in OpenVibe.Media with local disk as the read cache (HOST_OBJECT_STORE=media; off by default) (#24) ([`5c5cba0`](https://github.com/OpenVibers/OpenVibe.Host/commit/5c5cba046d1f4432e87985279e555de3fd22c1f6))\n\n---\n\nPatch 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.","revision":1,"state":"published","visibility":"public","published_at":"2026-10-06T01:56:53.058Z","revised_at":"2026-10-06T01:56:53.048Z","author":{"subject":"usr_01KKT9AC60KM7CRTB3WN1Z8P56","name":"goosely","username":"goosely"},"authorship":{"mode":"imported","workflow":null,"reviewed":false,"disclosure":{"mode":"imported","short":"Imported","long":"Imported from Commit messages from the OpenVibers repositories on GitHub; originally by OpenVibers."}},"tags":["patch-notes","live","chat","network","events","games","host"],"categories":[],"series":{"title":"Patch notes","url":"https://openvibe.blog/@openvibe/series/patch-notes","position":null},"media":[],"citations":[],"indexability":{"indexable":true,"robots":"index, follow","reasons":[]}}