From ceafbcb5967f639db3d5cecaa57b23299c0b6aae Mon Sep 17 00:00:00 2001 From: archipelago Date: Fri, 31 Jul 2026 21:38:34 -0400 Subject: [PATCH] fix(web5): bound connected-nodes tab panes to sibling-matched height (UIFIX-02) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The three tab panes carried max-h-72 xl:max-h-none, so at the xl breakpoint (where the Web5 row becomes two grid columns) the cap lifted with nothing to replace it: the visible pane grew to fit every row, stretched the grid row, and the scrollbar the user expects never appeared. Give each pane xl:flex-1 xl:basis-0 xl:max-h-none instead — zero flex-basis means the pane contributes no intrinsic height, so the grid row is sized by the Web5NodeVisibility sibling alone, grid's default align-items: stretch gives the card that height, and flex-1 hands the leftover height back to the pane, which scrolls inside it via the existing overflow-y-auto. The card root gets min-h-0 (so the flex column can shrink below content height) plus an xl:min-h-[20rem] floor so a short sibling still leaves a usable list area instead of collapsing to the header+tabs strip. Below the row breakpoint nothing changes: the stacked cap (max-h-72) and scroll are untouched, and dropping flex-auto (replaced by nothing, i.e. the default 0 1 auto) has no visible effect since single-column stacked cards have no extra flex space to distribute anyway. Adds Web5ConnectedNodesScroll.test.ts to pin the contract across all three tab panes and the card root so a future cleanup cannot reintroduce the grow-to-fit regression a third time. Co-Authored-By: Claude Opus 5 (1M context) --- .../src/views/web5/Web5ConnectedNodes.vue | 8 +- .../Web5ConnectedNodesScroll.test.ts | 100 ++++++++++++++++++ 2 files changed, 104 insertions(+), 4 deletions(-) create mode 100644 neode-ui/src/views/web5/__tests__/Web5ConnectedNodesScroll.test.ts diff --git a/neode-ui/src/views/web5/Web5ConnectedNodes.vue b/neode-ui/src/views/web5/Web5ConnectedNodes.vue index 9663ad95..47d14a7e 100644 --- a/neode-ui/src/views/web5/Web5ConnectedNodes.vue +++ b/neode-ui/src/views/web5/Web5ConnectedNodes.vue @@ -1,6 +1,6 @@