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
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
This isn't difficult to add. Most of the groundwork is already done by the multi-community work. In a way this is just a special multi-community.
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. Is that what liftoff did? Or did liftoff also auto-switch account for you when you tapped a post that isn't for the current account?
Each post in Liftoff are marked with "via {instance-domain.tld}" so you would know which account will be associated with when you upvote or comment on it.
There's also the ability to switch instance at any moment, when viewing the post or community, so that sometimes when you found post from All feed but want to comment a post or subscribe community using other account.
If you have overlapping communities subscription in your multiple accounts, you could be seeing duplicates of the same post, but I think that was addressed in the last update as I don't seeing it anymore, at least before my instance updated to v0.19 where it made Liftoff no longer working for me. The duplicates post may appear more in All of all accounts. There's also Local of all accounts, but I rarely use it.
Yeah it seems like the multi-community feature, but this is an auto-populated multi-community feature instead, like the Subscribed community.
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.
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.
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.
Thanks for the insight. I wonder if the Liftoff devs decided the calls were worth it.
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.
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.