From 8678af5f6d3f289a160e5fe9a822bef56c6228a6 Mon Sep 17 00:00:00 2001 From: kate bonner Date: Wed, 15 Jul 2026 01:43:35 -0400 Subject: [PATCH 1/3] =?UTF-8?q?fix(amicode):=20sessions=20flyout=20?= =?UTF-8?q?=E2=80=94=20'Show=20all'=20no=20longer=20overlaps=20and=20the?= =?UTF-8?q?=20list=20scrolls?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Expanding to all sessions blew past the flyout's max-height, and every flex child was allowed to shrink: the project column got squeezed far below its content (which then painted over the search box and session rows), and ScrollView's height:100% viewport can't resolve under the flyout's max-height-only auto-height chain — it inflated to full content height and was clipped, so nothing scrolled (headless repro: viewport clientHeight == scrollHeight == 2851px, wheel moved nothing). Fix: project column and search keep natural height (shrink-0; the column caps at 38vh and scrolls internally if projects ever exceed it), and the sessions list is its own scroll container via used flex size + overflow-y — the same pattern as the multi-server project list and the search results panel. Measured after: list scrolls 298px over 2851px of content, zero overlap, collapsed state pixel-identical. Co-Authored-By: Claude Fable 5 --- packages/app/src/pages/home.tsx | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/packages/app/src/pages/home.tsx b/packages/app/src/pages/home.tsx index d1fbf5b9a..8263615f5 100644 --- a/packages/app/src/pages/home.tsx +++ b/packages/app/src/pages/home.tsx @@ -19,7 +19,6 @@ import { createStore } from "solid-js/store" import { useQuery } from "@tanstack/solid-query" import { Button } from "@opencode-ai/ui/button" import { Logo } from "@opencode-ai/ui/logo" -import { ScrollView } from "@opencode-ai/ui/scroll-view" import { ProjectAvatar } from "@opencode-ai/ui/v2/project-avatar-v2" import { ButtonV2 } from "@opencode-ai/ui/v2/button-v2" import { Icon as IconV2 } from "@opencode-ai/ui/v2/icon" @@ -884,7 +883,13 @@ function HomeDesign() { onClose={closeSearch} onSelect={selectSearchSession} /> - + {/* The scroll container must be this element itself (used flex + size + overflow-y), NOT ScrollView: its viewport needs + height:100%, and percentage heights never resolve under the + flyout's max-height-only auto-height chain — the viewport + inflates to content size and the root just clips it. Same + pattern as the project list / search results lists. */} +
- +
@@ -1074,7 +1079,16 @@ function HomeProjectColumn(props: { const dialog = useDialog() const controller = useServerManagementController({ navigateOnAdd: false }) return ( -