this post was submitted on 11 Jun 2023
68 points (100.0% liked)

Jerboa

10299 readers
1 users here now

Jerboa is a native-android client for Lemmy, built using the native android framework, Jetpack Compose.

Warning: You can submit issues, but between Lemmy and lemmy-ui, I probably won't have too much time to work on them. Learn jetpack compose like I did if you want to help make this app better.

Built With

Features

Installation / Releases

Support / Donate

Jerboa is made by Lemmy's developers, and is free, open-source software, meaning no advertising, monetizing, or venture capital, ever. Your donations directly support full-time development of the project.

Crypto

Contact

founded 2 years ago
MODERATORS
 

Or maybe it is only me?

When I'm clicking a link to a community on the instance I'm logged into (Lemmy.world), the community opens in my web browser rather than in jerboa. Given, this is annoying especially when I want to subscribe to that community.

I should note that I'm using a url checker app so this might be the reason for such behavior.

top 17 comments
sorted by: hot top controversial new old
[–] mp3@lemmy.ml 14 points 1 year ago* (last edited 1 year ago) (2 children)

IIRC the Android OS requires the app to define which URL handlers it should be able to intercepts at compile time as a security measure so that an app can't decide to intercepts URL it shouldn't after being installed without your knowledge or consent.

The nature of the Fediverse makes it difficult to achieve that without hardcoding and maintaining a list of instances URLs in the app.

[–] GissaMittJobb@lemmy.ml 7 points 1 year ago (2 children)

Only for external links opened through intents. Within the app, you are free to intercept all link opens.

[–] mp3@lemmy.ml 5 points 1 year ago* (last edited 1 year ago) (1 children)

Which is what OP is inquiring about, redirecting external links through intent (clicking link in a web browser and having them open in Jerboa).

[–] GissaMittJobb@lemmy.ml 4 points 1 year ago (1 children)

That's not how I interpreted it - I understood it as OP being logged in through Jerboa, and then clicking a community link, and subsequently having it open in the web browser, in place of opening in Jerboa.

[–] haelusnovak@lemmy.world 2 points 1 year ago (1 children)

This is my biggest frustration as I try to find new communities, via the NewCommunities community. Each link opens the browser, which for some reason continuously has me signed out, so I cannot join easily. 😵‍💫🫠

[–] radarsat1@lemmy.ml 2 points 1 year ago* (last edited 1 year ago)

And this is an even bigger problem on communities on other instances, since you are not only signed out, you don't even have an account there. So you are forced to go back to your instance and search for it, hoping that it is seen through federation. imho what should happen in that case is that Jerboa should "adapt" the URL so that you see the community as from your own account's instance. So if I click on a link to blah.ml/c/blahcommunity, that should actually open lemmy.ml/c/blahcommunity@blah.ml. Hm, but actually it shouldn't do that because it should just open the community directly in Jerboa. But that would be second best.

[–] bappity@lemmy.ml 1 points 1 year ago (1 children)

would this be able to be bypassed if you add a link to open by default that redirects to the actual link?

[–] GissaMittJobb@lemmy.ml 1 points 1 year ago (1 children)

So how I would implement this would be to instead of firing an intent directly on tapping a link, instead have it defer to a service where link handlers are registered. The service would check if there are any interested handlers for the provided link - if yes, it would be the thing opening the link. If not, the default path of opening the link would activate

The functionality would then be implemented by registering a link handlers for all Lemmy-instances the app wants to handle (this can be fetched remotely, with a fallback to a local well-known list).

This design could then be extended for an arbitrary amount of link handlers. You could add one for YouTube-videos that opens the YouTube-SDK, one that opens images in an inage-screen, one that opens videos in a video playback-screen, etc.

[–] Sewot@feddit.de 1 points 1 year ago (1 children)

I dont really know how HTTP Requests work but wouldnt it be possible fo Jerboa to open all Links with an in app Browser and checking for a lemmy flag in this request? I imagine it can be janky if the in app browser first opens a new window and falls right back to the app but if this is possible, there would be no need to have a never complete list since everey instance will have this flag.

Sorry if i wrote nonsense, just an idea

[–] GissaMittJobb@lemmy.ml 2 points 1 year ago (1 children)

Substitute 'in-app browser' for 'service' in your sentence and it says essentially the same thing as what my sentence did.

So yeah, not nonsense - totally sensible.

[–] Sewot@feddit.de 1 points 1 year ago

Oh, i understood your way of doing it as a service that checks a list (remote or local) if this is an instance, where the list needs to be updated regulary, thats why i wanted a flag that tells the service "Hey, i am a Lemmy instance!" when it checks every link before opening.

But yes, your implementation would be a future proof idea that would work like a charm!

[–] a_new_sad_me@lemmy.world 2 points 1 year ago

I see, it makes sense. I wonder if there is a way to bypass that. For example, long pressing a link inorder to open an option such as "search for community". The inability to switch between communities in efficient way in the app (any app) is a major annoyance.

[–] derived_allegory@beehaw.org 7 points 1 year ago* (last edited 1 year ago)

I think they might have a more general feature in mind. Basically when you click a link, it will check if it is a fediverse link that it can display, so it will not be limited to the instance you have logged in or hardcoded instances.

Tusky does something similar. The downside is that it is not so responsive when opening a link. But the nature of fediverse makes link opening in app hard to implement.

[–] CosmicGiraffe@lemmy.world 7 points 1 year ago

I see this behaviour too, without a URL checker app

[–] sanguinepar@lemmy.world 5 points 1 year ago

Oh, ha ha, I just asked more or less the same question.

[–] TheYang@lemmy.ml 3 points 1 year ago* (last edited 1 year ago) (1 children)

So, while the experience certainly isn't terribly smooth, there are changes you can make, to somewhat alleviate this.

see here

tl;dr:
Open Androids App Info of Jerboa -> Open by Default -> Check all available links

it's very imperfect, as android apparently needs this list specified at compile-time. Not sure why it's currently disabled by default, devs may have missed something, idk.
So this list will never include every instance, especially regarding new ones, but it's a start.
lemmy.ml beehaw.org, feddit.de feddit.it lemmygrad.ml are there. lemmy.world unfortunately isn't (yet)

[–] a_new_sad_me@lemmy.world 1 points 1 year ago

That's a great start. Thanks!

Maybe we should add a bug report on that?

load more comments
view more: next ›