HomePhabricator

If there's an anchor in the URL in Differential, don't stick to the bottom of…

Description

If there's an anchor in the URL in Differential, don't stick to the bottom of the page as content loads

Summary:
Fixes T11784. A lot of things are interacting here, but this probably gets slightly better results slightly more often?

Basically:

  • When we load content, we try to keep the viewport "stable" on the page, so the page doesn't jump around like crazy.
  • If you're near the top or bottom of the page, we try to stick to the top (e.g., reading the summary) or bottom (e.g., writing a comment).
  • But, if you followed an anchor to a comment that's close to the bottom of the page, we might stick to the bottom intead of staying with the anchor.

Kind of do a better job by not sticking to the bottom if you have an anchor. This will get things wrong if you follow an anchor, scroll down, start writing a comment, etc. But this whole thing is a pile of guesses anyway.

Test Plan:

  • Followed an anchor, saw non-sticky stabilization.
  • Loaded the page normally, scrolled to the bottom real fast, saw sticky stabilization.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T11784

Differential Revision: https://secure.phabricator.com/D17911