From 2700722a1e6741f26ea7de14058953fe7a00821c Mon Sep 17 00:00:00 2001 From: "mr. m" <91018726+mr-cheffy@users.noreply.github.com> Date: Sat, 18 Apr 2026 16:25:58 +0200 Subject: [PATCH] gh-9836: Register correct signing issuers for windows (gh-13304) --- .github/workflows/linux-release-build.yml | 2 ++ .github/workflows/macos-release-build.yml | 4 +++- .github/workflows/windows-profile-build.yml | 2 ++ .github/workflows/windows-release-build.yml | 2 ++ build/windows/sign.ps1 | 4 ++++ package-lock.json | 8 +++---- package.json | 2 +- .../sessionstore/SessionStore-sys-mjs.patch | 10 +++++++- src/zen/sessionstore/ZenWindowSync.sys.mjs | 24 +++++++++++++++---- src/zen/tabs/ZenPinnedTabManager.mjs | 2 +- 10 files changed, 47 insertions(+), 13 deletions(-) diff --git a/.github/workflows/linux-release-build.yml b/.github/workflows/linux-release-build.yml index 2fba0e880..06250bec2 100644 --- a/.github/workflows/linux-release-build.yml +++ b/.github/workflows/linux-release-build.yml @@ -104,6 +104,8 @@ jobs: - name: Import env: SURFER_COMPAT: ${{ matrix.arch }} + SURFER_CERT_PATCH_ISSUER: ${{ secrets.SURFER_CERT_PATCH_ISSUER }} + SURFER_CERT_PATCH_NAME: ${{ secrets.SURFER_CERT_PATCH_NAME }} run: | . "$HOME/.cargo/env" npm run import diff --git a/.github/workflows/macos-release-build.yml b/.github/workflows/macos-release-build.yml index ccfeacf39..cd256497c 100644 --- a/.github/workflows/macos-release-build.yml +++ b/.github/workflows/macos-release-build.yml @@ -118,7 +118,9 @@ jobs: - name: Import env: SURFER_COMPAT: ${{ matrix.arch }} - run: npm run import -- --verbose + SURFER_CERT_PATCH_ISSUER: ${{ secrets.SURFER_CERT_PATCH_ISSUER }} + SURFER_CERT_PATCH_NAME: ${{ secrets.SURFER_CERT_PATCH_NAME }} + run: npm run import - name: Bootstrap run: | diff --git a/.github/workflows/windows-profile-build.yml b/.github/workflows/windows-profile-build.yml index 740c5fd3f..84f2a01bc 100644 --- a/.github/workflows/windows-profile-build.yml +++ b/.github/workflows/windows-profile-build.yml @@ -80,6 +80,8 @@ jobs: if: ${{ matrix.arch == 'x86_64' }} env: SURFER_NO_BRANDING_PATCH: true + SURFER_CERT_PATCH_ISSUER: ${{ secrets.SURFER_CERT_PATCH_ISSUER }} + SURFER_CERT_PATCH_NAME: ${{ secrets.SURFER_CERT_PATCH_NAME }} run: npm run import - name: Generate diff --git a/.github/workflows/windows-release-build.yml b/.github/workflows/windows-release-build.yml index 10c1da6d3..2207d35aa 100644 --- a/.github/workflows/windows-release-build.yml +++ b/.github/workflows/windows-release-build.yml @@ -165,6 +165,8 @@ jobs: if: ${{ !(inputs.generate-gpo && matrix.arch == 'aarch64') }} env: SURFER_COMPAT: ${{ matrix.arch }} + SURFER_CERT_PATCH_ISSUER: ${{ secrets.SURFER_CERT_PATCH_ISSUER }} + SURFER_CERT_PATCH_NAME: ${{ secrets.SURFER_CERT_PATCH_NAME }} run: | . "$HOME/.cargo/env" npm run import -- --verbose diff --git a/build/windows/sign.ps1 b/build/windows/sign.ps1 index 2c935d776..b9301141c 100644 --- a/build/windows/sign.ps1 +++ b/build/windows/sign.ps1 @@ -4,6 +4,7 @@ param( [string][Parameter(Mandatory=$true)]$SignIdentity, + [string][Parameter(Mandatory=$true)]$SignIdentityIssuer, [string][Parameter(Mandatory=$true)]$GithubRunId ) @@ -26,6 +27,9 @@ mkdir windsign-temp -ErrorAction SilentlyContinue $env:SURFER_MOZCONFIG_ONLY="1" $env:SURFER_SIGNING_MODE="" +$env:SURFER_CERT_PATCH_ISSUER=$SignIdentityIssuer +$env:SURFER_CERT_PATCH_NAME=$SignIdentity + Start-Job -Name "DownloadGitl10n" -ScriptBlock { param($PWD) cd $PWD diff --git a/package-lock.json b/package-lock.json index b794c5098..e92095f25 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "devDependencies": { "@babel/preset-typescript": "^7.27.0", "@zen-browser/prettier": "^3.9.3", - "@zen-browser/surfer": "^1.13.4", + "@zen-browser/surfer": "^1.14.3", "formal-git": "^1.2.9", "globals": "^16.3.0", "husky": "^9.1.7", @@ -868,9 +868,9 @@ } }, "node_modules/@zen-browser/surfer": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/@zen-browser/surfer/-/surfer-1.13.4.tgz", - "integrity": "sha512-rpwceHYN3k1kaZP+IhAiZ5ksLgedqGv8uo8kqACFR4dDX/DO5P7XoCQtooOPrEyrxcI7uu/gI/xtuldfOBKUkQ==", + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/@zen-browser/surfer/-/surfer-1.14.3.tgz", + "integrity": "sha512-AjJx7jedNSSP5WRWsG3W5fUxYSaWlY3nir/MZ2RFS+C0/rs6Uj+qpOVlMu6ZrQf9cr9r13e33nP5GGhSWbGOSA==", "dev": true, "license": "MPL-2.0", "dependencies": { diff --git a/package.json b/package.json index f5dff7d7a..cff1d55eb 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "devDependencies": { "@babel/preset-typescript": "^7.27.0", "@zen-browser/prettier": "^3.9.3", - "@zen-browser/surfer": "^1.13.4", + "@zen-browser/surfer": "^1.14.3", "formal-git": "^1.2.9", "globals": "^16.3.0", "husky": "^9.1.7", diff --git a/src/browser/components/sessionstore/SessionStore-sys-mjs.patch b/src/browser/components/sessionstore/SessionStore-sys-mjs.patch index 7d341f99a..27134f020 100644 --- a/src/browser/components/sessionstore/SessionStore-sys-mjs.patch +++ b/src/browser/components/sessionstore/SessionStore-sys-mjs.patch @@ -1,5 +1,5 @@ diff --git a/browser/components/sessionstore/SessionStore.sys.mjs b/browser/components/sessionstore/SessionStore.sys.mjs -index 71921cec2b6aa0f103856c31254fd6c4affefccb..fbb44402e3201a00eb37765d60829828d40e70ea 100644 +index 71921cec2b6aa0f103856c31254fd6c4affefccb..d39f2bd587e9aa320d69f94a2bd30be909c3e608 100644 --- a/browser/components/sessionstore/SessionStore.sys.mjs +++ b/browser/components/sessionstore/SessionStore.sys.mjs @@ -129,6 +129,9 @@ const TAB_EVENTS = [ @@ -350,3 +350,11 @@ index 71921cec2b6aa0f103856c31254fd6c4affefccb..fbb44402e3201a00eb37765d60829828 // Convert any open groups into saved groups. let groupStateToSave = window.groups.find( groupState => groupState.id == window.tabs[tIndex].groupId +@@ -8076,7 +8139,6 @@ var SessionStoreInternal = { + timer.initWithCallback( + function () { + if (beats <= 0) { +- this._log.debug(`looseTimer of ${delay} timed out`); + Glean.sessionRestore.shutdownFlushAllOutcomes.timed_out.add(1); + deferred.resolve(); + } diff --git a/src/zen/sessionstore/ZenWindowSync.sys.mjs b/src/zen/sessionstore/ZenWindowSync.sys.mjs index 8612601c4..b18f3dadc 100644 --- a/src/zen/sessionstore/ZenWindowSync.sys.mjs +++ b/src/zen/sessionstore/ZenWindowSync.sys.mjs @@ -731,7 +731,14 @@ class nsZenWindowSync { return; } await this.#styleSwapedBrowsers(aOurTab, aOtherTab, () => { - this.#swapBrowserDocShellsInner(aOurTab, aOtherTab); + try { + this.#swapBrowserDocShellsInner(aOurTab, aOtherTab); + } catch (e) { + console.error( + `Error swapping browsers for tabs ${aOurTab.id} and ${aOtherTab.id}:`, + e + ); + } }); } @@ -1066,10 +1073,17 @@ class nsZenWindowSync { continue; } delete tab._zenContentsVisible; - this.#swapBrowserDocShellsInner(targetTab, tab, { - focus: targetTab.selected, - onClose: true, - }); + try { + this.#swapBrowserDocShellsInner(targetTab, tab, { + focus: targetTab.selected, + onClose: true, + }); + } catch (e) { + console.error( + `Error swapping browsers for tabs ${tab.id} and ${targetTab.id} during close:`, + e + ); + } this.#swapedTabsEntriesForWC.set( tab.linkedBrowser.permanentKey, targetTab diff --git a/src/zen/tabs/ZenPinnedTabManager.mjs b/src/zen/tabs/ZenPinnedTabManager.mjs index 2c048c8cc..71009f921 100644 --- a/src/zen/tabs/ZenPinnedTabManager.mjs +++ b/src/zen/tabs/ZenPinnedTabManager.mjs @@ -857,7 +857,7 @@ class nsZenPinnedTabManager extends nsZenDOMOperatedFeature { const pinUrl = tab._zenPinnedInitialState.entry.url.split("#")[0]; const currentUrl = location.split("#")[0]; // Add an indicator that the pin has been changed - if (pinUrl === currentUrl) { + if (Services.io.newURI(currentUrl).spec === Services.io.newURI(pinUrl).spec) { this.resetPinChangedUrl(tab); return; }