Commits
-
4.20.0: the OpenVibe Kit (kit.js builders on the server and in the page, kit.css on the theme tokens, docs/kit.md, a gallery) and the phone app bar (appbar.js, navbar appBar), so every site's pages fit a phone and work like one app (#143)OpenVibers · 16 days ago
0275492 -
A person's stuff on any site (profile-panel.js): worn items, counts, achievements by game and badges from the Network profile, Steam-style (#114)OpenVibers · 19 days ago
efd6ec6 -
4.7.0: the video player (player.js, player.css): one look for every video across the network (#92)OpenVibers · 24 days ago
58e8a3c -
Shared 2.17.0: items.js + items.css draw what people wear in OpenVibe.Inventory (name effects) on any site (#38)OpenVibers · 9 Oct 2026
77314c0 -
Shared 2.3.1: /shared/showcase.css, the showcase sections and the ring icons' CSS as one cacheable stylesheet (files.js STYLES, served as text/css; generated by scripts/build-styles.js and checked by the showcase test), so a product home links it instead of inlining it. 47/47.OpenVibers · 29 Sept 2026
c2238d0 -
Shared 2.1.0 (plan T11): boost.js — smooth same-site page moves for a server-rendered site (prefetch on intent, styles first, <main> swapped in place with the shared transition, head tags, history and scroll, focus; any doubt is a normal load), tested in real Chrome; openvibe-shared/cache-policy (hashed asset immutable, HTML stale-while-revalidate: one rule, serve.js uses it); openvibe-shared/indexnow (deduped, own-host https pings, a debounced batch, never throws, no key no request). npm test 46/46.OpenVibers · 29 Sept 2026
6a8cd5d -
Shared 1.30.0: pages never show unstyled (web-runtime inserts a fragment once its feature's and dependencies' stylesheets have loaded, all started together), rt.enter(section, work, { label }) hides a page until its route is ready, and route-transition.js (fetched on the first move) adds the top progress bar, a 'Loading …' line with the phase, and an opacity-only fade-in. Runtime docs moved to the README (6.2 KB brotli). npm test 42/42.OpenVibers · 29 Sept 2026
fabec42 -
v1.23.0: web runtime, a site's feature loader and route lifecycle (roadmap WS-P task 6). New browser file web-runtime.js (OVWebRuntime.create; files.js, export openvibe-shared/web-runtime; 6.1 KB brotli, budget 6.5 KB): OpenVibe.Live's public/js/ov-loader.js made shareable. It keeps the feature registry and routes, once-only scripts and stylesheets (the server's tags adopted), versioned URLs, fragments, route generations, scopes, intent and idle prefetch, stubs and the route retry box. New: transactional asset groups (a feature commits only when every script loaded; a failure withdraws that attempt's stylesheets unless another feature wants them and removes the failed tag; a retry fetches only what is missing, nothing runs twice); scopes that refuse and count late registrations, scope.fetch on the route's signal, child scopes, held() counts, fired timeouts released; a prefetch budget (count, and bytes where sizes are known); diagnostics() and leaks() (duplicate tags, failed and rolled-back assets, late registrations, what the route holds). showRouteError builds DOM; another origin's assets are keyed by origin and path. Tests: linkedom (tags load or fail on cue) and headless Chrome (a slow script still in order, a real 404 rolls back and the retry completes, a route's interval stops and its fetch aborts).OpenVibers · 27 Sept 2026
1dfdc41 -
v1.22.0: the notification bell in realtime, off by default (roadmap WS-E task 3, WS-F task 1; openvibe-contracts 0.61.0, ADR-005 amendment 2). New browser file notification-live.js (OVNotificationLive, 2.4 KB brotli, budget 3 KB): a realtime ticket from Network (POST /api/v1/realtime/ticket, Bearer or the openvibe.network cookie) for every (re)connect, then Events' /realtime/stream?topics=network.notification.*&ticket= without credentials, resuming with last_event_id; only the ticket's person's events count; gaps reported; errors close and back off from 2 s with jitter, ten in a row stop it until online; hidden 5 min closes, shown resumes; CSP refusal, 401/403 and 503 stop it. notification-ui.js (budget 13 KB) loads it from its own directory with init({ realtime: true }) (navbar: notificationsRealtime: true): an event re-reads the count once per burst (and again after a poll in flight), a gap also reloads open lists, the 15 s poll runs every 2 min while the stream is open; setToken() restarts it; realtimeState(). files.js and exports list it; browser-harness exports openPage. Tests: linkedom (subscribe, resume from the cursor, gap -> refetch, CSP-blocked -> polling, guessed topic yields nothing) and headless Chrome with a real EventSource (drop and resume with nothing lost or repeated, retention gap, another person's event ignored)OpenVibers · 26 Sept 2026
3282427 -
1.11.0: the OpenVibe Frame — the shared navbar, footer and shipped views are no longer called 'chrome': openvibe-shared/frame (chrome-ssr stays a deprecated alias until 2.0), /api/frame and /api/frame/hit, window.OpenVibeFrame (OpenVibeChrome aliases it), cache key ov_frame_v1; the theme loader's browser-UI colour sync is syncBrowserUi. No behaviour changeOpenVibers · 24 Sept 2026
78883bf -
1.8.0: shipped.js, 'Recently shipped' for any OpenVibe site from the network changelog on OpenVibe.Blog (per site or network-wide, each line linked to its commit, the latest Patch notes post linked); DOM nodes only, https links only, hidden when empty or failing; served at openvibe.network/shared/shipped.jsOpenVibers · 24 Sept 2026
cccccba -
Track R (ADR-016, D42-D46): release manifests with components, open tabs updated in place, update metrics, and an N/N-1 mixed-version harnessOpenVibers · 23 Sept 2026
4b9e5d7 -
1.1.0: release manifest (/release.json, openvibe-shared/release) and release-watch.js — open tabs are prompted on a new release and reload only when safe (ADR-016)OpenVibers · 23 Sept 2026
6c855ea -
navbar.js ships only the glyphs it draws itself; the rest load from nav-icons.js after first paintOpenVibers · 23 Sept 2026
2546f71