Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add deep link plugin for mobile #504

Merged
merged 39 commits into from
Sep 14, 2023
Merged

feat: Add deep link plugin for mobile #504

merged 39 commits into from
Sep 14, 2023

Conversation

FabianLars
Copy link
Member

@FabianLars FabianLars commented Jul 17, 2023

This is not meant to be merged! It's only to discuss the changes presented here, changes that are still TODO / need to be discussed, and to track what changes are required outside of the plugin (in tauri's bundler f.e.) nvm i guess

The biggest open question is how to handle the required Manifest change. I think ideally there'd be a way to reference the consuming app inside the plugin for example via a handlebar thingy that the cli replaces if that's possible. If it isn't then i think that leaves us with 2 options:

  1. The user has to modify the manifest in their gen folder

  2. the cli modifies that same manifest (or some other one?) at build time, or creates a new one somewhere and merge it into it

  3. is basically like 0) with less plugin-specific which may help for other plugins in the future
    -> after a small convo with lucas this sounds pretty difficult

todo list (don't have to be resolved, but talked about at least):

  • Android Manifest changes
  • Document how to set up assetlinks.json (short)
  • Explore "stupid" deep links on Android for easier testing without having to host assetlinks.json with a debug key. -> The current idea is to register the desktop schemes on mobile in development.
  • After that we can hopefully not depend on my website (not that i actually care about that)
  • Replace the window.__TAURI_INVOKE__ usage with listen in the next alpha release (marked as TODO in the code)
  • Consider splitting up the initial intent and last intent (marked as TODO in the code)
  • Remove the other event TODOs i forgot in there - waiting for Lucas' changes to not cause any conflicts.
  • Obviously the iOS part is missing (Lucas is working on it)
  • Switch branch back to lucas' fork -> probably part of the incoming iOS changes
  • With the iOS part we'll also need to figure out an API that makes sense on both platform (we mostly already know how it works on desktop).
  • Get some feedback on the api and see what issues users have consuming them
  • The 3 desktop platforms should not be added in this PR imo
  • Ask the tauri-plugin-deep-link maintainer if they want to transfer the crate name to us 😂

@socket-security
Copy link

socket-security bot commented Jul 17, 2023

New and updated dependencies detected. Learn more about Socket for GitHub ↗︎

Packages Version New capabilities Transitives Size Publisher
vite 4.3.9 None +1 3.38 MB vitebot
typescript 4.8.2 None +0 68.7 MB typescript-bot
covector 0.9.0...0.10.0 None +0/-0 1.36 MB jbolda

@lucasfernog
Copy link
Member

I see we're duplicating the config for build vs runtime. We can reuse the same config in an ugly way using #[path = "src/config.rs"] mod config in the build.rs file :|

@FabianLars
Copy link
Member Author

yeah, i saw that in some Stackoverflow answer but wasn't sure if we're comfortable with that. Or well, could be worse i guess, so why not

plugins/deep-link/Cargo.toml Outdated Show resolved Hide resolved
plugins/deep-link/Cargo.toml Outdated Show resolved Hide resolved
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
@FabianLars FabianLars marked this pull request as ready for review August 16, 2023 10:22
@FabianLars FabianLars requested a review from a team as a code owner August 16, 2023 10:22
@FabianLars
Copy link
Member Author

marked as ready for review so we can get it merged & released asap as discussed on discord. There are still a few things we/i should/want to look into but this PR is already large enough 👍

@lorenzolewis
Copy link
Member

Related to #536 (comment), I've opened an issue in tauri-apps/governance-and-guidance#42 to discuss this further, pending a non-CrabNebula board member to weigh in on this. CC @Beanow

@lucasfernog lucasfernog merged commit eccd6f9 into v2 Sep 14, 2023
42 checks passed
@lucasfernog lucasfernog deleted the deep-link branch September 14, 2023 11:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants