fix(desktop): let the whole Settings pane scroll - #3453
Conversation
Move vertical scroll ownership from the centered content column to the rounded Settings main pane so wide gutters accept wheel input and the native scrollbar stays at the pane edge. Keep the page column width and mirror the production layout in Storybook. Generated-by: Codex
jackwener
left a comment
There was a problem hiding this comment.
Automated review of exact head b69a89b8a08ba5bd848ae97270d753d808195fff against current main@d62857a8357e9160926726a2a13096bc2dc2b91d.
The defect remains on main: .settingsMainPane clips overflow while Astryx LayoutContent owns overflow: auto, so the centered 920px column is the only scroll target and wide pane gutters do not receive wheel scrolling. This patch moves the single scroll owner to the rounded pane, opts the inner content out of scrolling, and keeps the Storybook frame structurally aligned. The E2E asserts both ownership and actual gutter-wheel behavior. I found no actionable P0-P2 defect; git diff --check is clean.
Required conclusions:
- Optimal for the actual problem: yes; one outer scroll owner fixes both inert gutters and scrollbar placement without adding event forwarding.
- Production code to delete: none beyond the replaced inner scroll ownership; none further identified.
- Tests to delete/replace: none identified.
- Deeper refactor: no.
- Ready to merge: not yet. No hosted
testcheck is reported on this exact head, and automated review is not approval. - Residual risks/gaps: the scroll-owner change is user-visible and still needs the promised human visual/native acceptance; the PR body also still describes itself as Draft even though GitHub currently marks it ready for review, and it records a pending rebase/combined-test resolution after #3450.
This affects user-visible layout, so CONTRIBUTING.md requires independent human judgment on the exact head.
Astro-Han
left a comment
There was a problem hiding this comment.
LGTM, Clean and small fix.
Summary
Before / after
before.mp4
after.mp4
Draft status
The current three-way merge against #3450 auto-merges the production TSX/CSS changes. Only
apps/desktop/e2e/settings.spec.tsconflicts because both branches append a test at the end of the file; resolving it means keeping both tests.Verification
npx biome check apps/desktop/e2e/settings.spec.ts apps/desktop/src/renderer/settings/settings-surface.tsx apps/desktop/src/renderer/styles/settings/nav-sidebar.css apps/desktop/stories/settings/provider-settings.stories.tsxnpm --workspace @maka/desktop run typechecknpm --workspace @maka/desktop run e2e -- e2e/settings.spec.ts— 3/3 passednpm --workspace @maka/desktop run build-storybooknpm --workspace @maka/desktop run smoke:storybook— 160/160 stories passedgit diff --checkManual/native visual acceptance and screenshots were intentionally skipped for this draft.
AI use
Select exactly one:
Tool(s) and scope:
OpenAI Codex — investigated the scroll owner, implemented the renderer/CSS/Storybook changes, added Electron E2E coverage, verified the branch, checked overlap with #3450, and prepared this Draft PR. The human contributor reviewed the intended behavior and authorized publication.
Checklist
Does this PR entail a change in behavior?