From 2b79bd943aa79ea89b408a1becd890545b916ea0 Mon Sep 17 00:00:00 2001 From: praxagent Date: Tue, 4 Aug 2026 18:16:43 +0000 Subject: [PATCH] fix(spaces): mobile board could not scroll down, and chat never appeared MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two reports from a phone, one root cause each. The Kanban board was overflow-x-auto overflow-y-hidden. On desktop that is right — columns are full-height and scroll internally. On mobile a column is taller than the screen, so everything below the fold was unreachable: you could scroll sideways but not down. Below md the board now scrolls vertically and columns size to their content, with the inner per-column scroll kept for md+ so mobile does not get a nested scroll region that traps the gesture. The space chat was a flex sibling that split the screen. Competing with the tab content for height on a tall board, it was pushed past the bottom edge and simply never appeared when toggled. On mobile it is now a fixed bottom sheet at z-40, above the tab bar at z-30 — 'over content' is the point — with pb-mobile-nav so the composer clears the bar and gives the space back when the keyboard opens. Desktop keeps the resizable in-flow column unchanged. --- .../components/panels/LibrarySpaceView.tsx | 15 ++++++++--- frontend/src/components/panels/SpacePage.tsx | 26 +++++++++++++------ 2 files changed, 30 insertions(+), 11 deletions(-) diff --git a/frontend/src/components/panels/LibrarySpaceView.tsx b/frontend/src/components/panels/LibrarySpaceView.tsx index 7a14a37..20a914e 100644 --- a/frontend/src/components/panels/LibrarySpaceView.tsx +++ b/frontend/src/components/panels/LibrarySpaceView.tsx @@ -446,8 +446,14 @@ export function LibrarySpaceView({ project, dark, onClose, embedded }: Props) { )} -
-
+ {/* Desktop: columns are full-height and scroll internally, so the + board itself must not scroll vertically. Mobile: a column is + taller than the screen, and overflow-y-hidden made everything + below the fold unreachable — you could scroll sideways but not + down. Below md the board scrolls vertically and the columns + size to their content instead of fighting for a bounded height. */} +
+
{columns.map((col: LibraryTaskColumn) => { const isDropTarget = dragOverColumn === col.id; return ( @@ -513,7 +519,10 @@ export function LibrarySpaceView({ project, dark, onClose, embedded }: Props) { )}
-
+ {/* On mobile the board scrolls, so a column must grow to + its content; an inner overflow-y-auto here would create + a second, nested scroll region that traps the gesture. */} +
{(tasksByColumn[col.id] ?? []).map((task) => (