Skip to content

Removes double scrollbar in Settings > Storage#5920

Open
akolson wants to merge 1 commit into
learningequality:hotfixesfrom
akolson:remove-double-scrolls
Open

Removes double scrollbar in Settings > Storage#5920
akolson wants to merge 1 commit into
learningequality:hotfixesfrom
akolson:remove-double-scrolls

Conversation

@akolson
Copy link
Copy Markdown
Member

@akolson akolson commented May 18, 2026

Summary

StudioPage sets height: calc(100vh - marginTop) on its outer element to create a fixed-height scrollable content area. However, the outer element also had margin-bottom: 16px in CSS, making the total rendered document height 100vh + 16px. That extra 16px caused the browser to show a page-level scrollbar alongside StudioPage's own overflow-y: auto inner scroll — producing the double scrollbar seen in the issue.

Fix: move margin-bottom: 16px from .studio-page-outer to padding-bottom: 16px on .studio-page-inner. The spacing is preserved (appears at the bottom of scrollable content), but it now lives inside the scroll container so document height stays at exactly 100vh.

Before (from issue — double scrollbar visible on the right):

Image

After: single scrollbar inside the content area only.

Screen.Recording.2026-05-18.at.15.28.26.mov

References

Fixes #5864

Reviewer guidance

  • Verify at Settings > Storage: only one scrollbar should appear on the right side of the content area.
  • Also spot-check Settings > Account and Settings > About Studio — all three tabs use the same StudioPage wrapper.
  • StudioImmersiveModal also uses StudioPage (with marginTop=0) — open any channel editor modal and confirm scrolling still works correctly there.

AI usage

I used Claude Code to diagnose the root cause (identifying that margin-bottom on the fixed-height outer element was the 16px overflow causing the page-level scroll) and to implement the one-line fix. I reviewed the change and verified it preserves the visual spacing while eliminating the extra document height.

…nt double scrollbar

The outer element had both a fixed height (`calc(100vh - marginTop)`) and
`margin-bottom: 16px`, making the total document height 16px taller than
the viewport. This caused the browser to show its own page-level scrollbar
alongside StudioPage's inner `overflow-y: auto` scroll.

Moving the spacing to `padding-bottom` on the inner element keeps it inside
the scrollable area so the document height stays at exactly 100vh.

Fixes learningequality#5864

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@akolson akolson changed the title fix(StudioPage): remove double scrollbar in Settings > Storage Removes double scrollbar in Settings > Storage May 18, 2026
@akolson akolson changed the base branch from unstable to hotfixes May 18, 2026 12:37
Copy link
Copy Markdown
Contributor

@rtibblesbot rtibblesbot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clean, minimal fix that correctly addresses the root cause.

CI passing. Visual inspection confirmed: before screenshot shows the double scrollbar, after video frames consistently show only the single inner-content scrollbar across all settings tabs. No design spec to compare against; general visual completeness looks good.

  • praise: see inline comment

@rtibblesbot's comments are generated by an LLM, and should be evaluated accordingly

How was this generated?

Reviewed the pull request diff checking for:

  • Correctness: bugs, edge cases, undocumented behavior, resource leaks, hardcoded values
  • Design: unnecessary complexity, naming, readability, comment accuracy, redundant state
  • Architecture: duplicated concerns, minimal interfaces, composition over inheritance
  • Testing: behavior-based assertions, mocks only at hard boundaries, accurate coverage
  • Completeness: missing dependencies, unupdated usages, i18n, accessibility, security
  • Principles: DRY (same reason to change), SRP, Rule of Three (no premature abstraction)
  • Checked CI status and linked issue acceptance criteria
  • For UI changes: inspected screenshots for layout, visual completeness, and consistency


.studio-page-inner {
width: 100%;
padding-bottom: 16px;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

praise: Correct minimal fix — moves the spacing inside the scroll container rather than removing it or patching around the symptom. The margin-bottom on a fixed-height element was always going to add to document flow; padding-bottom on the inner div is exactly where this belongs.

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.

Unstable - Settings > Storage - Double scrollbar

2 participants