From 353b65e25b4430cb35b50871f1c900d8cbdfb1ae Mon Sep 17 00:00:00 2001 From: "mr. m" Date: Tue, 24 Feb 2026 23:19:46 +0100 Subject: [PATCH] feat: Dont switch permanent keys for window closes, b=closes #12152, c=workflows, flatpak --- .github/workflows/pr-test.yml | 6 +++--- build/flatpak/app.zen_browser.zen.yml.template | 1 - src/zen/sessionstore/ZenWindowSync.sys.mjs | 14 ++++++++------ 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index c0c768ed2..f0bad98f6 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -25,12 +25,12 @@ jobs: with: node-version-file: ".nvmrc" - - name: Run linting - run: npm run lint - - name: Install dependencies run: npm ci + - name: Run linting + run: npm run lint + - name: Download Firefox and dependencies env: ZEN_DOWNLOAD_DONT_INIT_GIT: "1" diff --git a/build/flatpak/app.zen_browser.zen.yml.template b/build/flatpak/app.zen_browser.zen.yml.template index 64e4717cf..c28deac8b 100644 --- a/build/flatpak/app.zen_browser.zen.yml.template +++ b/build/flatpak/app.zen_browser.zen.yml.template @@ -25,7 +25,6 @@ finish-args: - --filesystem=xdg-run/speech-dispatcher:ro - --device=all - --talk-name=org.freedesktop.FileManager1 - - --talk-name=org.freedesktop.Notifications - --system-talk-name=org.freedesktop.NetworkManager - --talk-name=org.a11y.Bus - --talk-name=org.gtk.vfs.* diff --git a/src/zen/sessionstore/ZenWindowSync.sys.mjs b/src/zen/sessionstore/ZenWindowSync.sys.mjs index c9710b4d9..32200d625 100644 --- a/src/zen/sessionstore/ZenWindowSync.sys.mjs +++ b/src/zen/sessionstore/ZenWindowSync.sys.mjs @@ -734,12 +734,14 @@ class nsZenWindowSync { aOurTab.ownerGlobal.gBrowser.swapBrowsersAndCloseOther(aOurTab, aOtherTab, false); // Swap permanent keys - const ourPermanentKey = aOurTab.linkedBrowser.permanentKey; - const otherPermanentKey = aOtherTab.linkedBrowser.permanentKey; - aOurTab.linkedBrowser.permanentKey = otherPermanentKey; - aOtherTab.linkedBrowser.permanentKey = ourPermanentKey; - aOurTab.permanentKey = otherPermanentKey; - aOtherTab.permanentKey = ourPermanentKey; + if (!onClose) { + const ourPermanentKey = aOurTab.linkedBrowser.permanentKey; + const otherPermanentKey = aOtherTab.linkedBrowser.permanentKey; + aOurTab.linkedBrowser.permanentKey = otherPermanentKey; + aOtherTab.linkedBrowser.permanentKey = ourPermanentKey; + aOurTab.permanentKey = otherPermanentKey; + aOtherTab.permanentKey = ourPermanentKey; + } // Since we are moving progress listeners around, there's a chance that we // trigger a load while making the switch, and since we remove the previous