Beagle not registered to handle `xmpp:` URIs (#216)
wojciech.kapcia@tigase.net opened 5 years ago

I tried to click on xmpp:tigase@muc.tigase.org?join and... it opened Adium. I think ages ago I registered it to Adium, but Beagle should at least ask if we want to register it to handle this URI?

Andrzej Wójcik (Tigase) commented 5 years ago

As I recall it is no longer possible to access this API if we are using hardened runtime (a more secure version of the runtime, which may be soon enforced by Apple for AppStore).

Call to LSSetDefaultHandlerForURLScheme to change default app handling URL is not allowed in this mode (it returns an error!).

wojciech.kapcia@tigase.net commented 5 years ago

Is the hardened runtime enforced now? Can we not use it until Apple mandates it? Doesn't Apple offers api to request application to check if it's default and suggest switching? There is something like that for browsers (they can check if they are default and also execute action do change default)

Andrzej Wójcik (Tigase) commented 5 years ago

It is not mandated but switching from it would require significant work. It is possible to check if we are default (if I'm correct) but API to change is disabled - returns an error every time. As far as I know, there is a workaround with shipping external program just to change this setting and calling it, but if I recall correctly it caused issues (2 apps - 1 "secure", 1 not secure).

wojciech.kapcia@tigase.net commented 5 years ago

AFAIR telegram had similar issue with using "extension" for sharing files and supposedly it wasn't possible to use those extensions on non-appstore versions but they somehow fixed that.

At any rate - is it even possible to change those registration/default apps via macOS configuration? If not, then what is the point of having support for xmpp: URI?

Andrzej Wójcik (Tigase) commented 5 years ago

Actually, Apple decided to remove settings pane related to changing assignment of app to uri some time ago (almost at the same time when they introduced those limitations).

I'll try to look into this issue and how it is fixed by others but I'm not sure if it will be easily fixable.

wojciech.kapcia@tigase.net commented 5 years ago
Andrzej Wójcik (Tigase) commented 5 years ago

I've ended up with the creation of a helper app that is now available in Dropbox. The source code of the app is on GitHub but in "private" repository and I would prefer to keep it that way as I've not checked if any "private" files were not uploaded.

In BeagleIM in Settings, there is now a button that opens a web page in the browser https://github.com/tigase/beagle-im/wiki/Default-application. This page will contain details related to this process of setting an app as a default handler for XMPP URI.

For now, there is no page and the app is not public as I need a volunteer to test if the app (from Dropbox) works correctly. If so, I'll make a next beta version of BeagleIM and prepare the webpage and release this helper app.

wojciech.kapcia@tigase.net commented 5 years ago

For now, there is no page and the app is not public as I need a volunteer to test if the app (from Dropbox) works correctly. If so, I'll make a next beta version of BeagleIM and prepare the webpage and release this helper app. @andrzej.wojcik Could you re-assign it to me when it will be ready to test?

I tested version: Version 4.0 (87) from brew and it seems to work ok.

issue 1 of 1
Type
New Feature
Priority
Normal
Assignee
Version
4.0
Spent time
4h 30m
Issue Votes (0)
Watchers (0)
Reference
tigase/_clients/beagle-im#216
Please wait...
Page is in error, reload to recover