ferdium / ferdium-app

All your services in one place, built by the community
https://ferdium.org
Apache License 2.0
2.76k stars 163 forks source link

Feature request: open external links (e.g. to register as a WhatsApp client) #1533

Open RJVB opened 7 months ago

RJVB commented 7 months ago

Preflight Checklist

Problem Description

If you want to forward some link via the share button on a website, say via WhatsApp, you'll be presented at some point with a choice of how to get that link into your client, or the browser will try to launch an external handler directly.

Messaging services that provide desktop clients can be registered to handle this kind of information sent by the browser, AFAIK usually in the form of an URL with parameters. I know of no way to achieve this with Ferdium.

Proposed Solution

Let Ferdium handle such URLs via the commandline, launching if not already running or else sending it to the running instance and switching to the intended service. Where necessary the recipe definition could provide the list of URL templates handled.

Alternatives Considered

Not really an alternative but it would be helpful in general if Ferdium handled the --help CLI argument in the usual way ;)

Additional Information

This may not be as trivial as I think: I just copied the "URL command" to forward a piece of information via WA into the URL bar of my WA service and that caused the service to hang in the same way as WA updates hang.

fleytman commented 6 months ago

This feature is also sorely lacking.

I would add that there could be more than 1 service that could process the link, it would be good to make possibilities 1) registration of a specific service in the system to process links 2) registration of ferdium as an application for link selection, and in ferdium itself the possibility to choose from the list of services that have been registered for processing.

P.S. On macos I tried using https://github.com/johnste/finicky to register wa.me links as ferdium. But ferdium doesn't realize that it needs to open a link in an existing service.