If I was to rewrite @IceCubesApp timeline I would adopt the official @Mastodon app behaviour. Load the 20 newest posts, and have a button to load the gap. Would people be ok with that?
One of the biggest performance hit in @IceCubesApp is tthe timeline. By loading 800 posts on top of your current position the app hitches etc.. because this is an intensive operation in #SwiftUI
@dimillian @IceCubesApp Automatically load 20 posts depending on scroll position?
@dimillian @IceCubesApp it’s one thing (and generally i like it to see and catchup with all i missed), but if i WANT to skip to top, I use double tapping the top of the screen. And then it still downloads and renders in batches and oldest first. That i find the most annoying honestly.
(Not sure apps can even distinguish that, i know it wasn’t possible in the past at least)
@dimillian @IceCubesApp So, there is no equivalent in SwiftUI/Combine to prepareForReuse() in UITableView?
@dimillian @IceCubesApp @Mastodon yes! I follow lots f people in different time zones, so in the morning I refresh and scroll back 2 hors. I’d like to be able to load the last two hours in chunks.

@dimillian That would be fine I think! Especially if it’s a button instead of doing it automatically.

(at the moment when I open the app, I often see an interesting post and go to select it but before I have the time to do that the timeline automatically moves to another position 🤔)

@elduvelle If you're at the top, the timeline have a pin to top behaviour, new posts will be streamed in. If you scroll a bit your position will be kept.
@dimillian I see, that’s great to know, thanks!!
@dimillian @IceCubesApp @Mastodon Fine with the default being “20most recent”

@dimillian Would it still be possible to read back to front? Because what I like about IceCubes a lot is the possibility to scroll from the older posts until I arrive at the top, even if it is a lot of posts and takes some time.

If I read front to back, I need to remember where I have previously been.

@IceCubesApp @Mastodon

@hnygd @dimillian @IceCubesApp @Mastodon This. I got used to this with Tweetbot, and now starting at the top and paging back until you see something familiar feels more like a cognitive load.
@dimillian this would definitely break the way I use @IceCubesApp but there are lots of clients out there and I'm sure some of them will keep supporting folks like me who read the whole timeline in chronological order... do you keep metrics on how often people press "refresh" vs "resume" today?
@roguelazer @IceCubesApp No because for now Ice Cubes have no metrics, but this will change soon
@dimillian @IceCubesApp @Mastodon I’d hate it, enough to look at switching back to @ivory
I want to see a consistent continuous timeline of posts from the most recent one viewed all the way up to the latest. Even if that means occasional stuttering. I don’t want to be continually interrupted by tapping a button to load missing posts, always feels “unfinished” seeing apps with that behaviour.
@dimillian @IceCubesApp @Mastodon My timeline is never very busy, so fine with that
@dimillian @IceCubesApp @Mastodon of course I would be ok with it. It is your app. This being said I would appreciate if there were a setting to keep the current behavior. I personally appreciate opening the app and then scroll all the way to the top, from my current position, catching with the 50 or 400 new toots. 🙏
@maccatalan @dimillian @IceCubesApp @Mastodon My vote would definitely be for an option to load 20 or All.
@dimillian @IceCubesApp Thx for asking, but: Nope, not fine for me. I like to read my timeline in chronological order and complete - not in chunks, even less with forced interaction to do so.
@dimillian could you just load the next 20 and do a reverse- infinite scroll?
@dimillian @IceCubesApp @Mastodon I much prefer the current icecubes behaviour, even if it has an impact on performance
@dimillian Wonder if there’s any other way to optimise performance? Is it because of SwiftUI itself, or a particular detail of the implementation? Seems like a fun challenge 😃
@dimillian @IceCubesApp @Mastodon to be honest I’m fine the way it is because I’m not seeing those speed issues. Maybe an option for those who want to do it? I’m always pinned to the top unless my scrolling was interrupted

@dimillian @IceCubesApp @Mastodon As long as it didn’t break the way I use the app, from older posts to newer, and is optional then I have no problem.

If I couldn’t, then I would be very disappointed. I will not scroll from new to old, simple as that.

@dimillian @IceCubesApp
No.
I only follow people that post what I enjoy reading; that is what following means to me. I find it easier to read the time sequence as it was produced rather than read from current to past. Take a stand and be that App instead of reading now to the past as other apps may do.
@dimillian @IceCubesApp @Mastodon
If there are many users that use it for the here and now news then have a different timeline mode in the sidebar for that that ,essentially a reading preference. Today, you touch the timeline icon, to go the now posts. Perhaps having separate buttons allows both markers on the gap. Now looks after itself but you then need a way to bring forward the “last read” marker for users that do not have the time to catch up on the people that follow.
@dimillian @IceCubesApp @Mastodon I read in chronological order, and skip to top only if I have way too much to catch up on. While I have your attention, if I asked for one fix it would be to hide reposted duplicates.
@dimillian @IceCubesApp @Mastodon Yes as long as the “load the gap” button was readily available. I find when I’ve been away for a while and toots build up I just hit “refresh.” Something in between would be nice.
@dimillian Load more in the official app works so bad that I’ve switched to Ivory where gaps are handled so good that I don’t see this button
The Feditext app has a feature like that. And it even lets you choose whether to load down or load up.
I like it.
@dimillian @IceCubesApp
@dimillian @IceCubesApp @Mastodon what if you rewrite the timeline using UICollectionView with SwiftUI cell configuration?
@Mecid @IceCubesApp @Mastodon sadly that would be one of the only solution. But there is no guarantee that my complexe SwiftUI cell will works properly. I’ll try someday. The thing is that the List middleware is supposed to be just that :/
@dimillian @Mecid @IceCubesApp @Mastodon I read something about issues with automatic cell sizing? Like performances when using UIHostingConfiguration were not great because of that. Maybe wrong…
@alpennec @Mecid @IceCubesApp @Mastodon yeah and I think it’s the same issue pure SwiftUI list hit. And in Ice Cubes there is no way to have static or manual cell sizing…
@dimillian @IceCubesApp @Mastodon I would prefer to load the 20 oldest messages and a button to load the next 20.
@dimillian It's an elegant approach. Makes sense to me!