Pane resize fix: inline flex:none frees #detpane from the sidebar aside rule #634

Merged
Cordy merged 6 commits from fix-pane2c into main 2026-09-21 00:02:05 +00:00
Owner

Dogfood find (Nikola, v0.6.230): the divider showed, the cursor said draggable, but dragging changed nothing.

Root-caused live in the browser: drags WERE firing — cairn-det-w had a saved 303.6px from the "dead" drag, and #detpane.style.width followed the pointer — but the rendered box stayed pinned at 216px. The redesign sheet (rd-style-extra) pins the left sidebar via #app > aside { flex: 0 0 216px; width: 216px }, and #detpane is also an <aside> inside #app; #app > aside (1,0,1) out-specifies #detpane (1,0,0), so flex-basis overrode every width the resizer set. The old preview panel never hit this because it was a <section>. (Which also means the pane has silently rendered at 216px since #538 — the 380px default only becomes real with this fix.)

Fix: el.style.flex = "none" inline in detEnsure — inline beats any sheet, and style.width (the resizer's channel) applies again. Verified live before shipping: with inline flex the pane went 216→303 and followed a 500px set instantly.

Guard: det-resize.test.js gains "the pane is immune to the sidebar aside rule".

Dogfood find (Nikola, v0.6.230): the divider showed, the cursor said draggable, but dragging changed nothing. Root-caused live in the browser: drags WERE firing — `cairn-det-w` had a saved 303.6px from the "dead" drag, and `#detpane.style.width` followed the pointer — but the rendered box stayed pinned at 216px. The redesign sheet (`rd-style-extra`) pins the left sidebar via `#app > aside { flex: 0 0 216px; width: 216px }`, and `#detpane` is also an `<aside>` inside `#app`; `#app > aside` (1,0,1) out-specifies `#detpane` (1,0,0), so flex-basis overrode every width the resizer set. The old preview panel never hit this because it was a `<section>`. (Which also means the pane has silently rendered at 216px since #538 — the 380px default only becomes real with this fix.) Fix: `el.style.flex = "none"` inline in detEnsure — inline beats any sheet, and `style.width` (the resizer's channel) applies again. Verified live before shipping: with inline flex the pane went 216→303 and followed a 500px set instantly. Guard: det-resize.test.js gains "the pane is immune to the sidebar aside rule".
Cordy merged commit 7c4746648e into main 2026-09-21 00:02:05 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Cordy/Cairn#634
No description provided.