TryQuiet / quiet

A private, p2p alternative to Slack and Discord built on Tor & IPFS
https://www.tryquiet.org
GNU General Public License v3.0
1.94k stars 85 forks source link

User clicking tryquiet.org/join invite link should see fallback download instructions if they don't have Quiet #1282

Open holmesworcester opened 1 year ago

holmesworcester commented 1 year ago

In WhatsApp, if a user tries to join an invite link without having WhatsApp, they will see a helpful page telling them that it looks like they don't have WhatsApp and inviting them to download it.

We should give users a similar page using similar techniques. See: https://chat.whatsapp.com/blah

There might be something tricky about this because Signal doesn't do it. Let's try!

Designs: https://www.figma.com/file/y8h6w8PYR9jyI3zjYHL9Cl/Mobile-%2B-desktop-%2B-prototypes?node-id=1427%3A35904&t=Rda4DFJRzND1fEIl-4

Webflow: https://github.com/TryQuiet/quiet/files/10945287/tryquiet.webflow.3.zip (related to #1279)

siepra commented 1 year ago

Unfortunatelly I wasn't able to achieve the goals listed here. In context of desktop applications, people usually say that it's not possible due to security reasons. I've been trying out some workarounds unsuccessfully.

For the Android app it seemed possible but the feature we'd have to use is experimental and it didn't work for me so I decided to drop it as we have the following task prioritized anyway https://github.com/TryQuiet/quiet/issues/1289

With the iOS app I wasn't even trying as we still don't have it published on App Store.

holmesworcester commented 1 year ago

Bummer! This is important for people not getting stuck. Questions:

  1. What does WhatsApp do to achieve this? Can we see it in the javascript here?
  2. What if we trigger the "quiet://" uri to open, and then after a few seconds load a new page with the "it looks like it didn't work" message? Wouldn't that achieve the desired result of telling people to get Quiet.
  3. If we implement https://github.com/TryQuiet/quiet/issues/1289 and we can rely on the mobile apps to open the link before even landing on this page, maybe the page itself can be a "you need to get quiet" message.
siepra commented 1 year ago
  1. WhatsApp doesn't work for me either. I was trying to inspect their page to see what they do but it's not straightforward.
  2. I was trying out this workaround but it's far form perfect (there's no way to distinguish if the app's been actually opened).
  3. I don't understand. I think #1289 assumes the link will get the user directly to the app/store but I don't know yet how exactly it works.
holmesworcester commented 1 year ago

What's the behavior you see in WhatsApp?

Have you tried on desktop (mac) and android?

EmiM commented 1 year ago

WhatsApp does not have a fallback. If user doesn't have WhatsApp installed, the "join" button on their webpage just opens xdg-open prompt and then clicking on 'open' does nothing.

Image

holmesworcester commented 1 year ago

@EmiM is this what we do now? if so we can close this.

holmesworcester commented 5 months ago

WhatsApp does not have a fallback.

I see a fallback both in Chrome on ChromeOS and in Firefox on Debian.

Chrome: https://github.com/TryQuiet/quiet/assets/213678/b25dbb7f-3ac8-4a8e-b86d-5271ba0d61ed

Firefox: https://github.com/TryQuiet/quiet/assets/213678/8cf76bdb-c073-4536-a4ec-c1d8406a9a82

(Returning to this because it has been coming up as a problem in demos.)