[PR #7040] [client] Ship a legacy GTK3 UI package for distros without WebKitGTK 6.0 #27877

Open
opened 2026-08-05 07:09:21 -04:00 by saavagebueno · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/netbirdio/netbird/pull/7040
Author: @pappz
Created: 8/3/2026
Status: 🔄 Open

Base: mainHead: fix/ui-gtk3-support


📝 Commits (4)

  • edc7d27 [client] Ship a legacy GTK3 UI package for distros without WebKitGTK 6.0
  • 04ec2c5 [client] Build the wails3 CLI with the gtk3 tag on the legacy UI job
  • 5554d6d [ci] Restore-only Go cache and pinned setup-node in the gtk3 UI job
  • 0ecb0a5 [client] Guard cursor DIP conversion against an empty screen cache

📊 Changes

6 files changed (+299 additions, -3 deletions)

View changed files

📝 .github/workflows/release.yml (+131 -2)
.goreleaser_ui_gtk3.yaml (+119 -0)
📝 client/ui/services/cursor_linux.go (+6 -0)
client/ui/xembed_host_gtk3_linux.go (+40 -0)
📝 client/ui/xembed_host_linux.go (+1 -1)
📝 client/ui/xembed_tray_linux.c (+2 -0)

📄 Description

Describe your changes

Ship a legacy GTK3 UI package for distros without WebKitGTK 6.0

Ubuntu 22.04 depend from univeres repo

sudo add-apt-repository universe

Stack

Checklist

  • Is it a bug fix
  • Is a typo/documentation fix
  • Is a feature enhancement
  • It is a refactor
  • Created tests that fail without the change (if possible)
  • I ran and tested this change locally — I did not rely on CI to find out whether it works
  • This PR has a single purpose (not a fix + refactor + feature in one)
  • This change is a trivial fix, OR it links an issue the NetBird team agreed on beforehand. Changes to the public API, gRPC protocols, functionality behavior, CLI / service flags, or new features always need that agreement first. See CONTRIBUTING.md.

By submitting this pull request, you confirm that you have read and agree to the terms of the Contributor License Agreement.

Documentation

Select exactly one:

  • I added/updated documentation for this change
  • Documentation is not needed for this change (explain why)

Docs PR URL (required if "docs added" is checked)

Paste the PR link from https://github.com/netbirdio/docs here:

https://github.com/netbirdio/docs/pull/__

Summary by CodeRabbit

New Features

  • Added support for releasing a legacy GTK3-based Linux application.
  • GTK3 releases are available as DEB and RPM packages for 64-bit Linux.
  • Added dedicated packaging, publishing, artifact verification, and optional RPM signing.

Compatibility

  • GTK3 builds gracefully disable unsupported XEmbed tray functionality.
  • Standard Linux builds continue to support existing tray integration.

Bug Fixes

  • Improved cursor positioning for Linux setups without a detected screen.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/netbirdio/netbird/pull/7040 **Author:** [@pappz](https://github.com/pappz) **Created:** 8/3/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `fix/ui-gtk3-support` --- ### 📝 Commits (4) - [`edc7d27`](https://github.com/netbirdio/netbird/commit/edc7d27841bc5d7e1226e15723f91ad7723fffbd) [client] Ship a legacy GTK3 UI package for distros without WebKitGTK 6.0 - [`04ec2c5`](https://github.com/netbirdio/netbird/commit/04ec2c5614cfe7152b4886f0e105840d2f5797c0) [client] Build the wails3 CLI with the gtk3 tag on the legacy UI job - [`5554d6d`](https://github.com/netbirdio/netbird/commit/5554d6d8dda37dc0d3bceb37f8b242ce2e1acbf4) [ci] Restore-only Go cache and pinned setup-node in the gtk3 UI job - [`0ecb0a5`](https://github.com/netbirdio/netbird/commit/0ecb0a54cd359ee10d7e6396f1f952e1ebf6a7a3) [client] Guard cursor DIP conversion against an empty screen cache ### 📊 Changes **6 files changed** (+299 additions, -3 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/release.yml` (+131 -2) ➕ `.goreleaser_ui_gtk3.yaml` (+119 -0) 📝 `client/ui/services/cursor_linux.go` (+6 -0) ➕ `client/ui/xembed_host_gtk3_linux.go` (+40 -0) 📝 `client/ui/xembed_host_linux.go` (+1 -1) 📝 `client/ui/xembed_tray_linux.c` (+2 -0) </details> ### 📄 Description ## Describe your changes Ship a legacy GTK3 UI package for distros without WebKitGTK 6.0 Ubuntu 22.04 depend from univeres repo ``` sudo add-apt-repository universe ``` ## Issue ticket number and link <!-- Required for anything that changes behavior. Link the issue (or the validated discussion it came from) that the NetBird team already agreed on. See https://github.com/netbirdio/netbird/blob/main/CONTRIBUTING.md#ticket-first-pr-second --> ## Stack <!-- branch-stack --> ### Checklist - [ ] Is it a bug fix - [ ] Is a typo/documentation fix - [ ] Is a feature enhancement - [x] It is a refactor - [ ] Created tests that fail without the change (if possible) - [ ] I ran and tested this change locally — I did not rely on CI to find out whether it works - [ ] This PR has a single purpose (not a fix + refactor + feature in one) - [ ] This change is a trivial fix, **OR** it links an issue the NetBird team agreed on beforehand. Changes to the public API, gRPC protocols, functionality behavior, CLI / service flags, or new features always need that agreement first. See [CONTRIBUTING.md](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTING.md#ticket-first-pr-second). > By submitting this pull request, you confirm that you have read and agree to the terms of the [Contributor License Agreement](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT.md). ## Documentation Select exactly one: - [ ] I added/updated documentation for this change - [x] Documentation is **not needed** for this change (explain why) ### Docs PR URL (required if "docs added" is checked) Paste the PR link from https://github.com/netbirdio/docs here: https://github.com/netbirdio/docs/pull/__ <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## New Features * Added support for releasing a legacy GTK3-based Linux application. * GTK3 releases are available as DEB and RPM packages for 64-bit Linux. * Added dedicated packaging, publishing, artifact verification, and optional RPM signing. ## Compatibility * GTK3 builds gracefully disable unsupported XEmbed tray functionality. * Standard Linux builds continue to support existing tray integration. ## Bug Fixes * Improved cursor positioning for Linux setups without a detected screen. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
saavagebueno added the pull-request label 2026-08-05 07:09:21 -04:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#27877