deltachat / deltachat-desktop

Email-based instant messaging for Desktop.
GNU General Public License v3.0
915 stars 166 forks source link

Register to handle i.delta.chat links #3657

Open Simon-Laux opened 8 months ago

Simon-Laux commented 8 months ago

I'm not completely sure if that is possible on desktop, but it is definitely possible on mobile (android and iOS).

https://github.com/deltachat/invite/issues/19

DC is registered as a handler for the custom schemes at https://github.com/deltachat/deltachat-desktop/blob/master/build/gen-electron-builder-config.js#L21, not sure if it is possible to handle deep-linking URLs as well, so this would require diving into electron and electron-builder documentation.

Simon-Laux commented 8 months ago

for macOS there is https://developer.apple.com/documentation/bundleresources/applinks, not sure yet how to set the associated domains with electron builder, but it should be possible.

Simon-Laux commented 8 months ago

we need to add this to the entitlement file:

<key>com.apple.developer.associated-domains</key>
<array>
    <string>applinks:i.delta.chat</string>
</array>

as the link file on the server (https://i.delta.chat/.well-known/apple-app-site-association) is cached on Apple CDN we can use applinks:i.delta.chat?mode=developer instead to skip the CDN for development (when we need to change the file on i.delta.chat for example for updating the app id of desktop, because it might need some code in front of it like the iOS one did, currently I'm not sure what kind of code this is, might be the apple team id.).