Pane v2 sweep: scrollable body, header fixes, federated badge, dead CSS pruned #636

Merged
Cordy merged 8 commits from fix-pane4 into main 2026-09-21 01:12:02 +00:00
Owner

Closes out pane v2 with the dogfood findings and the deferred cleanup (net −362 lines).

Dogfood findings (Nikola, v0.6.232), both root-caused live in the browser:

  • Pane didn't scroll when content outgrew the window (drill rows cut off): .detbody had overflow:auto but computed flex:0 1 auto / min-height:auto — the classic flexbox trap where the child grows past the parent instead of scrolling. It's now a bounded flex child (flex:1 1 auto;min-height:0) and carries the navscroll class, so it inherits the app's quiet-scrollbar idiom: invisible until you hover or scroll, fading thumb, the works — no new machinery.
  • Header showed no file name and the ✕ sat next to the icon: the title was in the DOM all along at 0px wide — a global button width rule ballooned .detx to 355px and its flex-basis crushed the flex-1 title (same family as the #app > aside pin from v0.6.231). .detx/.detbk now carry explicit width:auto;flex:none; name shows, ✕ sits flush right. Header bar also slimmed (13px→8px vertical padding) per the mockup comparison.

Sweep items:

  • Federated badge: grants to federated addressees now show a teal "Federated" badge in the share list (label reuses #603's shareKindFederated key — the splice inserts it only if absent).
  • Dead preview CSS pruned: #pvpanel/#pvhead/#pvbody/#pvfoot, .pvicon/.pvdoc/.pvcard/.pvspin/.pveditbtn, .pvsel (both themes), body[data-pv], and both phone blocks — gone. #pvdivider + .pvgrip deliberately stay: the pane resizer uses them. Six unused pv i18n strings dropped (pvOpen stays — the hero uses it).
  • New guard det-sweep.test.js (16 asserts) pins all of it.

Deferred (noted, low priority): phone sheet swipe-to-step and history-back for the pane — the bottom sheet itself works; these are polish for a phone pass alongside the next #389 wave.

Red-green on the runner: RED confirmed, full go test + extract fence + all web suites green (commit 2a1903c).

Closes out pane v2 with the dogfood findings and the deferred cleanup (net −362 lines). Dogfood findings (Nikola, v0.6.232), both root-caused live in the browser: - **Pane didn't scroll** when content outgrew the window (drill rows cut off): `.detbody` had `overflow:auto` but computed `flex:0 1 auto` / `min-height:auto` — the classic flexbox trap where the child grows past the parent instead of scrolling. It's now a bounded flex child (`flex:1 1 auto;min-height:0`) and carries the `navscroll` class, so it inherits the app's quiet-scrollbar idiom: invisible until you hover or scroll, fading thumb, the works — no new machinery. - **Header showed no file name and the ✕ sat next to the icon**: the title was in the DOM all along at **0px wide** — a global button width rule ballooned `.detx` to 355px and its flex-basis crushed the flex-1 title (same family as the `#app > aside` pin from v0.6.231). `.detx`/`.detbk` now carry explicit `width:auto;flex:none`; name shows, ✕ sits flush right. Header bar also slimmed (13px→8px vertical padding) per the mockup comparison. Sweep items: - **Federated badge**: grants to federated addressees now show a teal "Federated" badge in the share list (label reuses #603's `shareKindFederated` key — the splice inserts it only if absent). - **Dead preview CSS pruned**: `#pvpanel/#pvhead/#pvbody/#pvfoot`, `.pvicon/.pvdoc/.pvcard/.pvspin/.pveditbtn`, `.pvsel` (both themes), `body[data-pv]`, and both phone blocks — gone. `#pvdivider` + `.pvgrip` deliberately stay: the pane resizer uses them. Six unused pv i18n strings dropped (`pvOpen` stays — the hero uses it). - New guard `det-sweep.test.js` (16 asserts) pins all of it. Deferred (noted, low priority): phone sheet swipe-to-step and history-back for the pane — the bottom sheet itself works; these are polish for a phone pass alongside the next #389 wave. Red-green on the runner: RED confirmed, full go test + extract fence + all web suites green (commit 2a1903c).
Cordy merged commit 0fe0d45c01 into main 2026-09-21 01:12:02 +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#636
No description provided.