Closed AnuraagReddy123 closed 2 weeks ago
Thanks for raising this issue!
Tuba can do this already!
Screencast from 2024-06-14 10-49-05.webm
But by clicking/tapping and dragging down.
Lengthy explanation on why it works like this:
TLDR: We've tested out a lot of different ways to do this and this was the most reliable. That's not to say that it cannot change in the future, but for now this is the best of all worlds.
Pull to refresh was first suggested on #155. This is a new pattern / not found in any other GNOME app so it was up to me to figure out all the details.
In my comment https://github.com/GeopJr/Tuba/issues/155#issuecomment-1560440341, you'll see my first implementation. It worked similar to what you suggested, if the user scrolled 'harder' at the top, it would show a spinner, and if they scrolled to the top again, it would refresh.
That however did not feel as natural. It was hard to discover and even hard to trigger, plus it required a scroll wheel.
So instead on #283, I changed it to the 'drag' behavior.
Design wise, it was similar to apple's
But later due to some performance experiments, it changed to the 'android'-style one (the one you see at the first recording in this comment)
Describe the request
Apps like Reddit, Mail in iOS have this feature, that refreshes the app once you pull down on the screen.
A feature like this would be nice to have in Tuba but I am not sure how feasible it would be to implement. I think the app detects when the user has reached the top of the page, as an animation plays out when you reach the top. So maybe the app can be refreshed when that animation is completed?
https://github.com/GeopJr/Tuba/assets/66117695/01e0500a-69c5-4ef7-9842-21ab934074eb
Implementation Details