JetBrains / compose-multiplatform

Compose Multiplatform, a modern UI framework for Kotlin that makes building performant and beautiful user interfaces easy and enjoyable.
https://jetbrains.com/lp/compose-multiplatform
Apache License 2.0
15.9k stars 1.15k forks source link

Feature request: Handling Deep link clicks from browser #380

Open rustamsmax opened 3 years ago

rustamsmax commented 3 years ago

I've implemented deep linking in android app. I also trying to achieve it in desktop version of this app. But the handling must be processed outside the app. I think it's related to native distribution.

I've googled and found related answer from stackoverflow: https://stackoverflow.com/questions/20074610/handle-custom-url-schemes-in-an-os-x-java-application

rustamsmax commented 3 years ago

For example the telegram app handles url schema starting with t.me

As we discussed in JetBrains Compose chat, turns out, the telegram app handling tg:// schema not url.

At least having this feature implemented in native distribution would be good job.

image

olonho commented 3 years ago

Could you please elaborate why do you expect this kind of feature from UI toolkit Compose is? Looks like rather generic functionality that could be implemented in separate library. We not trying to implement all possible functionality inside Compose, to retain maintainability.

rustamsmax commented 3 years ago

What do you mean by separate library? Do we have to fork the desktop compose distribution plugin?

olonho commented 3 years ago

Cannot the app register click handlers on the first run? Why it shall be done in Gradle plugin at all?

igordmn commented 3 years ago

Cannot the app register click handlers on the first run

If we don't run the application at all after the installation, then there no be registered pair "protocol -> application" in the OS. It should be part of the installer.

jimgoog commented 3 years ago

Maybe the installer can allow the developer to run custom code as part of finalizing the install?

It would be ideal if something like this can be implemented by the user without needing custom support from our team for every little feature/thing that an installer might want to do.

okushnikov commented 2 months ago

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.