openvibers/openvibe.shared Commits
v1.23.1: two release-watch fixes found by the release-lifecycle acceptance scenarios (D46, roadmap WS-P task 16; OpenVibe.Host scripts/release-acceptance.js), and tests for scenarios 4, 9 and 14.
OP OpenVibers committed 27 Sept 2026 · tag v1.23. · 0 files, +0 −0
An account switch during an update (scenario 9). An in-place update fetches its regions with the session (credentials: same-origin), so a region can be rendered for whoever is signed in. On a site that switches accounts in place (Live: the openvibe-auth-changed window event), a region fetched for the previous account and still waiting for focus to leave it, or still in flight when the account changed, was committed as fetched: the new account, or a guest after signing out, saw what the server had rendered for the previous one. Now openvibe-auth-changed drops such regions and fetches them again with the new session, and an answer that arrives after a switch is never committed (counted as deferred: account, a reason /release-metrics now accepts). The switch itself still reloads nothing, prompts nothing and opens no second stream; /release.json stays credential-less, so whether a tab updates never depends on the account. Resuming an offline tab (scenario 14). Back online, the release stream reconnected at once only when it had given up (6 failures). A tab that came back while still backing off waited out the backoff (30 s in the test, up to 8 minutes) before hearing release notifications again. online now reconnects at once from the cursor in both cases, as notification-live.js does. release-watch.js is 4.99 KB brotli, inside its 5 KB budget (comments shortened; budget unchanged). New tests, in the style of the linkedom release tests and printing [metric] lines the acceptance runner reads: test/release-account-switch.test.js (waiting and in-flight regions refetched, signing out, nothing pending, a required reload not hurried), test/release-offline-resume.test.js (offline: no prompt, no reload, nothing counted as failed; back online after 3 and after 6 failures: one /release.json read straight to the newest release, in place; a connection lost mid-update leaves the page whole and prompts once; past the window, never reloaded under a focused field; a hidden tab resumes its stream when shown) and test/release-reading.test.js (scenario 4: a feed region above the viewport that grows or shrinks moves the page by exactly that, the region keeps its own scroll, a region in view is not compensated; this one found nothing to fix). release.test.js checks the new reason is counted. npm test 38/38.
This commit has no diff to show.