From 265f2b8885070d61e65e65c14493cce1983a3f97 Mon Sep 17 00:00:00 2001 From: rmakestrash-jpg Date: Tue, 16 Dec 2025 20:58:27 -0500 Subject: [PATCH 1/6] feat(dialog): default to xdg-portal for GTK4 compatibility MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GTK3's rfd backend is incompatible with GTK4 applications (symbol conflicts cause "GTK was not actually initialized" panic). XDG Portal uses D-Bus and works with any GTK version. Users who need GTK3 can enable the "gtk3" feature explicitly. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- plugins/dialog/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/dialog/Cargo.toml b/plugins/dialog/Cargo.toml index 744b3cea9b..01313439a0 100644 --- a/plugins/dialog/Cargo.toml +++ b/plugins/dialog/Cargo.toml @@ -10,7 +10,7 @@ repository = { workspace = true } links = "tauri-plugin-dialog" [features] -default = ["gtk3"] +default = ["xdg-portal"] xdg-portal = ["rfd/xdg-portal", "rfd/tokio", "rfd/wayland"] gtk3 = ["rfd/gtk3"] From 758f24e7a4a4b295a27d94ce57de5a279106979c Mon Sep 17 00:00:00 2001 From: rmakestrash-jpg Date: Sun, 21 Dec 2025 14:38:27 -0500 Subject: [PATCH 2/6] ci: add automatic upstream sync workflow --- .github/workflows/sync-upstream.yml | 45 +++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 .github/workflows/sync-upstream.yml diff --git a/.github/workflows/sync-upstream.yml b/.github/workflows/sync-upstream.yml new file mode 100644 index 0000000000..4fba128063 --- /dev/null +++ b/.github/workflows/sync-upstream.yml @@ -0,0 +1,45 @@ +name: Sync with Upstream + +on: + schedule: + - cron: '0 6 * * *' + workflow_dispatch: + +jobs: + sync: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: v2 + fetch-depth: 0 + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Configure Git + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + + - name: Add upstream remote + run: git remote add upstream https://github.com/tauri-apps/plugins-workspace.git || true + + - name: Fetch upstream + run: git fetch upstream + + - name: Check and merge upstream + run: | + BEHIND=$(git rev-list --count HEAD..upstream/v2) + if [ "$BEHIND" -gt 0 ]; then + echo "Found $BEHIND new commits from upstream" + if git merge upstream/v2 --no-edit; then + echo "Successfully merged upstream changes" + git push origin v2 + else + echo "Merge conflicts detected - manual intervention required" + git merge --abort + exit 1 + fi + else + echo "Already up to date with upstream" + fi From 498763f148592f65cff581234298a92042524386 Mon Sep 17 00:00:00 2001 From: rmakestrash-jpg Date: Sun, 21 Dec 2025 15:54:49 -0500 Subject: [PATCH 3/6] chore: remove auto-sync workflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fork will be manually managed since we're contributing changes rather than just tracking upstream. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .github/workflows/sync-upstream.yml | 45 ----------------------------- 1 file changed, 45 deletions(-) delete mode 100644 .github/workflows/sync-upstream.yml diff --git a/.github/workflows/sync-upstream.yml b/.github/workflows/sync-upstream.yml deleted file mode 100644 index 4fba128063..0000000000 --- a/.github/workflows/sync-upstream.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: Sync with Upstream - -on: - schedule: - - cron: '0 6 * * *' - workflow_dispatch: - -jobs: - sync: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - ref: v2 - fetch-depth: 0 - token: ${{ secrets.GITHUB_TOKEN }} - - - name: Configure Git - run: | - git config user.name "github-actions[bot]" - git config user.email "github-actions[bot]@users.noreply.github.com" - - - name: Add upstream remote - run: git remote add upstream https://github.com/tauri-apps/plugins-workspace.git || true - - - name: Fetch upstream - run: git fetch upstream - - - name: Check and merge upstream - run: | - BEHIND=$(git rev-list --count HEAD..upstream/v2) - if [ "$BEHIND" -gt 0 ]; then - echo "Found $BEHIND new commits from upstream" - if git merge upstream/v2 --no-edit; then - echo "Successfully merged upstream changes" - git push origin v2 - else - echo "Merge conflicts detected - manual intervention required" - git merge --abort - exit 1 - fi - else - echo "Already up to date with upstream" - fi From dafbf02afe63b8f13f6e81252526dbd2c551ca80 Mon Sep 17 00:00:00 2001 From: rmakestrash-jpg Date: Sun, 21 Dec 2025 15:59:19 -0500 Subject: [PATCH 4/6] chore(dialog): add changelog for xdg-portal default MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .changes/xdg-portal-default-gtk4.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changes/xdg-portal-default-gtk4.md diff --git a/.changes/xdg-portal-default-gtk4.md b/.changes/xdg-portal-default-gtk4.md new file mode 100644 index 0000000000..1aa8e567bb --- /dev/null +++ b/.changes/xdg-portal-default-gtk4.md @@ -0,0 +1,5 @@ +--- +"dialog": minor +--- + +Make `xdg-portal` the default backend on Linux for GTK4 compatibility. From 052b6a23da9359f961d2c8738724d4195c45d11f Mon Sep 17 00:00:00 2001 From: rmakestrash-jpg Date: Fri, 26 Dec 2025 11:20:54 -0500 Subject: [PATCH 5/6] chore: add dialog-js to changeset for Rust-JS parity --- .changes/xdg-portal-default-gtk4.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.changes/xdg-portal-default-gtk4.md b/.changes/xdg-portal-default-gtk4.md index 1aa8e567bb..9469414e24 100644 --- a/.changes/xdg-portal-default-gtk4.md +++ b/.changes/xdg-portal-default-gtk4.md @@ -1,5 +1,6 @@ --- "dialog": minor +"dialog-js": minor --- Make `xdg-portal` the default backend on Linux for GTK4 compatibility. From 5b23b7de6fbe18801513d6a9ece054a2f924939b Mon Sep 17 00:00:00 2001 From: rmakestrash-jpg Date: Tue, 13 Jan 2026 15:44:58 -0500 Subject: [PATCH 6/6] =?UTF-8?q?fix(dialog):=20update=20rfd=200.16=20?= =?UTF-8?q?=E2=86=92=200.17=20for=20zbus=205.x=20compatibility?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ashpd 0.11 (from rfd 0.16) is incompatible with zbus 5.x which is now required by tauri-plugin-opener. rfd 0.17 uses ashpd 0.12 which supports zbus 5.x. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- plugins/dialog/Cargo.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/dialog/Cargo.toml b/plugins/dialog/Cargo.toml index 8d61647c15..7a82b882dc 100644 --- a/plugins/dialog/Cargo.toml +++ b/plugins/dialog/Cargo.toml @@ -11,7 +11,7 @@ links = "tauri-plugin-dialog" [features] default = ["xdg-portal"] -xdg-portal = ["rfd/xdg-portal", "rfd/tokio", "rfd/wayland"] +xdg-portal = ["rfd/xdg-portal", "rfd/wayland"] gtk3 = ["rfd/gtk3"] [package.metadata.docs.rs] @@ -43,7 +43,7 @@ tauri-plugin-fs = { path = "../fs", version = "2.4.5" } tauri = { workspace = true, features = ["wry"] } [target."cfg(any(target_os = \"macos\", windows, target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies] -rfd = { version = "0.16", default-features = false, features = [ +rfd = { version = "0.17", default-features = false, features = [ "common-controls-v6", ] }