-
-
Notifications
You must be signed in to change notification settings - Fork 387
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
Remember position #89
Comments
I'd ❤️ if it would also remember the scroll position over application restarts. It should basically start from the last completely seen post. This was the main reason I dumped the official Twitter client (it did this most of the time, but not always) and bought Flamingo. |
I think this requires a lot of work, this means saving toots to the disk (DB e.g.). |
Yes, this is not a really easy task, but in my opinion really important for good user experience. |
+1 for very much wanting this. i don't understand the "saving toots to disk" business. upon loading a new batch, we'd like to jump to the scroll position of the oldest item we just loaded. maybe that's not as simple as it sounds? |
Oh cool! For me personally, a quick+dirty version would go a long way.
That extra stuff would be neat too, of course, but if the 90% case can
be solved without tons of work, that would be amazing. :^)
…On 10/26/17, Ivan Kupalov ***@***.***> wrote:
@penduin ah, I misunderstood what users want. What I see is bigger feature
when you see your timeline in the state you left it when you open the app
(like @iGEL said). I think we can fix what you want pretty easily but it's
much harder to save position after restart/switching tabs.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
#89 (comment)
|
Wouldn't a middle option be more appropriate? Saving the currently loaded toots, and caching the latest 20~or so and the rest between being loaded lazily? |
Does anyone know how Twitter apps with TweetMarker support do it? |
Huge +1 for this, it's pretty much the only thing I miss from Twidere - which loads the latest tweets and then adds a "Load More" button above the current position if there's more, I.e [New tweets] That's assuming you scrolled to the top and then pulled-down to refresh the timeline, so you're always at the "latest" position before loading new things. Something similar in Tusky would be amazing. Thanks for the excellent work either way, Tusky is great ;) |
In Twidere this feature is called "Read from bottom". It simply don't move the position to the top of the timeline when you refresh the tab. It doesn't mean it will fetch all the intermediate toots, there is a configurable limit and a button to load more intermediate toots if you wish, as @GregSutcliffe mentioned. |
Y'all, we want it,it's just a complex thing but @connyduck says it's planned right after pinned statuses & other profile improvements |
@charlag as you already wrote before: it would be nice if at least it remembered the position when doing a manual refresh. That'd be at least something. Sure it'd be even nicer to survive reboots – but please don't delay the "easy part" just because the other one is more complicated. Apart from that: maybe peek into the other Mastodon clients and see how they've solved it (if they did – I'm pretty new to Mastodon and haven't tried other apps yet). There's e.g. Mastalab, Subway Tooter, AndStatus, Twidere, 11t, Mastobone, twilatte, MouseApp, Troutoss, Toot … |
@IzzySoft I've implemented a thing which can remember you position during refresh now (it's not merged yet) but I've made it scroll to top if you refreshed manually and you're on the top. We can think about making it a preference. |
Sounds good, thanks! Looking forward to it getting merged and released. If you make it a preference, please consider it trinary state: 1) "always jump to top" (as it is currently), 2) "always keep position" (i.e. regardless on whether I was at the top), 3) "keep postition if not already at top". My preference would be 2) – as usually I am at the top when I refresh, and that's where I want to continue reading: with the toot next to the one I've seen before the refresh (so as long as that is there, I'm happy even if it's not trinary). To add some logic: 3) should rather be "when not at top, jump to the pace that was top before the refresh" – makes much more sense to me 😉 |
It all kinda makes sense to me, thanks for your input. I'd rather have one nice behavior rather than 3 of them, even if it's trivial to implement but I don't see how it's possible right now. |
Sure, @charlag – every big journey starts with a single step 😉 If by that "one nice behavior" you're referring to my second perspective aka "2)" I won't nag 🤣 But even if it is "keep position unless you're on top", a work-around would be scrolling down a little before refreshing. Ahem, wait: how should that work with "pull to refresh"? I see no other way to refresh (no button or something). And when you pull to refresh, you must be at the top. 😕 |
You could change position while it loads |
If I'm fast enough 🤣 OK, yes, I can try that (didn't think of it, thanks!) |
any news on this, especially the part about saving position across app restarts? just opening a link often causes Tusky to be shut down on my phone… :( |
Sorry, I'm terribly slow with my caching PR! I have an idea how to solve the main problem but it needs some work. I will try to work on this more in the following weeks. It's really not easy at all but maybe we can have minimal implementation which remembers only one part (where you closed it) |
@klausi hey, thanks for the support and perhaps it is the wrong place to discuss it but... |
@charlag sure, thanks for your contributions! I want to pay someone to implement this feature, thought l go to the core developers first instead of hiring an external android developer. Then conny pointed me to opencollective, so I thought this is how you want to receive money? We could also set up an external gofundme and hire a developer instead? Since it was already decided that this feature will be implemented now it is just a matter of planning and implementing? |
I have nothing against open collective, thanks for your support a lot! I don't manage it but my guess would be that if someone would have interest in taking the task it can be arranged. |
Update: with the timeline caching changes this issue is fixed for me, thanks a lot! Since a couple of versions Tusky does not jump around when I open it and I can read on where I left off. |
I can confirm what @klausi reported, but it still jumps when loading in the middle of the timeline (with the "load more" button). |
@mauricemeyer I've seen a really cool idea in one of the iOS apps but I can't remember which one, maybe it was Toot!. It was basically that if the gap is in the upper side of the screen it would say "load above" and if it's in the bottom side it would say "load below" We"ve been also missing min_id API support for that but now it's already very widespread so I think it would be cool to do something like that. |
Just to throw in my idea, how I think I would go about implementing this. The chances are high that I'm missing something or you already though about this and discarded this idea. I assume, you have a timestamp for each toot when it either was created or boosted to determinate it's order in the timeline. My idea is to remember the timestamp of the last fully visible toot for each account. To restore the position, you "just" need to determinate the position of the toot with that timestamp (or an older one, if it got deleted) and reset the scroll position. This obviously doesn't restore the 100% exact position, since users don't scroll exactly to fully visible toots, but I think it might be even more useful than the last mid-toot position. |
The markers API is similar: https://docs.joinmastodon.org/methods/timelines/markers/ |
Whoever figures this out will be my hero.
Losing position on 'load more' is pretty much the only frustration in the app.
…On Fri, 11 Nov 2022, at 6:01 AM, modelmat wrote:
The markers API is similar: https://docs.joinmastodon.org/methods/timelines/markers/
—
Reply to this email directly, view it on GitHub <#89 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAAOYAVFOU7YFBXD6XHISNDWHXOLFANCNFSM4DG2L4QQ>.
You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
The weird thing - also sort of workaround: when I click on 'load more' and immediately scroll the cards so that 'load more' is above the visible area I get keep my position - but this can get pretty tedious... 🥲 |
Thanks for the workaround. Works a treat.
…On Fri, 11 Nov 2022, at 10:38 PM, Guntbert Reiter wrote:
The weird thing - also sort of workaround: when I click on 'load more' and immediately scroll the cards so that 'load more' is above the visible area I get keep my position - but this can get pretty tedious... 🥲
—
Reply to this email directly, view it on GitHub <#89 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAAOYASBFUAO4TFYQ4FPYF3WH3DG7ANCNFSM4DG2L4QQ>.
You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
Yeah this is absolutely my biggest issue with Tusky, I (and I'm sure many others) like to read every single post and when I come back to the app I want to be where I was, this seems to mostly work but the load more button normally throws you right out of position and you've got to go looking for the last post you remember seeing and then continue scrolling up again |
The problem with the workaround is, if your server is a bit slow, you have no way of knowing when the new posts have finished loading. If you scroll back up too soon, you lose your position again when they appear.
|
Working on this in #3000 |
@nikclayton great news - thank you! |
Latest version of Tusky has a Reading Order setting in Preferences that seems to solve any issues I had, especially around the 'Load more' functionality. |
With #3000 merged and https://github.com/tuskyapp/Tusky/releases/tag/v21.0 released can this issue here be closed? |
The reading order preference has solved the issue completely for me so I would say so! |
Yes, thanks a lot. This is solved for me as well. |
I agree the wording for this new option is a bit confusing, since it doesn't affect the order in which the TL posts are displayed. I think a better wording would be "reading direction" (instead of "reading order") and then "from bottom to top" and "from top to bottom". Other than that, I too am very happy with this new feature. :) |
no! since scroll position gets lost when restarting the app. new toots are fetched and timeline jumps to top. witch is ridiculous. i actually never understood why this is... instead of fetching new toots and jumping to the top, when reopening, nothing should be fetched at all, and just be shown what was shown last. |
@ichier I definitely ask you to tone down. I don't expect to see words like "ridiculous" or "pretty basic" when talking to people who spend their time on providing us with something we can use. |
@guntbert okay, critique taken. sorry! |
A feature I miss from Twidere is the ability to remember position in a tab.
When you refresh the tab, you have to go through all new toots to get back to where you stopped reading.
Users should be able to choose if they want to stay in position and have new toots appearing just above.
Thanks,
The text was updated successfully, but these errors were encountered: