Skip to content
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

Left menu stops opening at random #974

Open
floppyD opened this issue Jul 4, 2020 · 13 comments
Open

Left menu stops opening at random #974

floppyD opened this issue Jul 4, 2020 · 13 comments
Assignees
Labels
bug Something isn't working cantrepro Can't reproduce this issue

Comments

@floppyD
Copy link

floppyD commented Jul 4, 2020

Seems to be very rare, but I already experienced this issue in the past.
https://streamable.com/4iay9e

@Adamantcheese Adamantcheese added the bug Something isn't working label Jul 6, 2020
@lewri
Copy link

lewri commented Jul 9, 2020

I can confirm this too in stable. It's very intermittent. When it happens though I have to restart the app to get it working

Doesn't seem to happen on the Dev version I have installed if that helps pinpoint (4.12.0-6079a04)

@Adamantcheese
Copy link
Owner

Adamantcheese commented Jul 10, 2020

Just want to make sure that this only happens on the phone layout mode. @floppyD's video shows that much, but I don't know what layout mode you're using @lewri.
Otherwise, that dev version really helped and I can narrow it down to one of these two commits doing it probably: 03c760a fb54f68 or the SlidingPaneLayout 1.0.0 -> 1.1.0 update borked it, but I don't think that one is the case and this only happens in phone mode.

@lewri
Copy link

lewri commented Jul 10, 2020

I believe I use the same layout mode (phone) as floppyD by looking at the video . Don't think my screen is as wide as that though.

Not tried it on a tablet at all.

@Adamantcheese
Copy link
Owner

Adamantcheese commented Jul 15, 2020

Okay, I have some updates:
fb54f68 is likely the reason this is being caused, however without that change I would be reverting a different fix for another swiping issue that it resolved. Likely this issue is merely exacerbated by that change.

The issue I see as being most likely is in DrawerController's setDrawerEnabled method, which locks the drawer closed in any controllers that shouldn't be able to open the drawer (like Settings for example). The argument enabled it takes in is based on the controller the swipe is transitioning to and if it has the drawer enabled for it or not. From my testing I can't reproduce the behavior shown and described, but a better sequence of events will help me debug this further. Maybe there's a specific from/to combination of controllers that caused that situation, which would be strange because that would mean that something was opened up with an incorrect hasDrawer value in the navigation item in the controller, which shouldn't be possible.

I won't mark this as "can't repro" because obviously you can, but I don't know how to. More information or a method of reproduction would be nice. Note that this probably only occurs in Phone layout mode and Split layout mode or turning off swipeable controllers will prevent this issue for the time being.

@lewri
Copy link

lewri commented Jul 15, 2020

I think I reproduced this as so:

Go to a thread, flick scroll so the page is moving.
While it is scrolling from inertia, try pulling the left drawer out. You can't.

Edit: WEBM of the issue: https://www.dropbox.com/s/fmwx8ea1l155qjw/SVID_20200715_182911_1.webm?dl=0

Also, I tested on a tablet, the bug also happens there too.

@Adamantcheese
Copy link
Owner

@lewri that is the "Slide" layout mode; that is expected behavior as while the scroller has inertia, any touch event will be used to control scroll behavior. The scroller must be stopped in order for the touch event to not be intercepted by it.

The issue presented originally has the scroller at zero inertia and the event is not being taken by the drawer, which to me pointed at it being in a sort of "locked" state as it passed the event on and the scroller took hold of it.

@Adamantcheese Adamantcheese self-assigned this Jul 16, 2020
@lewri
Copy link

lewri commented Jul 16, 2020

I'm not sure... as in that dev version mentioned, you can pull the drawer out while the scroll has inertia -- it would stop the scrolling.
But i think a knock-on affect of the change is that a slightly angled pull appears to cause the page to scroll rather than pull out the drawer. But in light of that this could also be a separate issue.

Webm for context (in dev version 4.12.0-6079a04): https://www.dropbox.com/s/fq5pg3k7hjx7wb6/SVID_20200716_084613_1.webm?dl=0

@Adamantcheese
Copy link
Owner

Even at a very high angle I am still able to pull the drawer out when the scroller is stopped. There is no issue as you are describing it and whatever you're trying to explain is unrelated to the original issue.

@lewri
Copy link

lewri commented Jul 31, 2020

@Adamantcheese this one is still happening. Just randomly happened on my stable version 4.13.6

Now that it's actually happened I see why my issue was different to this one.

@Adamantcheese Adamantcheese reopened this Jul 31, 2020
@Adamantcheese
Copy link
Owner

Strange, from other issues this might be caused by disallowing touch intercepts on certain views, but then those are AndroidX internals that I'd have to go look at. At least there's a workaround of tapping back that seems to work.

@lewri
Copy link

lewri commented Aug 1, 2020

Actually reviewing the op video the behaviour is the same but the conditions are slightly different. I can't pull out the left menu from the board view as well as thread view.
If I tried to pull out the left menu in thread view it instead returned to board view. Haven't reproduced it again though.

@lewri
Copy link

lewri commented Aug 15, 2020

Just to update you cheese, I have reproduced this twice since my last update. But there's still no clear method of replicating it. Seems to happen only at the start of opening the app though.

@Adamantcheese
Copy link
Owner

Managed to stumble upon this one once in the last few days, but it was under some pretty extreme circumstances, and only on hardware. Still no reproduction method.

@Adamantcheese Adamantcheese added the cantrepro Can't reproduce this issue label Jul 25, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working cantrepro Can't reproduce this issue
Projects
None yet
Development

No branches or pull requests

3 participants