Release 1.23.0
27 Sep 2026 · pinned package [email protected]
Web runtime (roadmap WS-P task 6). New browser file web-runtime.js (OVWebRuntime.create(options)), in files.js and exported as openvibe-shared/web-runtime: OpenVibe.Live's feature loader (public/js/ov-loader.js), made shareable and extended. 6.1 KB brotli, budget 6.5 KB.
- Carried over from Live. Features from a registry (fragment, deps, css, js,
afterhook,stubs,idle) and routes; scripts and stylesheets once each, the server's own tags included; versioned URLs; route generations; route scopes (timers, listeners, observers, AbortSignal); intent and idle prefetch; stubs for inline handlers; a retry box for a route that failed. - Transactional asset groups. A feature commits (hook, event, loaded) only when every script loaded. A failure withdraws the stylesheets that attempt added (unless another feature wants them) and the failed tag; a retry fetches only what is missing, and nothing runs twice.
- Scopes refuse late registrations. An interval, timeout, listener, observer, fetch or child scope registered after its route ended is refused and counted, not left running.
scope.fetch()uses the route's signal;scope.child()scopes one component;scope.held()counts what a scope holds. Fired timeouts are released. - A prefetch budget: a count, and bytes where sizes are known.
- Diagnostics:
diagnostics()andleaks()(duplicate tags, failed and rolled-back assets, late registrations, what the current route holds). - Other changes.
showRouteErrorbuilds its box from DOM nodes. Assets from another origin are keyed by origin and path, so a CDN file never collides with a local one. The idle prefetch also starts when the page has already loaded.
test/web-runtime.test.js covers it in a linkedom page where tags load or fail on cue. test/web-runtime-chrome.test.js covers it in headless Chrome against a local site: a slow script still runs in order, a real 404 rolls the group back and the retry completes it, and a route's interval stops and its fetch aborts.
PagesSoft pages