Page MenuHomePhabricator

Unable to scroll after clicking in left sidebar
Closed, ResolvedPublic

Description

I'm not sure whether this is the expected behavior or not, but I noticed that I am unable to scroll up/down after clicking in the left sidebar in Differential. If I click back into the main page body, then I can scroll again as normal.

Revisions and Commits

Event Timeline

joshuaspence raised the priority of this task from to Needs Triage.
joshuaspence updated the task description. (Show Details)
joshuaspence added a project: PHUI.
joshuaspence added a subscriber: joshuaspence.

I can't confirm. Differential scrolling (and general scrolling) works fine for me under Firefox 35 here and on local install.

Actually, I have same issue.
But in my case, I use mobile chrome browser. In mobile chrome browser, the Diff section is not react my finger touch.
(I use android KK, and latest chrome browser)

So - The problem is present in Webkit based browsers, because all mine Gecko
based are working fine.

epriestley added a subscriber: epriestley.

I'm fixing this but it's 98% navigating Adobe's breathtakingly functional site.

Well, this is kind of involved.

The issue is that we draw the background with a position: fixed; div. This allows us to make sure it has 100% height even if the body content is shorter, and doesn't require an image.

The image requirement is less important now because we have automatic inlining with data URLs of small images, so the obvious solution is to switch to using an image. However, the image pretty much has to go on <body /> to make sure it has 100% height even on pages with less than a full page of content. This interacts with how we build pages, and interacts with D11507. Conpherence also does a bunch of stuff with the floatey div that I need to look into.

So I'll fix this at some point, but probably after Quicksand / Conpherence are further along and I have other reasons to be in that code. Some workarounds are to click outside the menu before scrolling, or not click the menu in the first place, or use a non-Webkit browser, I guess.

This issue is also present in Firefox.

Specifically:

  • This likely affects all browsers and OSes.
  • This likely affects all scrolling actions: scrolling after clicking, scrolling with the mousewheel, multi-touch scrolling, etc.

After poking at a few different solutions, I think the answer is going to end up being... use a table.

My tentative fix here was:

  • Put a background image on the <body /> (it will be inlined with a data: url anyway, so it doesn't cost us anything).
  • Remove the position: fixed div.

This gets tricky because the side nav needs to somehow tell the body to add whatever class activates the background image, but that stuff needed some refactoring anyway, ideally, to make the mobile nav stuff more automatic.

This is fairly involved, though.

chad claimed this task.

Probably fixed