-
The current implementation has two sidebar modes, so the answer depends on the PR tab and the available browser width:
- On wide layouts (at least 1199 CSS pixels), issue detail pages and ordinary PR detail tabs use the same
SideInfoPaneland shared sticky styling. The sidebar content usesposition: sticky; top: 0, without an inner scrollbar imposed by that wide-layout rule. - At 1198 CSS pixels or less, both pages switch to a fixed drawer whose body scrolls independently. Browser zoom or opening a browser side panel can reduce the available CSS width enough to trigger this mode.
- The PR Changes tab explicitly enables that drawer mode at every width through
hide-side-info. Its panel is fixed to the viewport and has an internally scrollable body. Consequently, scrolling the main page does not scroll the remaining drawer content; scroll inside the drawer to reach it.
These rules are in the shared
side-info.css/side-info.js, with the Changes-tab override inPullRequestChangesPage. Thus, if the comparison is between an issue and the PR Changes tab on a wide screen, the difference is explicitly configured, rather than explained solely by an accidental sticky ancestor. Making those two views identical would change the current Changes-tab layout. Also, requiring no inner scrollbar at narrow widths would differ from the current issue-page behavior too.This is based on inspection of the current source; I have not reproduced the reported clipping in your environment. Completely unreachable content is not explained merely by the existence of the drawer scrollbar.
Could you share your OneDev version, the affected PR tab (particularly whether it is Activities or Changes), browser, viewport size and zoom, and a screenshot showing the cut-off section? If this happens on Activities at a wide viewport, or content remains unreachable when scrolling inside the drawer, those details will help distinguish it from the configured drawer behavior. Does the explanation above account for the difference you are seeing?
- On wide layouts (at least 1199 CSS pixels), issue detail pages and ordinary PR detail tabs use the same
| Type |
Question
|
| Priority |
Normal
|
| Assignee | |
| Labels |
No labels
|
Motivation
The side info panel on the pull request page does not scroll in the same way as the equivalent panel on the issue detail page. On an issue, the panel scrolls naturally with the page content and settles (
sticks) at the top once it reaches the header offset, so the whole panel is reachable by normal page scrolling. On a pull request, the page stops scrolling before the sidebar content is exhausted and the remainder is either trapped behind an inner scrollbar or not reachable at all.The issue page is the reference behaviour here — it is what the panel is designed to do, and what users have already learned. A PR sidebar that scrolls differently is a usability and consistency defect:
Current behaviour (pull request page)
Expected / proposed behaviour (match the issue page)
Suggested solution
(Hypothesis — confirm before implementing.) The difference is most likely not the sticky value but the scroll container the panel resolves against:
position: stickyis resolved against the nearest scrolling ancestor, not the viewport. On the PR page the side column sits in a full-height layout where an ancestor has non-visibleoverflow (e.g.overflow-y: auto/hiddenwithheight: 100%/min-height: 0), so the panel sticks relative to that inner box instead of the document.Two candidate fixes, in order of preference:
visibleoverflow from the ancestors of the side column. This unifies the two pages with the least special-casing.If it turns out the panel genuinely needs an inner scroll region on PRs (e.g. a very long checks list), that should be a deliberate, visible affordance and applied to both pages, not an accidental side effect of the layout.
Acceptance criteria
Notes / out of scope