this post was submitted on 27 Dec 2023
15 points (100.0% liked)

Summit

708 readers
1 users here now

Community to discuss Summit, a Lemmy reader for Android.

App (Play Store): https://play.google.com/store/apps/details?id=com.idunnololz.summit

APK: https://github.com/idunnololz/summit-for-lemmy/releases

Patreon: https://patreon.com/SummitforLemmy

Ko-Fi: https://ko-fi.com/summitforlemmy

founded 2 years ago
MODERATORS
 

I just started using Summit, coming from Liftoff that seems abandoned and does not support Lemmy 0.19.

It seems Summit don't have the ability to show all posts from all multiple accounts in single view, either Subscribed or All. Something for the devs to consider.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

Thinking about this more this is going to be hard to implement even for the current account. I'll give an example. Let's say you were sorting by top. Let's say you had 2 accounts signed in A on a.com instance and B on b.com instance.

Let's say A is the current account.

You refresh. The app pulls a.com's posts and b.com's posts. Due to b.com being a smaller instance a post (let's call it P) is fetched from b.com on page 1. This post is now shown on the combined view.

You scroll down and now more posts are fetched. Now post P is returned by a.com but on page 2. The issue is, originally P was shown but it was retrieved from account B so you can't comment on it with account A. But now we also have P from account A. By dedupping rules this new post P would not be shown.

There are way around this. Specifically every instance can translate links from other instances to its own instance, however the app will need to make these calls for every post which can be very expensive and taxing on the servers.

There is also the argument to be made that P from b.com should never be shown if P exists on a.com because A is the current user. This essentially forces the app to use the translation API which again is expensive.

[–] [email protected] 1 points 1 year ago (2 children)

Thanks for the insight. I wonder if the Liftoff devs decided the calls were worth it.

[–] [email protected] 2 points 1 year ago

Actually I just went and read Liftoff's source code. The "multi-instance" fetch logic is here: https://github.com/liftoff-app/liftoff/blob/d7fdeb0f948f0bb17c54617eb8c5b74f556fb01a/lib/pages/home_tab.dart#L377

The tl;dr is that Liftoff uses a very primitive way of handling it. From what I can tell Liftoff does not do any dedupping across instances so the same post may be shown multiple times. This actually makes the implementation much easier.

[–] [email protected] 1 points 1 year ago

Do you know if Liftoff dedupped? Eg. would you see the same exact post multiple times? If so that is one simple way to resolve the issue however the user experience is worse.