studio-engine 0.77.1 → 0.77.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +45 -0
  3. data/lib/studio/version.rb +1 -1
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e8cc0d34a62b18829e9caa043f820a5dc6100fa9de2d990f32dd4f3439c5bd40
4
- data.tar.gz: b5a7794c1c53bea3354f4b48e46887c9315df5fbff6d671436328fac9f95c2d3
3
+ metadata.gz: 0cc769a784287a588fc4d2c8301ffd284d11bba8dd66e849ccf684a9ab8360b1
4
+ data.tar.gz: 633a853e6754e83e08689d2aaadb376359b83f3a33f3a70479d36350d53d4094
5
5
  SHA512:
6
- metadata.gz: 65d91ace8c12010d262fb841a19c384ef85aa8418d6ec270cf30d2b68e28f73f1da5cdbfe9057cdefad831e44c519ea088468f36ce3a9467866102da47d08491
7
- data.tar.gz: e56bd88f0517331aeb58ddac29ab027053a74189a97c78c3a55b9b8cd4f8827fa3492676b4604c0e779f96d7136073b11e8e4e624ed7e064654c037c676457c0
6
+ metadata.gz: 33b9ede51a13dd085c889dc60eff98c7bf1b8c8823e8c35793b486137c803f8e32d73d931c5a3baa0cbbb971fd6023f0d623fc070473df6b8f6272878a79326b
7
+ data.tar.gz: ae87c5d5959476e748e5a957937d6568667f0b8831281eeef6b5ef46570b6e8e3b4ef8a7d296dea624af6bda3c1c3a2eb1d09893e2078f0bf013ba62d5625124
data/CHANGELOG.md CHANGED
@@ -4,6 +4,51 @@ The format is [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). This pro
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## 0.77.3 — 2026-09-28
8
+
9
+ ## 0.77.2 — 2026-09-28
10
+
11
+ ### Fixed
12
+
13
+ - **The browser lab stopped writing per-request state into the engine's process-wide
14
+ config.** `E2eLabController#bar_stack` set up the link sidebar by assigning
15
+ `Studio.sidebar_sections` from `?sidebar=1`, and that accessor is a
16
+ `mattr_accessor` — one slot for the whole Puma process. So one request armed the
17
+ sidebar for every request after it: measured at `a73edfe`, after a single
18
+ `GET /lab/bar_stack?sidebar=1`, `/lab/toast_over_banner` served 2 link-sidebar
19
+ triggers, 2 slide-out panels and `--nav-h: 145px` against 0, 0 and 125px before it,
20
+ on a page that declares no sections. **No shipped engine code changed**; the lab is
21
+ the dummy test app, which is in no gem (`spec.files` has never included `test/`).
22
+ What changed is what the browser lane measures. The dummy host now declares the
23
+ accessor once at boot, in the callable form `docs/NEW_APP_SETUP.md` shows, reading
24
+ what the current request declared through a `before_action` on every lab action —
25
+ so `?sidebar=1` works on any lab page, carries nowhere, and
26
+ `Studio::SidebarSections.resolve` stays on the path.
27
+ - The lane never went red for it. Playwright walks `e2e/` in file-name order and
28
+ `nav_collapse.spec.js`, which clears the slot, sorts between the contaminator and
29
+ the victim; run those two adjacent and every assertion still passes. So
30
+ `playwright.config.js`'s comment claiming the lab pages are stateless was false
31
+ and was arming whoever next raised `workers` above 1. It now names the incident
32
+ and the guard instead of asserting itself.
33
+ - `test/integration/e2e_lab_isolation_test.rb` holds the seam and more than this one
34
+ accessor: it enumerates every lab GET from the router and every `Studio` accessor
35
+ that has a writer, walks each route bare and with every knob the lane turns, and
36
+ diffs the values either side.
37
+
38
+ ### Added
39
+
40
+ - **The header's reserved balance column has a spec.** `layouts/_navbar` gives the
41
+ right column a hard `width: min(14rem, 46vw)` when a host passes `balance_html`
42
+ (`.user-nav-col`) and the same number as a `max-width` when it does not
43
+ (`.user-nav-fit`). All five phone-width header specs drove the fit path;
44
+ `/lab/bar_stack` has carried a `?balance=1` knob since it was written and nothing
45
+ turned it. Measured across 320/360/375/390/412/430, the two paths are identical to
46
+ a tenth of a pixel — the fit column is already pinned to its cap at every phone
47
+ width — so this is coverage over correct code, not a fix. It is not redundant:
48
+ the two classes are separate declarations at three media bands each, and mutating
49
+ `.user-nav-col` to a bare 20rem left all five existing specs green and reddened
50
+ only this one.
51
+
7
52
  ## 0.77.1 — 2026-09-27
8
53
 
9
54
  ### Fixed
@@ -1,3 +1,3 @@
1
1
  module Studio
2
- VERSION = "0.77.1"
2
+ VERSION = "0.77.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: studio-engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.77.1
4
+ version: 0.77.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex McRitchie