Patch notes: 84 changes across 38 sites (Oct 17)
Imported. Imported from Commit messages from the OpenVibers repositories on GitHub; originally by OpenVibers.
What shipped on OpenVibe on 2026-10-17: 84 changes to OpenVibe.Live, OpenVibe.MediaHub, OpenVibe.AI, OpenVibe.Network, OpenVibe.Rent, OpenVibe.Bot and 32 more. Every line below is a commit message from the OpenVibers repositories, linked to the change itself.
OpenVibe.Live
- AI tags on public items drop looks too ('red-beanie', 'bearded', 'man', 'tanktop'): live pastes, moment pastes and backfilled paste tags pass db.noLooksTags (#203) (
2fa95a0) - Chat popover + profile AI tab: no looks in any AI string; session titles about looks not used (#204) (
f0d4477) - AGENTS.md: public AI text passes db.noLooks / noLooksTags / hasLooks (prompts alone miss about one in ten) (#205) (
138dc0a) - Home: paint the hero frame with the HTML (largest paint was 2.9 s, after the hero API) (#206) (
e5822ec) - Channel chat history: older scrollback goes above the newest 120 rows a piece at a time, not all 1000 rows in one idle task (2.7 s on a phone CPU, TBT 3.7 s on /@goosely); the cached first paint renders only its newest piece (#207) (
f67fe00) - measure-page: name the element behind the largest layout shift (clsEl) and collapse whitespace in element descriptions (#208) (
41d61a5) - Channel chat history: older scrollback in 25-row pieces, as many as fit in each idle moment (120-row pieces were still ~240 ms tasks on a phone CPU: TBT 2.6 s on /@goosely) (#209) (
2dbcefa) - Channel chat history: the newest 50 rows first, then 10-row pieces per idle moment (A/B against production on /@goosely, phone CPU: TBT 2.3 s → 1.3 s, longest task 751 → 383 ms) (#210) (
d3f0fe0) - trace-page --tasks: each main-thread task over 100 ms with what ran inside it (totals alone did not say which task was long) (#211) (
2f17d4f) - Patch notes list: read the git log through the current link (a static-only release does not restart the process; the list stopped at #206 while #207–#210 were live) (#212) (
b177bd0) - Channel API: clippers' names and AI overviews in one query each, not one per clip/VOD in turn (~80 sequential round trips on a full channel page) (#213) (
49a056f) - VOD and clip API: their independent lookups (names, stream, AI state, Media's clip list, view count, Community's comment count) run together instead of one after another (#214) (
f675c1b) - /internal/analytics-summary: one computation per window per 10 minutes, shared by concurrent callers (the full stats behind a few totals took ~4 s of database time at p95) (#215) (
6c245b1) - Offline channel page: 'most watched' is asked for with the channel, not after it, and its picture (the page's largest paint) loads at once with high priority instead of lazily (A/B on /@goosely, phone CPU: LCP 2.69 → 2.45 s) (#216) (
b7bcac1) - Real-user measurements: on a quarter of page loads, once idle, the browser reports its own TTFB/FCP/LCP/CLS/INP/blocking time and up to three script errors in one beacon; kept only as aggregates per page kind and device (staff… (
6b701fb) - Real-user measurements: the ten most frequent script errors on /metrics too (live_rum_errors{message}), readable on the host without a staff session (#218) (
5906382) - Docs: the 2026-10-17 measurements (largest paints, the channel page's blocking time, real-user data) and how chat history renders in pieces (#219) (
a8961ed) - Real-user measurements: time to a live channel's first picture (ttff, set by the player when live media first renders on a directly opened channel); beacons name the page they were loaded on, not where the SPA went since (#220) (
f872c62) - Docs: frozen tables are gone from Live's database (fix a dead anchor) (#221) (
74d343b) - Boot: the AI-text looks repair scans ~20k rows once per version of the scrub rules (a hash of their source), not on every boot (~0.8 s of database time each) (#222) (
ee541e1) - Real-user measurements skip automated browsers (navigator.webdriver, crawler and headless user agents, checked in the page only): the first samples were our own headless test runs (FCP 180 ms) (#223) (
7374b85) - Channel chat history: about 200 rows are built at once; older ones load as the reader scrolls up to them (a visit built up to ~1000 rows a phone then laid out on every new message) (#224) (
b48250b) - Offline channel: the header and screen stay invisible (still laid out) until the channel's data, instead of outlines the social links then pushed down 135 px (CLS 0.12 → 0 on /@goosely, phone) (#225) (
aa876cc) - Chat page on phones: one row is held for the voice channel list, so the chat below does not move down when the list lands (CLS 0.04 → 0.024) (#226) (
1e02174) - Real-user measurements on every page load (not automated browsers): a quarter gave no page kind five samples in 45 minutes at this traffic; the privacy page says when (#227) (
e225825) - Docs: 10-17 measurements continued (chat history on scroll, offline header CLS, chat page CLS) (#228) (
44ffeac) - A channel page whose stream ends stops asking for that stream's live recording: open tabs polled it every 20 s for 12 hours after an end (1,628 404s for one stream on 10-17); the offline card now tears the old player down, as leaving the… (
b30b22f)
OpenVibe.MediaHub
- Watch pages: the player shows the recording's or clip's picture until it plays (poster; LCP waited for the first video frame, 3.8 s on a phone-speed CPU) (#94) (
0b03921) - Watch pages: chapters, comments, chat replay, the playlist form and up next are asked together, not one after another (/v/:id p95 581 ms) (#95) (
5a2b8bd) - Video and Pics homes say what the site is in structured data (WebSite + WebPage JSON-LD, as Download's home does) (#96) (
35d18b1) - openvibe-shared v4.4.0 (was v4.3.0) (#97) (
8f313c0)
OpenVibe.AI
ai.openvibe.services · repository
- live.stream.describe_frame: a live paste's caption names what happens, never what someone looks like or wears ('Red Beanie Moment', 'Glasses Adjustment Tension', 'Face Reveal Frenzy' were written as public titles) (#119) (
cc39c90) - live.stream.titles: a session title names what happens, never what anyone looks like or wears ('Orange Shirt Kitchen Chat', 'Beard & Tablet Chat' were public titles) (#120) (
72606b4) - openvibe-shared v4.4.0 (was v4.3.0) (#121) (
a077483)
OpenVibe.Network
- Public profiles: badge chips no longer pile on top of each other (the badge image beside the name shared their class, and its .85em square squeezed every chip into 26x16 px) (#272) (
d65aac2) - Frame: every site gets a launcher group (Watch & stream, Create & play, Talk & learn, Shop & everyday, Build & automate, Your OpenVibe), Pics/Download/Homes join the list after the site that serves them, and Video draws the video icon… (
0b7596c) - openvibe-shared v4.4.0 (was v4.3.0) (#274) (
8e48eb0)
OpenVibe.Rent
- OpenVibe.Homes: the home says what the site is in structured data (WebSite + WebPage JSON-LD) (#76) (
be1f09f) - OpenVibe.Homes has the update log every OpenVibe site has (/updates was a 404 on the Homes host) (#77) (
71838f4) - openvibe-shared v4.4.0 (was v4.3.0) (#78) (
62ee66b)
OpenVibe.Bot
- Web app manifest: its icons are the shared set this site serves (/shared/icons), not /assets/logo-*.png (all six install icons were 404); pages add the apple-touch-icon (#138) (
753de1c) - openvibe-shared v4.4.0 (was v4.3.0) (#139) (
b544c32)
OpenVibe.Chat
- Pages name a crawlable icon (apple-touch-icon) and the installable app's manifest, both the shared set (search engines cannot use the data: favicon; there was no manifest) (#117) (
a6a68cd) - openvibe-shared v4.4.0 (was v4.3.0) (#118) (
a6c02f4)
OpenVibe.Community
openvibe.community · repository
- The Forum: Community's boards are called the Forum and forums, not Spaces (openvibe.space is a different product); /forum answers 301 to /s; /s addresses, the API and the database keep their names (#94) (
2c521c7) - openvibe-shared v4.4.0 (was v4.3.0) (#95) (
1dcb74f)
OpenVibe.Events
- openvibe.events: POST /release-metrics reaches the app (open tabs' release reports were refused 403 by the GET/HEAD catch-all) (#99) (
7316b99) - openvibe-shared v4.4.0 (was v4.3.0) (#100) (
d97b0ab)
OpenVibe.Games
- OpenVibe.Games is installable: /manifest.webmanifest and its icons (the shared Games set from openvibe-shared/app-icons), linked from the client with an apple-touch-icon (#100) (
8294b9d) - openvibe-shared v4.4.0 (was v4.3.0) (#101) (
38d0912)
OpenVibe.Media
- PUT /clips/:id takes description too (docs/object-model.md said so; the handler only took title, visibility and auto_generated), cleaned as on create (#141) (
87a55ae) - Object explorer (/me): never framed by another site (X-Frame-Options DENY, frame-ancestors 'none'); no x-powered-by on any answer (#142) (
9491aca)
OpenVibe.Reviews
- Reviews: the event import queue re-indexes each entity once per drain, like a pulled page (12 queued reviews of one game sent 12 index documents in one trace; Search's follow-ups were refused as a loop) (#74) (
f96999a) - openvibe-shared v4.4.0 (was v4.3.0) (#75) (
01a27a0)
OpenVibe.Search
search.openvibe.network · repository
- Vhost: proxy POST /release-metrics (open tabs' release reports were a 404 on search.openvibe.network) (#73) (
9a161c7) - openvibe-shared v4.4.0 (was v4.3.0) (#74) (
1a188c8)
OpenVibe.Space
- OpenVibe.Space has its own update log at /updates (it sent readers to the community's log, which lists the community's changes); the navbar and footer link it (#71) (
b2aea15) - openvibe-shared v4.4.0 (was v4.3.0) (#72) (
d98efff)
OpenVibe.Tips
- Home says what the site is in structured data (WebSite + WebPage JSON-LD, as the other OpenVibe homes do) (#70) (
5894b16) - openvibe-shared v4.4.0 (was v4.3.0) (#71) (
feb8e7a)
OpenVibe.Tools
- Tools apps: systemd holds each app's listener too (audio, docs, food, img, maps, text, yt), so a restart queues the gateway's requests instead of refusing them; the process listens on fd 3 only when handed it (#79) (
448f45a) - openvibe-shared v4.4.0 (was v4.3.0) (#80) (
35d3c9c)
OpenVibe.Actor
- openvibe-shared v4.4.0 (was v4.3.0) (#95) (
cca9701)
OpenVibe.Billing
billing.openvibe.network · repository
- openvibe-shared v4.4.0 (was v4.3.0) (#83) (
54a4a89)
OpenVibe.Blog
- openvibe-shared v4.4.0 (was v4.3.0) (#66) (
b9cf382)
OpenVibe.Codes
- openvibe-shared v4.4.0 (was v4.3.0) (#90) (
d19ba68)
OpenVibe.Coupons
- openvibe-shared v4.4.0 (was v4.3.0) (#74) (
ea40ee4)
OpenVibe.Deals
- openvibe-shared v4.4.0 (was v4.3.0) (#71) (
76a77a8)
OpenVibe.Food
- openvibe-shared v4.4.0 (was v4.3.0) (#65) (
580c350)
OpenVibe.Help
- openvibe-shared v4.4.0 (was v4.3.0) (#65) (
dbc3451)
OpenVibe.Host
- openvibe-shared v4.4.0 (was v4.3.0) (#129) (
3831e03)
OpenVibe.Inventory
inventory.openvibe.network · repository
- openvibe-shared v4.4.0 (was v4.3.0) (#57) (
8c2ad73)
OpenVibe.News
- openvibe-shared v4.4.0 (was v4.3.0) (#77) (
e0bfee6)
OpenRestream
- Pages name a crawlable icon (apple-touch-icon) and the installable app's manifest, both the shared set (only the data: favicon before, no manifest) (#87) (
91ec488)
OpenVibe.Play
play.openvibe.network · repository
- openvibe-shared v4.4.0 (was v4.3.0) (#21) (
6baac18)
OpenVibe.Quest
- openvibe-shared v4.4.0 (was v4.3.0) (#64) (
04f486d)
OpenVibe.Services
openvibe.services · repository
- openvibe-shared v4.4.0 (was v4.3.0) (#85) (
8721294)
OpenVibe.Sources
sources.openvibe.network · repository
- openvibe-shared v4.4.0 (was v4.3.0) (#74) (
1203371)
OpenVibe.Trade
- openvibe-shared v4.4.0 (was v4.3.0) (#79) (
5a33333)
OpenVibe.VIP
- openvibe-shared v4.4.0 (was v4.3.0) (#72) (
c235d88)
OpenVibe.Watch
- openvibe-shared v4.4.0 (was v4.3.0) (#79) (
9871ccd)
OpenVibe.Wiki
- openvibe-shared v4.4.0 (was v4.3.0) (#78) (
e1775fd)
OpenVibe.Work
- openvibe-shared v4.4.0 (was v4.3.0) (#54) (
39e935c)
OpenVibe.Zone
- openvibe-shared v4.4.0 (was v4.3.0) (#23) (
39e2ab1)
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 are hosted by OpenVibe.Community.
No comments yet.
Sign in with OpenVibe to comment.