aeharding / voyager

Voyager — a beautiful app for Lemmy
https://vger.app
GNU Affero General Public License v3.0
1.49k stars 168 forks source link

[Play Store 1.11.12] Scrolling up on feed randomly causes refresh #718

Open MisterFro9 opened 1 year ago

MisterFro9 commented 1 year ago

When scrolling All, if I scroll up a little it often bugs out and causes a feed refresh. This is happening dozens of times per session.

It's hard to purposefully recreate, but happens frequently.

setenforce0 commented 1 year ago

The same is happening to me any time I scroll up

aeharding commented 1 year ago

Is it only happening in a certain feed? Can you consistently reproduce? If so please provide reproduction steps. Thanks!

MisterFro9 commented 1 year ago

https://github.com/aeharding/voyager/assets/77535145/0d3c2d1a-b4f7-429e-a8a8-7873f5a914e8

It's inconsistent, luckily I was able to reproduce and screen record (see attached). I only really use All TopWeek. I'll try to notice other factors, but so far it's not clear!

Restarting app does not fix the issue. It continues to happen.

jeff-hykin commented 1 year ago

https://github.com/aeharding/voyager/assets/17692058/1ee6fe58-f7a5-4c9d-988e-f0cf40774dc3

Same issue, also got a screen recording including the inconsistency. This is a firefox webapp running on android. I've only had it on the home feed, but I'll keep an eye out if I see it on a specific community.

If you've got any debugging ideas I'll try them out. It seems like it happens more when I recently have refreshed. Sometimes I can go a while without getting the bug.

jeff-hykin commented 1 year ago

I wonder if there is a race condition or specific condition that causes the feed to change the layer order. Then somehow switching communities refreshes that order.

jeff-hykin commented 1 year ago

Alright I was able to get the issue on a single community, so I can confirm its not just Home/All that gets the problem.

Unfortunately switching communities, then switching back, does not seem to fix the problem (so my experience yesterday must have been a fluke). Changing the the ranking (hot/top) doesn't seem to effect it either.

Switching communities, changing ranking, scrolling, refreshing, and switching in and out of the app eventually cause the problem to go away. So at least its not correlated with going from an inbox view or post/comment view to a feed view.

cabo40 commented 1 year ago

The web app made explicit what was happening but also on the Play Store app the refresh icon can be seen when "scrolling" down at the top of the feed or post. What I think is happening: The drag down gesture triggers a "page reload" event. In the web app the refresh icon is shown always, in the Play Store app, only when you are at the top of the feed. Steps to reproduce:

Please let me know if I can help in any way, and thanks for coding my favorite lemmy client!

aeharding commented 1 year ago

Hi there!

Can you please check if this still occurs in latest version after the switch to Virtua?

ashleyredzko commented 1 year ago

@aeharding This is still happening for me on 1.18.0.

jeff-hykin commented 1 year ago

I went weeks without it, saw the github comment yesterday, and ran into the issue again just now (1.18.0). So sadly no

aeharding commented 1 year ago

I'm hoping this is resolved in the next release (v0.19.0) coming in a couple days or so. If you see it in v0.19.0, please let me know and I'll reopen this ticket.

ashleyredzko commented 1 year ago

@aeharding I am not running into this as often when using normally, but I have found a consistent way to replicate it on 0.19.2 on my device (Pixel 7a).

  1. Scroll up (down to next post), using a large enough swipe to keep scrolling once your finger is removed.
  2. Attempt to scroll down (previous post) before the previous scroll animation finishes.

This seems to reliably trigger a refresh for me. Sometimes I scroll too far and try to stop the scroll or go back to a post I wanted to see and observe this behavior.

I'm not currently sure if it's the intended behavior for this case or not.

aeharding commented 1 year ago

@ashleyredzko can you take a screen capture when you have a moment? Thank you

ashleyredzko commented 1 year ago

@aeharding I actually observed it with a moderate press/hold while swiping down without step 1 as well

https://github.com/aeharding/voyager/assets/8700540/ff7c32cd-b58f-4d13-89b2-834f334d9d01

https://github.com/aeharding/voyager/assets/8700540/95d3048b-2d3e-4cc1-88cc-05428f111672

I can host a longer video/gif elsewhere if that would help at all.

aeharding commented 1 year ago

@ashleyredzko I'm still unable to replicate with the steps you listed. Can you double check in the Settings tab than you're on 1.19.2? And can you try restarting the app and replicating from the Home feed without doing anything else other than scrolling the feed after opening the app fresh?

Thanks

aeharding commented 1 year ago

Okay, I can replicate. But it only happens if you have 3-button navigation mode on in Android. Not swipe navigation mode.

aeharding commented 1 year ago

Well, now I can't replicate it again. I'm really not sure what's going on here, but it seems like it may be an Ionic bug.

ashleyredzko commented 1 year ago

@aeharding I'm not terribly familiar with this framework. It seems to think the screen is always at the top of the feed for me, so it always reads scrolling down as a refresh gesture. I can refresh by pulling down and holding for just under a second on at any point in the feed. Do you want any additional video to help with debugging?

aeharding commented 1 year ago

@ashleyredzko Okay, take two, please let me know if you experience any refresh issues in 1.20.0 :)

ashleyredzko commented 1 year ago

@aeharding Can confirm, works great on 1.20.0. Thank you for your hard work!

MisterFro9 commented 1 year ago

Unfortunately I am still experiencing it in 1.20.1. Pixel 6, Android 14, swipe navigation

https://github.com/aeharding/voyager/assets/77535145/a222d516-b86d-45d1-816a-fe5fd8ee3387

Screenshot_20231106-080709

aeharding commented 1 year ago

@MisterFro9 any information on how you made this happen would be appreciated

  1. Did you refresh the feed before?
  2. Is there a consistent reproduction?
  3. If not, how often can you trigger?

Thanks.

MisterFro9 commented 1 year ago
  1. Yes, due to this bug
  2. Yes. It's constantly like this on this version so far. It seems to happen regardless if I hide read posts or not. Does not seem to be happening in the Home tab, but does in All (perhaps number of posts contained in each of those feeds?). I'm using top-week for both. The web app via Firefox does not seem to have this issue for me.
  3. N/A due to 2.
aeharding commented 1 year ago

Interesting. If you do encounter it, try force restarting the app and see if it consistently behaves that way.

I also opened https://github.com/ionic-team/ionic-framework/issues/28470; perhaps the Ionic team will be able to shed some light and get to the bottom of this.

Thanks again for any help in debugging!

MisterFro9 commented 1 year ago

Force stopped, still happens consistently. No, no, thank you!!

MisterFro9 commented 1 year ago

This seems to be fixed!! I'm using 1.23.2 🙂

aeharding commented 11 months ago

More references of problem:

aeharding commented 11 months ago

At this point, I'm fairly certain that this is an Ionic framework bug. Please follow https://github.com/ionic-team/ionic-framework/issues/28470 for updates and hopefully this can be completely resolved soon. :)

ashleyredzko commented 10 months ago

Just bumping this. It's caused me to move on to other lemmy apps, but I'd gladly come back if this were fixed.

kxzl commented 9 months ago

Just chiming in that there is still a bug present

https://github.com/aeharding/voyager/assets/26233704/5e9b4c38-b05a-4a6d-95da-2f42c65b7f78

aeharding commented 9 months ago

Yes, it's being tracked as a bug in the upstream project:

https://github.com/ionic-team/ionic-framework/issues/28470

I'm not sure there's much that can be done until it is fixed there. Please upvote that bug so that the Ionic team can get it fixed.