Skip to content

fix(agor-ui): make board sessions panel list scrollable#1814

Open
fitzee wants to merge 1 commit into
mainfrom
fix-board-sessions-panel-scroll
Open

fix(agor-ui): make board sessions panel list scrollable#1814
fitzee wants to merge 1 commit into
mainfrom
fix-board-sessions-panel-scroll

Conversation

@fitzee

@fitzee fitzee commented Jul 6, 2026

Copy link
Copy Markdown

Summary

  • The per-board Sessions panel/drawer (BranchListDrawer.tsx / BoardSessionList) clipped its list instead of scrolling — header/footer showed the correct total (e.g. "33 sessions") but only ~10 rows were visible and unreachable, worse on short (non-fullscreen) viewports.
  • Fixed by converting the panel to a flex column: search bar and footer are flexShrink: 0, the session list is flex: 1; overflowY: auto. The footer no longer needs position: absolute since flexbox naturally pins it to the bottom without overlapping the list.

Root cause

The list lived in a plain block <div> with no bounded height/overflow, inside a wrapper that was height: 100%; overflow: hidden with an absolutely-positioned footer. Because the wrapper's height was pinned to its container, any overflowing rows were clipped by overflow: hidden rather than becoming scrollable — there was no scroll container anywhere in the tree. This affected both usage sites: the BranchListDrawer and the "All sessions" tab in BoardAssistantPanel.

Before / after

  • Before: short/non-fullscreen window + 30+ sessions → only the first ~10 rows visible, rest clipped and unreachable, footer count still correct.
  • After: the list scrolls within the available space (mirrors the pattern already used in CommentsPanel), every row up to the header/footer count is reachable, and the footer stays pinned without covering the last rows. Verified full-screen and with few sessions still render cleanly with no awkward gaps.

Test plan

  • BranchListDrawer.test.tsx passes
  • BoardAssistantPanel tests pass
  • Typecheck / biome lint clean on the changed file
  • Manual verification in a running browser (not performed in this session — dev server is user-managed per project convention; verified via code/layout reasoning + existing test coverage instead)

Fixes #1813

The session list in the sessions drawer/panel (BoardSessionList) sat in
a plain block div with no bounded height or overflow, inside a wrapper
that used overflow:hidden and an absolutely-positioned footer. Since
the wrapper's height was pinned to 100% of its container, overflowing
rows were clipped by overflow:hidden instead of becoming scrollable,
so only ~10 of e.g. 33 sessions were reachable in a short viewport.

Switch the wrapper to a flex column (search bar and footer
flex-shrink:0, list flex:1 with overflowY:auto), matching the pattern
already used in CommentsPanel. The footer no longer needs absolute
positioning since flexbox naturally pins it to the bottom without
overlapping the list.

Fixes #1813
@mistercrunch

Copy link
Copy Markdown
Member

@kgabryje mentioned this might be fixed already, but not sure if he looked at the exact place that this PR targets. @kgabryje wanna review this one?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Per-board Sessions panel clips list — count correct (e.g. 33) but only ~10 rows visible, no scroll

2 participants