openvibers/openvibe.shared Commits
Footer: the compact footer is one line again (46 px, as before the disclosure) (#125)
Changes
@@@ -4,6 +4,15 @@ All notable changes to `openvibe-shared`. Versions follow [semver](https://semvebreaking change to any exported module, browser global or served file name is a new major.A release is the git tag `vX.Y.Z`; consumers pin the tag's tarball (see README).++## 4.15.1 — unreleased++++- **The compact footer is one line again** (`footer.js`). 4.15.0 put "More from OpenVibe" on a row of its own under the++ compact line, so every page with the compact footer lost about 25 px: 78 px instead of 53 px at 1400 px wide. That++ includes players, a live channel and the Games editor, whose canvas shrank and moved its snap control under a click++ its tests make, so Games#157 failed. Closed, "More from OpenVibe" now ends the line as a link like the others (the++ compact footer is a wrapping row); opened, it takes a full-width row below with its pill, as before. Measured in++ Chrome: 46 px closed at 1400 px, as in 4.14.0; 135 px on a 390 px phone (152 in 4.15.0); opened, unchanged.++## 4.15.0 — 2026-10-27- **The footer adapts to what the page is doing, opens up from compact, and shows the network right now** (`footer.js`;@@@ -407,6 +407,11 @@.ovf-legal-inline a:hover,.ovf-compact-links a:hover{color:var(--accent,#60a5fa)}.ovf-compact-meta{color:var(--text-muted,#8b93ad);font-size:.74rem}.ovf-expand{max-width:1240px;margin:8px auto 0}++.ovf[data-variant="compact"]{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:18px}++.ovf[data-variant="compact"]>.ovf-inner--compact{flex:0 1 auto;min-width:0;margin:0}++.ovf[data-variant="compact"]>.ovf-expand{margin:0}++.ovf[data-variant="compact"]>.ovf-expand:not([open])>summary{padding:0;border:0;border-radius:0;font-size:.78rem;font-weight:400;line-height:inherit}++.ovf[data-variant="compact"]>.ovf-expand[open]{flex:1 1 100%;margin:10px auto 0}.ovf-expand>summary{list-style:none;cursor:pointer;width:fit-content;margin:0 auto;padding:4px 12px;border-radius:999px;font-size:.76rem;font-weight:600;color:var(--text-muted,#8b93ad);border:1px solid var(--border,rgba(255,255,255,.08));transition:color .15s,border-color .15s}.ovf-expand>summary::-webkit-details-marker{display:none}.ovf-expand>summary::after{content:"";display:inline-block;width:.42em;height:.42em;margin-left:.5em;border:solid currentColor;border-width:0 1.6px 1.6px 0;transform:translateY(-.15em) rotate(45deg);transition:transform .2s}@@@ -83,4 +83,14 @@ function load(host = 'openvibe.live') {assert.ok(SRC.includes('.ovf-dot{') && SRC.includes('prefers-reduced-motion:reduce){.ovf-account,.ovf-pulse,.ovf-inner--expanded,.ovf-dot{animation:none}'), 'the live dot pulses, never with reduced motion');}++// The compact footer stays one line (4.15.1): the closed "More from OpenVibe" pill ends the compact line (the footer is a++// wrapping row) and only the opened disclosure takes a row of its own. In 4.15.0 the pill sat on a second row: 78 px++// instead of 53 px at 1400 px wide, which shrank the Games editor's canvas under its tests' clicks.++{++ assert.ok(SRC.includes('.ovf[data-variant="compact"]{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:18px}'), 'the compact footer is one wrapping row');++ assert.ok(SRC.includes('.ovf[data-variant="compact"]>.ovf-expand{margin:0}'), 'the closed pill sits in the row');++ assert.ok(SRC.includes('.ovf[data-variant="compact"]>.ovf-expand:not([open])>summary{padding:0;border:0;border-radius:0;font-size:.78rem;font-weight:400;line-height:inherit}'), 'closed, it is a link like the others, so the line is as tall as 4.14.0\'s (46 px)');++ assert.ok(SRC.includes('.ovf[data-variant="compact"]>.ovf-expand[open]{flex:1 1 100%;margin:10px auto 0}'), 'opened, it takes a full-width row');++}++console.log('footer: claims, the compact footer opening into the whole one, the pulse line');
@@ -4,6 +4,15 @@ All notable changes to `openvibe-shared`. Versions follow [semver](https://semve
@@ -4,6 +4,15 @@ All notable changes to `openvibe-shared`. Versions follow [semver](https://semve
breaking change to any exported module, browser global or served file name is a new major.
breaking change to any exported module, browser global or served file name is a new major.
A release is the git tag `vX.Y.Z`; consumers pin the tag's tarball (see README).
A release is the git tag `vX.Y.Z`; consumers pin the tag's tarball (see README).
+## 4.15.1 — unreleased
+
+- **The compact footer is one line again** (`footer.js`). 4.15.0 put "More from OpenVibe" on a row of its own under the
+ compact line, so every page with the compact footer lost about 25 px: 78 px instead of 53 px at 1400 px wide. That
+ includes players, a live channel and the Games editor, whose canvas shrank and moved its snap control under a click
+ its tests make, so Games#157 failed. Closed, "More from OpenVibe" now ends the line as a link like the others (the
+ compact footer is a wrapping row); opened, it takes a full-width row below with its pill, as before. Measured in
+ Chrome: 46 px closed at 1400 px, as in 4.14.0; 135 px on a 390 px phone (152 in 4.15.0); opened, unchanged.
+
## 4.15.0 — 2026-10-27
## 4.15.0 — 2026-10-27
- **The footer adapts to what the page is doing, opens up from compact, and shows the network right now** (`footer.js`;
- **The footer adapts to what the page is doing, opens up from compact, and shows the network right now** (`footer.js`;
@@ -407,6 +407,11 @@
@@ -407,6 +407,11 @@
.ovf-legal-inline a:hover,.ovf-compact-links a:hover{color:var(--accent,#60a5fa)}
.ovf-legal-inline a:hover,.ovf-compact-links a:hover{color:var(--accent,#60a5fa)}
.ovf-compact-meta{color:var(--text-muted,#8b93ad);font-size:.74rem}
.ovf-compact-meta{color:var(--text-muted,#8b93ad);font-size:.74rem}
.ovf-expand{max-width:1240px;margin:8px auto 0}
.ovf-expand{max-width:1240px;margin:8px auto 0}
+.ovf[data-variant="compact"]{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:18px}
+.ovf[data-variant="compact"]>.ovf-inner--compact{flex:0 1 auto;min-width:0;margin:0}
+.ovf[data-variant="compact"]>.ovf-expand{margin:0}
+.ovf[data-variant="compact"]>.ovf-expand:not([open])>summary{padding:0;border:0;border-radius:0;font-size:.78rem;font-weight:400;line-height:inherit}
+.ovf[data-variant="compact"]>.ovf-expand[open]{flex:1 1 100%;margin:10px auto 0}
.ovf-expand>summary{list-style:none;cursor:pointer;width:fit-content;margin:0 auto;padding:4px 12px;border-radius:999px;font-size:.76rem;font-weight:600;color:var(--text-muted,#8b93ad);border:1px solid var(--border,rgba(255,255,255,.08));transition:color .15s,border-color .15s}
.ovf-expand>summary{list-style:none;cursor:pointer;width:fit-content;margin:0 auto;padding:4px 12px;border-radius:999px;font-size:.76rem;font-weight:600;color:var(--text-muted,#8b93ad);border:1px solid var(--border,rgba(255,255,255,.08));transition:color .15s,border-color .15s}
.ovf-expand>summary::-webkit-details-marker{display:none}
.ovf-expand>summary::-webkit-details-marker{display:none}
.ovf-expand>summary::after{content:"";display:inline-block;width:.42em;height:.42em;margin-left:.5em;border:solid currentColor;border-width:0 1.6px 1.6px 0;transform:translateY(-.15em) rotate(45deg);transition:transform .2s}
.ovf-expand>summary::after{content:"";display:inline-block;width:.42em;height:.42em;margin-left:.5em;border:solid currentColor;border-width:0 1.6px 1.6px 0;transform:translateY(-.15em) rotate(45deg);transition:transform .2s}
@@ -83,4 +83,14 @@ function load(host = 'openvibe.live') {
@@ -83,4 +83,14 @@ function load(host = 'openvibe.live') {
assert.ok(SRC.includes('.ovf-dot{') && SRC.includes('prefers-reduced-motion:reduce){.ovf-account,.ovf-pulse,.ovf-inner--expanded,.ovf-dot{animation:none}'), 'the live dot pulses, never with reduced motion');
assert.ok(SRC.includes('.ovf-dot{') && SRC.includes('prefers-reduced-motion:reduce){.ovf-account,.ovf-pulse,.ovf-inner--expanded,.ovf-dot{animation:none}'), 'the live dot pulses, never with reduced motion');
}
}
+// The compact footer stays one line (4.15.1): the closed "More from OpenVibe" pill ends the compact line (the footer is a
+// wrapping row) and only the opened disclosure takes a row of its own. In 4.15.0 the pill sat on a second row: 78 px
+// instead of 53 px at 1400 px wide, which shrank the Games editor's canvas under its tests' clicks.
+{
+ assert.ok(SRC.includes('.ovf[data-variant="compact"]{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:18px}'), 'the compact footer is one wrapping row');
+ assert.ok(SRC.includes('.ovf[data-variant="compact"]>.ovf-expand{margin:0}'), 'the closed pill sits in the row');
+ assert.ok(SRC.includes('.ovf[data-variant="compact"]>.ovf-expand:not([open])>summary{padding:0;border:0;border-radius:0;font-size:.78rem;font-weight:400;line-height:inherit}'), 'closed, it is a link like the others, so the line is as tall as 4.14.0\'s (46 px)');
+ assert.ok(SRC.includes('.ovf[data-variant="compact"]>.ovf-expand[open]{flex:1 1 100%;margin:10px auto 0}'), 'opened, it takes a full-width row');
+}
+
console.log('footer: claims, the compact footer opening into the whole one, the pulse line');
console.log('footer: claims, the compact footer opening into the whole one, the pulse line');