openvibers/openvibe.shared Commits
Shared 2.14.0: a boost page move no longer keeps the old navbar alive (panels + probe) (#34)
OP OpenVibers committed 8 Oct 2026 · tag v2.14. · 0 files, +0 −0
* Shared 2.13.4: a boost page move no longer keeps the old navbar (panels.js held every old bar; the harness probe held every aborted listener)
panels.js kept each registered panel (the navbar's drawer on every render, the
account menu when signed in) in its list with a MutationObserver, so every
re-render left the removed bar, its ~130 nodes and its listeners alive.
OpenVibePanels.register() takes an AbortSignal and returns unregister();
OpenVibePanels.unregister(el). The navbar registers its panels and its
ov:display window listeners with the render's signal and clears a gone
render's queued registrations.
browser-harness's navigation probe kept every window/document listener added
with { signal } after the signal aborted (only removeEventListener was seen),
so with 2.13.3's navbar the growth check measured its own probe. It now
forgets a listener when its signal aborts.
ovhost browser-check (patched files served into the live pages, lap 2 -> 5):
codes +780 nodes/+64 listeners -> 0/0; services, space and community pass too.
New boost-navbar-chrome.test.js; panels and navbar-brand tests cover the
signal lifecycle. navbar.js option notes moved to the README (28.8 KB brotli,
budget 29). npm test 56/57 (+ floating-promises with acorn).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01K8AYn3FF3HE7CPfM262qdh
* Shared 2.14.0, not 2.13.4: OpenVibePanels gains unregister and a signal option (new API, so a minor release).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01K8AYn3FF3HE7CPfM262qdh
---------
Co-authored-by: Claude Opus 5.5 <[email protected]>
This commit has no diff to show.