Skip to content

fix:[M3-10335] - useIsPageScrollable hook is not working correctly for slightly taller pages#12695

Merged
bill-akamai merged 22 commits intolinode:developfrom
bill-akamai:M3-10335
Sep 5, 2025
Merged

fix:[M3-10335] - useIsPageScrollable hook is not working correctly for slightly taller pages#12695
bill-akamai merged 22 commits intolinode:developfrom
bill-akamai:M3-10335

Conversation

@bill-akamai
Copy link
Copy Markdown
Contributor

@bill-akamai bill-akamai commented Aug 13, 2025

Description 📝

This PR fixes the useIsPageScrollable returning false on slightly taller pages by including footer height in the calculation.

Changes 🔄

  • Added FOOTER_HEIGHT constant to packages/manager/src/features/Footer.tsx
  • Updated useIsPageScrollable hook to include this height in the scrollability calculation

Scope 🚢

Upon production release, changes in this PR will be visible to:

  • All customers
  • Some customers (e.g. in Beta or Limited Availability)
  • No customers / Not applicable

Preview 📷

Before After
isPageScrollable is false when main content is cut off isPageScrollable is true at target location

Reproduction steps

annotely_image (22)

Reproduction of this bug is kind of tricky but here's what you can do:

  • On line 179 of packages/manager/src/Root.tsx add this log: console.log('isPageScrollable', isPageScrollable);
  • Navigate to a Linode's networking page (/linodes/[linode id]/networking)
  • Resize your browser's height so that the page content just fits inside your viewport without overflow (you may need to use a larger external monitor for this)
  • With the console open, adjust your browser height and observe that isPageScrollable does not return true until a portion of the content is cut off rather than the threshold target from the screenshot above.

Verification steps

  • Follow the reproduction steps above and confirm isPageScrollable returns true at the approximate target line location from the screenshot above.
Author Checklists

As an Author, to speed up the review process, I considered 🤔

👀 Doing a self review
❔ Our contribution guidelines
🤏 Splitting feature into small PRs
➕ Adding a changeset
🧪 Providing/improving test coverage
🔐 Removing all sensitive information from the code and PR description
🚩 Using a feature flag to protect the release
👣 Providing comprehensive reproduction steps
📑 Providing or updating our documentation
🕛 Scheduling a pair reviewing session
📱 Providing mobile support
♿ Providing accessibility support


  • I have read and considered all applicable items listed above.

As an Author, before moving this PR from Draft to Open, I confirmed ✅

  • All tests and CI checks are passing
  • TypeScript compilation succeeded without errors
  • Code passes all linting rules

@github-actions
Copy link
Copy Markdown

This PR is stale because it has been open 15 days with no activity. Please attend to this PR or it will be closed in 5 days

@github-actions github-actions bot added the Stale label Aug 29, 2025
@bill-akamai bill-akamai added Bug Fixes for regressions or bugs and removed Stale labels Sep 3, 2025
@bill-akamai bill-akamai marked this pull request as ready for review September 3, 2025 20:28
@bill-akamai bill-akamai requested a review from a team as a code owner September 3, 2025 20:29
@bill-akamai bill-akamai requested review from cpathipa and dwiley-akamai and removed request for a team September 3, 2025 20:29
@linode-gh-bot
Copy link
Copy Markdown
Collaborator

Cloud Manager UI test results

🎉 738 passing tests on test run #5 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
0 Failing738 Passing6 Skipped53m 21s

Copy link
Copy Markdown
Contributor

@dwiley-akamai dwiley-akamai left a comment

Choose a reason for hiding this comment

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

I don't have a large external monitor, but I tested by zooming out to 75% on the page, and was able to confirm isPageScrollable doesn't return as true until I shrink the vertical size smaller than the approximate line shown.

Copy link
Copy Markdown
Contributor

@coliu-akamai coliu-akamai left a comment

Choose a reason for hiding this comment

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

same with Dajahi, I don't have a super large monitor but tested with zooming out on the page - things are looking good

thanks @bill-akamai!

@github-project-automation github-project-automation bot moved this from Review to Approved in Cloud Manager Sep 5, 2025
@coliu-akamai coliu-akamai added the Approved Multiple approvals and ready to merge! label Sep 5, 2025
@bill-akamai bill-akamai merged commit 849551a into linode:develop Sep 5, 2025
35 checks passed
@github-project-automation github-project-automation bot moved this from Approved to Merged in Cloud Manager Sep 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Approved Multiple approvals and ready to merge! Bug Fixes for regressions or bugs

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

4 participants