-
Couldn't load subscription status.
- Fork 4k
Fix scroll jump and scroll reset #3756
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix scroll jump and scroll reset #3756
Conversation
@gregberge
gregberge
commented
Oct 25, 2025
- Remove useless Suspense boundary
- Fix scroll not reset when navigating pages
- Fix scroll jump on page load
⚠️ No Changeset found
Latest commit: 17b6f2a
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
Click here to learn what changesets are, and how to add one.
Click here if you're a maintainer who wants to add a changeset to this PR
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR fixes scroll behavior issues during page navigation by preventing scroll position persistence and eliminating scroll jumps on initial page load. The changes refactor scroll handling logic to use a custom hook and improve scroll-to-element functionality.
- Extracted scroll event handling into a reusable
useScrollListenerhook - Added checks to prevent scroll behavior on initial page load (only trigger on navigation)
- Replaced
scrollIntoViewwith custom scroll positioning logic for better control
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| packages/gitbook/src/components/primitives/ScrollContainer.tsx | Refactored scroll event handling to use useScrollListener hook and replaced scrollIntoView with custom scrollToElementInContainer function |
| packages/gitbook/src/components/hooks/useScrollPage.ts | Added guard to prevent scroll behavior on initial page load by checking for previous state |
| packages/gitbook/src/components/SitePage/SitePage.tsx | Removed unnecessary React.Suspense boundary around PageClientLayout |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
The latest updates on your projects. Learn more about Argos notifications ↗︎
|