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

Summit

735 readers
21 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

Website: https://summit.idunnololz.com/

founded 1 year 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
[–] can@sh.itjust.works 1 points 10 months ago* (last edited 10 months ago) (1 children)

I stopped using Liftoff so someone else may be able to better describe it.

I used to have this account and beehaw signed in. When viewing my combined feed I would be commenting and voting from this account unless it was a beehaw post (as they defederated) where it would use my account there. Basically whatever account loaded the post would be in control.

This was nice with two accounts but I also had a lemmy.world account that I don't use and if I had it signed in to Liftoff any time I commented on a post from a lemmy.world community it would automatically make my comments come from the account I never used.

The difficulty is around handling what account to use. If the current account is used regardless of which post you tap then this is easy.

This is what I would have liked. I prefer to use one account unless there's a reason I can't (such as defederation) however I wasn't an active Liftoff user for long so it may be better to poll the liftoff community and see what'd they'd like. The dev has been MIA for months so I wouldn't feel bad doing so.

[–] idunnololz@lemmy.world 2 points 10 months ago* (last edited 10 months 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.

[–] can@sh.itjust.works 1 points 10 months ago (2 children)

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

[–] idunnololz@lemmy.world 2 points 10 months 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.

[–] idunnololz@lemmy.world 1 points 10 months 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.