Custom deltachat URL/URI SCHEME

Why

How (this section is in a draft state.)

There are two options that come to my mind about this:

Option A

Register an classical UrlScheme like deltachat:\\[payload] or dc:[payload]

Advantage:

  • Goes directly to the specified app
  • Doesn’t work if it’s not installed and registered by the app

Option B -Deeplinking

Register Deltachat as handler for https://delta.chat (or better for a subdomain like link.delta.chat) - urls.

Advantage:
We can display a fallback site that tells the user to download DC when they don’t have it.

Disadvantage:

  • might not work on old devices.
  • Puplic key gets send to a webserver when it’s in the url [*no concern if we could use an anchor for it]

We could also use booth, with A as a fallback -> can be used on the info site as a link. Also share-with-deltachat links like

<a href="dc://share?msg=Hey did you see this new blogpost at delta.chat">Share on Delta chat</a>

are better to implement without a fallback to the site in option B.

*using anchor for private key: anchors aren’t sent to the server, so private key/ email address can stay safe. Also js could read it, or giving a fallback link.( you click on dc link (option b); you don’t have dc, so the link gets opened in the browser and you get the fallback page that suggests you to download dc; after you downloaded dc you might have forgotten the link, so you come back to the fallback page which is still opened in you browser and on that fallback page there is also a link to open it in dc (probably the same link with the anchor and a fallback link for older devices) that knows the anchor information over clientside js)

2 Likes

Hey,
The description for Option B is missing (or?). Could you please write a line what is meant with option B?

I the information I forgott, any more questions / things I missed?