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

bug(gui-client/linux): The Tauri GUI Client doesn't work on Ubuntu 24.04 #4883

Open
ReactorScram opened this issue May 3, 2024 · 3 comments
Assignees
Labels
area/tauri_client The Windows and Linux Tauri GUI clients needs triage Issues opened by the public or need further labeling
Milestone

Comments

@ReactorScram
Copy link
Collaborator

ReactorScram commented May 3, 2024

Describe the bug

The WebKit library in Ubuntu 24.04 has a different name than the ones in Ubuntu 20.04 and 22.04, and Tauri can't seem to dynamic link with it.

To Reproduce

Try to install any deb package from CI on an Ubuntu 24.04 system. Apt will fail with unmet dependencies since webkit2gtk 4.0 is not available anymore on Ubuntu 24.04.

Expected behavior

Expected a package built for Ubuntu 20.04 to work on Ubuntu 24.04.

Screenshots / Logs

Internal discussion https://firezonehq.slack.com/archives/C067DSY7TFX/p1714683378145499

Platform (please complete the following information)

  • Component (i.e. macOS client / Linux client / Gateway / Admin portal): GUI Client
  • Firezone Version (e.g. 1.0.0 or N/A): N/A
  • OS and version: (e.g. Ubuntu 22.04 or N/A): Ubuntu 24.04
  • Deployment method: (e.g. Docker / Systemd / App Store or N/A): Debian package

Additional context

Fixes considered:

  • Build 2 deb packages, one for 24.04 and one for 20.04 + 22.04
  • Ditch Tauri + WebKit for something smaller like FLTK, GTK+, LVGL, etc. - Lots of work, may not look as slick without CSS
  • Require 2 downloads for the GUI, AppImage for the GUI itself, deb for the IPC service - Inconvenient for users, AppImages built on 20.04 don't work on 24.04
  • Bundle WebKit ourselves in the deb package - Might not work, WebKit expects the worker binaries at a certain path. If I install to that path, it'll break on 20.04, if I don't, it'll break on 24.04.
  • Build the GUI as an AppImage, then embed that AppImage inside a debian package - An AppImage built on 20.04 doesn't render anything on 24.04
  • Switch back to AppImage bundling - An AppImage built on 20.04 doesn't render anything on 24.04
@ReactorScram ReactorScram added the needs triage Issues opened by the public or need further labeling label May 3, 2024
@ReactorScram ReactorScram added this to the 05/24 milestone May 3, 2024
@ReactorScram ReactorScram self-assigned this May 3, 2024
@ReactorScram
Copy link
Collaborator Author

The AppImage bundle isn't working right in 24.04 either, just shows white in the windows, can't even get a context menu
image

@ReactorScram
Copy link
Collaborator Author

If we switch toolkits, we can still use tray_icon and tao, which are the underlying crates that Tauri uses to spawn a tray icon and menu. (tao is the windowing framework)

I tested those just now and it's no problem to build on 20.04 and run on 24.04.

We could probably find something that can draw inside of a Tao window.

It's a lot of work though, that's maybe a "after a year" solution. If Github gets a 24.04 runner in May or June, we can just build 2 deb packages.

github-merge-queue bot pushed a commit that referenced this issue May 6, 2024
```[tasklist]
### Before merging
- [x] (FAILED) Test CI deb on Ubuntu 24.04 #4883
- [x] Wait for everything else to merge: #3884
- [x] Fix #4889
- [x] Fix #4890
- [x] Test on Ubuntu 20.04 (683bddc passed)
- [x] Test on Ubuntu 22.04 (683bddc passed)
- [x] diff between main and 683bddc to make sure nothing in the code changed
- [ ] Someone other than me should give it a once-over. `intended_behavior.md` has the manual smoke test I've been doing on it. Install script is <https://github.com/firezone/firezone/blob/a943a9dba1797317327563bb2de48e22f239175a/scripts/firezone-client-gui-install.sh> Deb package from CI is <https://github.com/firezone/firezone/actions/runs/8972824465/artifacts/1477261361> 
```
github-merge-queue bot pushed a commit that referenced this issue May 7, 2024
```[tasklist]
### Before merging
- [x] (FAILED) Test CI deb on Ubuntu 24.04 #4883
- [x] Wait for everything else to merge: #3884
- [x] Fix #4889
- [x] Fix #4890
- [x] Test on Ubuntu 20.04 (683bddc passed)
- [x] Test on Ubuntu 22.04 (683bddc passed)
- [x] diff between main and 683bddc to make sure nothing in the code changed
- [ ] Someone other than me should give it a once-over. `intended_behavior.md` has the manual smoke test I've been doing on it. Install script is <https://github.com/firezone/firezone/blob/a943a9dba1797317327563bb2de48e22f239175a/scripts/firezone-client-gui-install.sh> Deb package from CI is <https://github.com/firezone/firezone/actions/runs/8972824465/artifacts/1477261361> 
```
@ReactorScram
Copy link
Collaborator Author

Probably same as this tauri-apps/tauri#9662

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/tauri_client The Windows and Linux Tauri GUI clients needs triage Issues opened by the public or need further labeling
Projects
None yet
Development

No branches or pull requests

1 participant