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(tauri): integrate warp native api #913

Open
dariusc93 opened this issue Dec 4, 2024 · 3 comments
Open

feat(tauri): integrate warp native api #913

dariusc93 opened this issue Dec 4, 2024 · 3 comments
Labels
Desktop Issues or tasks related to Desktop App Feature Feature Request Low Priority Mobile

Comments

@dariusc93
Copy link
Contributor

While we could utilize web assembly using tauri, it would make more sense to integrate the native side of warp to give more flexibility across native platforms (ie desktop and possibly mobile), utilize optimizations that is not available on the browser (utilizing tcp and quic, upnp (if available and if desired), be able to utilize tor or other transport means (in the future), etc), and give an better experience while utilizing desktop and mobile while making it easier to debug issues.

Note:

  • There might be some changes needed to be done to the UI (none that I am aware of), which might be small (webview might vary but I dont foresee any changes needed)
  • The code that implements warp-wasm in js can possibly be reused when sending commands to tauri by checking to see if its the browser or tauri and use the correct function based on the check. Some that might not be reusable would be ones dealing with streams or events in which case would need to utilize tauri api to handle them in event handlers (or write a custom command to handle them on rust that can used from js via tauri command call)
  • If building for tauri, we could exclude the warp-wasm module, cutting down the overall package size (it makes no sense to include it while building and using native calls)
    • If included, we could have some type of flag or environment variable to be able to switch between the two (though would not be seamless and would likely need a restart to reinitialize)
      • This would not be recommended due to the difference in how the data is stored locally
  • At this time, this would be low priority but would be a nice-to-have type of thing on platforms where it would make more sense to utilize native over wasm where possible long term while utilizing wasm where feasible (eg browser).
@dariusc93 dariusc93 added Low Priority Feature Feature Request Desktop Issues or tasks related to Desktop App Mobile labels Dec 4, 2024
@tooshel
Copy link
Contributor

tooshel commented Dec 5, 2024

Have you had any luck building the app with tauri at all? My understanding is that many have tried but none have been successful. Maybe that's just for mobile and desktop is already using tauri?

@dariusc93
Copy link
Contributor Author

Have you had any luck building the app with tauri at all? My understanding is that many have tried but none have been successful. Maybe that's just for mobile and desktop is already using tauri?

Im not sure I follow? From my knowledge, others were able to build uplink web with tauri in the past unless you are referring to something else.

@tooshel
Copy link
Contributor

tooshel commented Dec 6, 2024

Im not sure I follow? From my knowledge, others were able to build uplink web with tauri in the past unless you are referring to something else.

Yeah, turns out we are using tauri for Desktop builds now. I just heard that we were switching from one to the other at various times so just wanted to be sure I understood the current state.

@stavares843 stavares843 changed the title feat(tauri): intergrate warp native api feat(tauri): integrate warp native api Dec 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Desktop Issues or tasks related to Desktop App Feature Feature Request Low Priority Mobile
Projects
None yet
Development

No branches or pull requests

2 participants