mirror of
https://github.com/zen-browser/desktop.git
synced 2026-09-02 03:33:34 +00:00
gh-15144: Fixed installing updates does not updating registries (gh-15181)
This commit is contained in:
59
.github/workflows/build.yml
vendored
59
.github/workflows/build.yml
vendored
@@ -26,6 +26,11 @@ on:
|
||||
required: true
|
||||
type: "boolean"
|
||||
default: false
|
||||
disable-pgo:
|
||||
description: "Build without PGO (skips the profile generation stages)"
|
||||
required: false
|
||||
type: "boolean"
|
||||
default: false
|
||||
workflow_call:
|
||||
inputs:
|
||||
create_release:
|
||||
@@ -48,6 +53,11 @@ on:
|
||||
required: true
|
||||
type: "boolean"
|
||||
default: false
|
||||
disable-pgo:
|
||||
description: "Build without PGO (skips the profile generation stages)"
|
||||
required: false
|
||||
type: "boolean"
|
||||
default: false
|
||||
|
||||
jobs:
|
||||
buildid:
|
||||
@@ -73,6 +83,7 @@ jobs:
|
||||
echo "create_release: ${{ inputs.create_release }}"
|
||||
echo "update_version: ${{ inputs.update_version }}"
|
||||
echo "use sccache: ${{ inputs.use-sccache }}"
|
||||
echo "disable-pgo: ${{ inputs.disable-pgo }}"
|
||||
echo "update_branch: ${{ inputs.update_branch }}"
|
||||
echo "GITHUB_REPOSITORY: ${{ github.repository }}"
|
||||
echo "GITHUB_REPOSITORY_OWNER: ${{ github.repository_owner }}"
|
||||
@@ -102,14 +113,14 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Download aws-cli
|
||||
if: ${{ inputs.create_release && inputs.update_branch == 'release' }}
|
||||
if: ${{ inputs.update_branch == 'release' }}
|
||||
run: |
|
||||
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
|
||||
unzip awscliv2.zip
|
||||
sudo ./aws/install --update
|
||||
|
||||
- name: Start self-hosted runner
|
||||
if: ${{ inputs.create_release && inputs.update_branch == 'release' }}
|
||||
if: ${{ inputs.update_branch == 'release' }}
|
||||
run: |
|
||||
echo "Starting self-hosted runner"
|
||||
echo "${{ secrets.SELF_HOSTED_RUNNER_START_SCRIPT }}" | base64 -d > start.sh
|
||||
@@ -117,7 +128,7 @@ jobs:
|
||||
bash ./start.sh
|
||||
|
||||
- name: Remove self-hosted runner script
|
||||
if: always() && ${{ inputs.create_release && inputs.update_branch == 'release' }}
|
||||
if: always() && ${{ inputs.update_branch == 'release' }}
|
||||
run: |
|
||||
echo "Removing self-hosted runner script"
|
||||
rm start.sh || true
|
||||
@@ -280,12 +291,14 @@ jobs:
|
||||
windows-step-1:
|
||||
name: Windows build step 1 (PGO build)
|
||||
uses: ./.github/workflows/windows-release-build.yml
|
||||
if: ${{ !inputs.disable-pgo }}
|
||||
needs: [build-data, buildid]
|
||||
permissions:
|
||||
contents: write
|
||||
secrets: inherit
|
||||
with:
|
||||
use-sccache: ${{ inputs.use-sccache }}
|
||||
force-candidate: ${{ !inputs.create_release }}
|
||||
build-version: ${{ needs.build-data.outputs.version }}
|
||||
generate-pgo: true
|
||||
profile-data-path-archive: zen-windows-profile-data-and-jarlog.zip
|
||||
@@ -295,11 +308,13 @@ jobs:
|
||||
windows-step-2:
|
||||
name: Windows build step 2 (Generate profile data)
|
||||
uses: ./.github/workflows/windows-profile-build.yml
|
||||
if: ${{ !inputs.disable-pgo }}
|
||||
permissions:
|
||||
contents: write
|
||||
secrets: inherit
|
||||
needs: [windows-step-1, build-data]
|
||||
with:
|
||||
force-candidate: ${{ !inputs.create_release }}
|
||||
build-version: ${{ needs.build-data.outputs.version }}
|
||||
profile-data-path-archive: zen.win64-pgo-stage-1.zip
|
||||
release-branch: ${{ inputs.update_branch }}
|
||||
@@ -310,10 +325,14 @@ jobs:
|
||||
permissions:
|
||||
contents: write
|
||||
secrets: inherit
|
||||
# windows-step-2 is skipped when PGO is disabled, so don't inherit its skip
|
||||
if: ${{ !failure() && !cancelled() }}
|
||||
needs: [build-data, windows-step-2, start-self-host, buildid]
|
||||
with:
|
||||
force-candidate: ${{ !inputs.create_release }}
|
||||
build-version: ${{ needs.build-data.outputs.version }}
|
||||
generate-pgo: false
|
||||
disable-pgo: ${{ inputs.disable-pgo }}
|
||||
release-branch: ${{ inputs.update_branch }}
|
||||
MOZ_BUILD_DATE: ${{needs.buildid.outputs.buildids}}
|
||||
use-sccache: ${{ inputs.use-sccache }}
|
||||
@@ -326,20 +345,24 @@ jobs:
|
||||
secrets: inherit
|
||||
needs: [build-data, start-self-host, buildid]
|
||||
with:
|
||||
force-candidate: ${{ !inputs.create_release }}
|
||||
build-version: ${{ needs.build-data.outputs.version }}
|
||||
release-branch: ${{ inputs.update_branch }}
|
||||
MOZ_BUILD_DATE: ${{needs.buildid.outputs.buildids}}
|
||||
use-sccache: ${{ inputs.use-sccache }}
|
||||
disable-pgo: ${{ inputs.disable-pgo }}
|
||||
|
||||
mac-step-1:
|
||||
name: macOS build step 1 (PGO build)
|
||||
uses: ./.github/workflows/macos-release-build.yml
|
||||
if: ${{ !inputs.disable-pgo }}
|
||||
needs: [build-data, buildid]
|
||||
permissions:
|
||||
contents: write
|
||||
secrets: inherit
|
||||
with:
|
||||
use-sccache: ${{ inputs.use-sccache }}
|
||||
force-candidate: ${{ !inputs.create_release }}
|
||||
build-version: ${{ needs.build-data.outputs.version }}
|
||||
generate-pgo: true
|
||||
release-branch: ${{ inputs.update_branch }}
|
||||
@@ -348,11 +371,13 @@ jobs:
|
||||
mac-step-2:
|
||||
name: macOS build step 2 (Generate profile data)
|
||||
uses: ./.github/workflows/macos-profile-build.yml
|
||||
if: ${{ !inputs.disable-pgo }}
|
||||
permissions:
|
||||
contents: write
|
||||
secrets: inherit
|
||||
needs: [mac-step-1, build-data]
|
||||
with:
|
||||
force-candidate: ${{ !inputs.create_release }}
|
||||
build-version: ${{ needs.build-data.outputs.version }}
|
||||
release-branch: ${{ inputs.update_branch }}
|
||||
|
||||
@@ -362,10 +387,14 @@ jobs:
|
||||
permissions:
|
||||
contents: write
|
||||
secrets: inherit
|
||||
# mac-step-2 is skipped when PGO is disabled, so don't inherit its skip
|
||||
if: ${{ !failure() && !cancelled() }}
|
||||
needs: [build-data, mac-step-2, start-self-host, buildid]
|
||||
with:
|
||||
force-candidate: ${{ !inputs.create_release }}
|
||||
build-version: ${{ needs.build-data.outputs.version }}
|
||||
generate-pgo: false
|
||||
disable-pgo: ${{ inputs.disable-pgo }}
|
||||
release-branch: ${{ inputs.update_branch }}
|
||||
MOZ_BUILD_DATE: ${{needs.buildid.outputs.buildids}}
|
||||
use-sccache: ${{ inputs.use-sccache }}
|
||||
@@ -378,6 +407,7 @@ jobs:
|
||||
secrets: inherit
|
||||
needs: [build-data, mac-step-3]
|
||||
with:
|
||||
force-candidate: ${{ !inputs.create_release }}
|
||||
build-version: ${{ needs.build-data.outputs.version }}
|
||||
release-branch: ${{ inputs.update_branch }}
|
||||
|
||||
@@ -470,14 +500,14 @@ jobs:
|
||||
if: always()
|
||||
steps:
|
||||
- name: Download aws-cli
|
||||
if: ${{ inputs.create_release && inputs.update_branch == 'release' }}
|
||||
if: ${{ inputs.update_branch == 'release' }}
|
||||
run: |
|
||||
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
|
||||
unzip awscliv2.zip
|
||||
sudo ./aws/install --update
|
||||
|
||||
- name: Stop self-hosted runner
|
||||
if: ${{ inputs.create_release && inputs.update_branch == 'release' }}
|
||||
if: ${{ inputs.update_branch == 'release' }}
|
||||
run: |
|
||||
echo "Stopping self-hosted runner"
|
||||
echo "${{ secrets.SELF_HOSTED_RUNNER_STOP_SCRIPT }}" | base64 -d > stop.sh
|
||||
@@ -485,13 +515,12 @@ jobs:
|
||||
bash ./stop.sh > /dev/null
|
||||
|
||||
- name: Remove self-hosted runner script
|
||||
if: always() && ${{ inputs.create_release && inputs.update_branch == 'release' }}
|
||||
if: always() && ${{ inputs.update_branch == 'release' }}
|
||||
run: |
|
||||
echo "Removing self-hosted runner script"
|
||||
rm stop.sh || true
|
||||
|
||||
release:
|
||||
if: ${{ inputs.create_release || inputs.update_branch == 'twilight' }}
|
||||
permissions: write-all
|
||||
name: Release
|
||||
needs:
|
||||
@@ -585,6 +614,7 @@ jobs:
|
||||
|
||||
- name: Commit
|
||||
uses: stefanzweifel/git-auto-commit-action@v5
|
||||
if: ${{ inputs.create_release || inputs.update_branch == 'twilight' }}
|
||||
with:
|
||||
commit_message: 🚀 Update update manifests
|
||||
commit_user_name: Zen Browser Robot
|
||||
@@ -628,9 +658,22 @@ jobs:
|
||||
env:
|
||||
GITHUB_REPOSITORY: ${{ github.repository }}
|
||||
|
||||
- name: Upload signed MAR files to workflow artifacts
|
||||
if: ${{ inputs.update_branch == 'release' && !inputs.create_release }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
retention-days: 5
|
||||
name: signed-mar-files
|
||||
path: |
|
||||
./linux.mar/*
|
||||
./linux-aarch64.mar/*
|
||||
./.github/workflows/object/windows-x64-signed-x86_64/windows.mar
|
||||
./.github/workflows/object/windows-x64-signed-arm64/windows-arm64.mar
|
||||
./macos.mar/*
|
||||
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v2.2.2
|
||||
if: ${{ inputs.update_branch == 'release' }}
|
||||
if: ${{ inputs.update_branch == 'release' && inputs.create_release }}
|
||||
with:
|
||||
token: ${{ secrets.DEPLOY_KEY }}
|
||||
tag_name: ${{ needs.build-data.outputs.version }}
|
||||
|
||||
18
.github/workflows/linux-release-build.yml
vendored
18
.github/workflows/linux-release-build.yml
vendored
@@ -20,6 +20,19 @@ on:
|
||||
required: true
|
||||
type: boolean
|
||||
default: false
|
||||
disable-pgo:
|
||||
description: "Build without PGO at all"
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
force-candidate:
|
||||
description: "Force building against the Firefox release candidate"
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
env:
|
||||
SURFER_FORCE_CANDIDATE: ${{ inputs.force-candidate && '1' || '' }}
|
||||
|
||||
jobs:
|
||||
build-linux:
|
||||
@@ -122,7 +135,7 @@ jobs:
|
||||
cd ..
|
||||
|
||||
- name: Build (PGO stage 1 - generate)
|
||||
if: ${{ matrix.arch == 'x86_64' }}
|
||||
if: ${{ matrix.arch == 'x86_64' && !inputs.disable-pgo }}
|
||||
env:
|
||||
SURFER_COMPAT: ${{ matrix.arch }}
|
||||
ZEN_RELEASE_BRANCH: ${{ inputs.release-branch }}
|
||||
@@ -139,7 +152,7 @@ jobs:
|
||||
bash .github/workflows/src/release-build.sh
|
||||
|
||||
- name: Generate PGO profile data
|
||||
if: ${{ matrix.arch == 'x86_64' }}
|
||||
if: ${{ matrix.arch == 'x86_64' && !inputs.disable-pgo }}
|
||||
run: |
|
||||
set -x
|
||||
export DISPLAY=:2
|
||||
@@ -157,6 +170,7 @@ jobs:
|
||||
env:
|
||||
SURFER_COMPAT: ${{ matrix.arch }}
|
||||
ZEN_RELEASE_BRANCH: ${{ inputs.release-branch }}
|
||||
ZEN_GA_DISABLE_PGO: ${{ inputs.disable-pgo && '1' || '' }}
|
||||
ZEN_SAFEBROWSING_API_KEY: ${{ secrets.ZEN_SAFEBROWSING_API_KEY }}
|
||||
ZEN_MOZILLA_API_KEY: ${{ secrets.ZEN_MOZILLA_API_KEY }}
|
||||
ZEN_GOOGLE_LOCATION_SERVICE_API_KEY: ${{ secrets.ZEN_GOOGLE_LOCATION_SERVICE_API_KEY }}
|
||||
|
||||
8
.github/workflows/macos-profile-build.yml
vendored
8
.github/workflows/macos-profile-build.yml
vendored
@@ -14,6 +14,14 @@ on:
|
||||
description: "The branch to build"
|
||||
required: true
|
||||
type: string
|
||||
force-candidate:
|
||||
description: "Force building against the Firefox release candidate"
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
env:
|
||||
SURFER_FORCE_CANDIDATE: ${{ inputs.force-candidate && '1' || '' }}
|
||||
|
||||
jobs:
|
||||
macos-profile-build:
|
||||
|
||||
20
.github/workflows/macos-release-build.yml
vendored
20
.github/workflows/macos-release-build.yml
vendored
@@ -10,6 +10,11 @@ on:
|
||||
required: true
|
||||
type: boolean
|
||||
default: false
|
||||
disable-pgo:
|
||||
description: "Build without PGO at all"
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
build-version:
|
||||
description: "The version to build"
|
||||
required: true
|
||||
@@ -27,6 +32,14 @@ on:
|
||||
required: true
|
||||
type: boolean
|
||||
default: false
|
||||
force-candidate:
|
||||
description: "Force building against the Firefox release candidate"
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
env:
|
||||
SURFER_FORCE_CANDIDATE: ${{ inputs.force-candidate && '1' || '' }}
|
||||
|
||||
jobs:
|
||||
mac-build:
|
||||
@@ -140,13 +153,13 @@ jobs:
|
||||
|
||||
- name: Download artifact (if use profdata)
|
||||
uses: actions/download-artifact@v4
|
||||
if: ${{ !inputs.generate-pgo }}
|
||||
if: ${{ !inputs.generate-pgo && !inputs.disable-pgo }}
|
||||
with:
|
||||
path: ~/artifact
|
||||
name: macos-profdata-${{ matrix.arch }}
|
||||
|
||||
- name: Show artifact info
|
||||
if: ${{ !inputs.generate-pgo }}
|
||||
if: ${{ !inputs.generate-pgo && !inputs.disable-pgo }}
|
||||
run: |
|
||||
ls ~/artifact
|
||||
ls ~/artifact/en-US.log
|
||||
@@ -166,6 +179,9 @@ jobs:
|
||||
if test ${{ inputs.generate-pgo }} = true; then
|
||||
export ZEN_GA_GENERATE_PROFILE=1
|
||||
fi
|
||||
if test ${{ inputs.disable-pgo }} = true; then
|
||||
export ZEN_GA_DISABLE_PGO=1
|
||||
fi
|
||||
if [[ -n ${{ inputs.MOZ_BUILD_DATE }} ]];then
|
||||
export MOZ_BUILD_DATE=${{ inputs.MOZ_BUILD_DATE }}
|
||||
fi
|
||||
|
||||
@@ -11,6 +11,14 @@ on:
|
||||
description: "The branch to build"
|
||||
required: true
|
||||
type: string
|
||||
force-candidate:
|
||||
description: "Force building against the Firefox release candidate"
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
env:
|
||||
SURFER_FORCE_CANDIDATE: ${{ inputs.force-candidate && '1' || '' }}
|
||||
|
||||
jobs:
|
||||
mac-build:
|
||||
|
||||
8
.github/workflows/windows-profile-build.yml
vendored
8
.github/workflows/windows-profile-build.yml
vendored
@@ -18,6 +18,14 @@ on:
|
||||
description: "The branch to build"
|
||||
required: true
|
||||
type: string
|
||||
force-candidate:
|
||||
description: "Force building against the Firefox release candidate"
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
env:
|
||||
SURFER_FORCE_CANDIDATE: ${{ inputs.force-candidate && '1' || '' }}
|
||||
|
||||
jobs:
|
||||
windows-profile-build:
|
||||
|
||||
19
.github/workflows/windows-release-build.yml
vendored
19
.github/workflows/windows-release-build.yml
vendored
@@ -10,6 +10,11 @@ on:
|
||||
required: true
|
||||
type: boolean
|
||||
default: false
|
||||
disable-pgo:
|
||||
description: "Build without PGO at all"
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
build-version:
|
||||
description: "The version to build"
|
||||
required: true
|
||||
@@ -30,6 +35,13 @@ on:
|
||||
required: true
|
||||
type: boolean
|
||||
default: false
|
||||
force-candidate:
|
||||
description: "Force building against the Firefox release candidate"
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
env:
|
||||
SURFER_FORCE_CANDIDATE: ${{ inputs.force-candidate && '1' || '' }}
|
||||
|
||||
jobs:
|
||||
windows-build:
|
||||
@@ -215,13 +227,13 @@ jobs:
|
||||
|
||||
- name: Download artifact (if use profdata)
|
||||
uses: actions/download-artifact@v4
|
||||
if: ${{ !inputs.generate-pgo && matrix.arch == 'x86_64' }}
|
||||
if: ${{ !inputs.generate-pgo && !inputs.disable-pgo && matrix.arch == 'x86_64' }}
|
||||
with:
|
||||
path: ~/artifact
|
||||
name: windows-profdata-${{ matrix.arch == 'aarch64' && 'arm64' || matrix.arch }}
|
||||
|
||||
- name: Show artifact info
|
||||
if: ${{ !inputs.generate-pgo && matrix.arch == 'x86_64' }}
|
||||
if: ${{ !inputs.generate-pgo && !inputs.disable-pgo && matrix.arch == 'x86_64' }}
|
||||
run: |
|
||||
ls ~/artifact
|
||||
ls ~/artifact/en-US.log
|
||||
@@ -246,6 +258,9 @@ jobs:
|
||||
if test ${{ inputs.generate-pgo }} = true; then
|
||||
export ZEN_GA_GENERATE_PROFILE=1
|
||||
fi
|
||||
if test ${{ inputs.disable-pgo }} = true; then
|
||||
export ZEN_GA_DISABLE_PGO=1
|
||||
fi
|
||||
if [[ -n ${{ inputs.MOZ_BUILD_DATE }} ]];then
|
||||
export MOZ_BUILD_DATE=${{ inputs.MOZ_BUILD_DATE }}
|
||||
fi
|
||||
|
||||
8
package-lock.json
generated
8
package-lock.json
generated
@@ -11,7 +11,7 @@
|
||||
"devDependencies": {
|
||||
"@babel/preset-typescript": "^7.27.0",
|
||||
"@zen-browser/prettier": "^3.9.3",
|
||||
"@zen-browser/surfer": "^1.14.8",
|
||||
"@zen-browser/surfer": "^1.14.9",
|
||||
"formal-git": "^1.2.9",
|
||||
"globals": "^16.3.0",
|
||||
"husky": "^9.1.7",
|
||||
@@ -860,9 +860,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@zen-browser/surfer": {
|
||||
"version": "1.14.8",
|
||||
"resolved": "https://registry.npmjs.org/@zen-browser/surfer/-/surfer-1.14.8.tgz",
|
||||
"integrity": "sha512-5HHcfibwHIK5n3huhJL2TLBX2+8odj6ebCMA6U2EcUj9ROSrcz7/bjY2n5MIa9oIRL9gtV3ott0jwJj6SlapxA==",
|
||||
"version": "1.14.9",
|
||||
"resolved": "https://registry.npmjs.org/@zen-browser/surfer/-/surfer-1.14.9.tgz",
|
||||
"integrity": "sha512-XbMzG4GHSRoGzKR/DkpyywcbTYemieDRD1A6qgJ8CaVDixenj/uzMhp6HXAUksRTeh1u9j3lzNcVrI99axcZLw==",
|
||||
"dev": true,
|
||||
"license": "MPL-2.0",
|
||||
"dependencies": {
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
"devDependencies": {
|
||||
"@babel/preset-typescript": "^7.27.0",
|
||||
"@zen-browser/prettier": "^3.9.3",
|
||||
"@zen-browser/surfer": "^1.14.8",
|
||||
"@zen-browser/surfer": "^1.14.9",
|
||||
"formal-git": "^1.2.9",
|
||||
"globals": "^16.3.0",
|
||||
"husky": "^9.1.7",
|
||||
|
||||
124
src/browser/installer/windows/nsis/shared-nsh.patch
Normal file
124
src/browser/installer/windows/nsis/shared-nsh.patch
Normal file
@@ -0,0 +1,124 @@
|
||||
diff --git a/browser/installer/windows/nsis/shared.nsh b/browser/installer/windows/nsis/shared.nsh
|
||||
index b81c7ef59be0d25f67668215028008a451860df2..fa0ab8947e011289d25158cab17ff9388b5cab0d 100755
|
||||
--- a/browser/installer/windows/nsis/shared.nsh
|
||||
+++ b/browser/installer/windows/nsis/shared.nsh
|
||||
@@ -873,50 +873,87 @@ FunctionEnd
|
||||
!ifdef MOZ_MAINTENANCE_SERVICE
|
||||
; Adds maintenance service certificate keys for the install dir.
|
||||
; For the cert to work, it must also be signed by a trusted cert for the user.
|
||||
+; Writes this application's allowed certificate values into _KEY, which must be
|
||||
+; a maintenance service registry path such as the one returned by
|
||||
+; ServicesHelper::PathToUniqueRegistryPath.
|
||||
+!macro AddMaintCertKeyValues _KEY
|
||||
+ ; PrefetchProcessName was originally used to experiment with deleting
|
||||
+ ; Windows prefetch as a speed optimization. It is no longer used though.
|
||||
+ DeleteRegValue HKLM "${_KEY}" "prefetchProcessName"
|
||||
+
|
||||
+ ; Setting the Attempted value will ensure that a new Maintenance Service
|
||||
+ ; install will never be attempted again after this from updates. The value
|
||||
+ ; is used only to see if updates should attempt new service installs.
|
||||
+ WriteRegDWORD HKLM "Software\Mozilla\MaintenanceService" "Attempted" 1
|
||||
+
|
||||
+ ; More than one certificate can be specified in a different subfolder
|
||||
+ ; for example: ${_KEY}\1, but each individual binary can be signed
|
||||
+ ; with at most one certificate. A fallback certificate can only be used
|
||||
+ ; if the binary is replaced with a different certificate.
|
||||
+ WriteRegStr HKLM "${_KEY}\0" "name" "${CERTIFICATE_NAME}"
|
||||
+ WriteRegStr HKLM "${_KEY}\0" "issuer" "${CERTIFICATE_ISSUER}"
|
||||
+ ; These values associate the allowed certificates for the previous
|
||||
+ ; installation, so that we can update from it cleanly using the
|
||||
+ ; old updater.exe (which will still have this signature).
|
||||
+ WriteRegStr HKLM "${_KEY}\1" "name" "${CERTIFICATE_NAME_PREVIOUS}"
|
||||
+ WriteRegStr HKLM "${_KEY}\1" "issuer" "${CERTIFICATE_ISSUER_PREVIOUS}"
|
||||
+ ClearErrors
|
||||
+!macroend
|
||||
+
|
||||
!macro AddMaintCertKeys
|
||||
Push $R0
|
||||
; Allow main Mozilla cert information for updates
|
||||
; This call will push the needed key on the stack
|
||||
ServicesHelper::PathToUniqueRegistryPath "$INSTDIR"
|
||||
Pop $R0
|
||||
+ Push $R1
|
||||
+ Push $R2
|
||||
+ Push $R3
|
||||
+ ; We always use the 64bit registry for certs.
|
||||
+ ${If} ${RunningX64}
|
||||
+ ${OrIf} ${IsNativeARM64}
|
||||
+ SetRegView 64
|
||||
+ ${EndIf}
|
||||
+
|
||||
${If} $R0 != ""
|
||||
- ; More than one certificate can be specified in a different subfolder
|
||||
- ; for example: $R0\1, but each individual binary can be signed
|
||||
- ; with at most one certificate. A fallback certificate can only be used
|
||||
- ; if the binary is replaced with a different certificate.
|
||||
- ; We always use the 64bit registry for certs.
|
||||
- ${If} ${RunningX64}
|
||||
- ${OrIf} ${IsNativeARM64}
|
||||
- SetRegView 64
|
||||
- ${EndIf}
|
||||
+ !insertmacro AddMaintCertKeyValues "$R0"
|
||||
+ ${Else}
|
||||
+ ; ServicesHelper could not be loaded. This happens when PostUpdate is run
|
||||
+ ; by the updater, which launches it with an environment too minimal for
|
||||
+ ; NSIS to load its plugins, leaving the unique registry path uncomputable.
|
||||
+ ; Fall back to refreshing every key that already records one of our own
|
||||
+ ; certificate names, so that any installation of this application is kept
|
||||
+ ; current rather than only the first one found. Keys belonging to other
|
||||
+ ; applications record a different name and are left alone.
|
||||
+ StrCpy $R1 0
|
||||
+ ${Do}
|
||||
+ EnumRegKey $R2 HKLM "Software\Mozilla\MaintenanceService" $R1
|
||||
+ ${If} $R2 == ""
|
||||
+ ${ExitDo}
|
||||
+ ${EndIf}
|
||||
+ ReadRegStr $R3 HKLM "Software\Mozilla\MaintenanceService\$R2\0" "name"
|
||||
+ ${If} $R3 == "${CERTIFICATE_NAME}"
|
||||
+ ${OrIf} $R3 == "${CERTIFICATE_NAME_PREVIOUS}"
|
||||
+ StrCpy $R0 "Software\Mozilla\MaintenanceService\$R2"
|
||||
+ !insertmacro AddMaintCertKeyValues "$R0"
|
||||
+ ${EndIf}
|
||||
+ IntOp $R1 $R1 + 1
|
||||
+ ${Loop}
|
||||
+ StrCpy $R0 ""
|
||||
+ ${EndIf}
|
||||
|
||||
- ; PrefetchProcessName was originally used to experiment with deleting
|
||||
- ; Windows prefetch as a speed optimization. It is no longer used though.
|
||||
- DeleteRegValue HKLM "$R0" "prefetchProcessName"
|
||||
-
|
||||
- ; Setting the Attempted value will ensure that a new Maintenance Service
|
||||
- ; install will never be attempted again after this from updates. The value
|
||||
- ; is used only to see if updates should attempt new service installs.
|
||||
- WriteRegDWORD HKLM "Software\Mozilla\MaintenanceService" "Attempted" 1
|
||||
-
|
||||
- ; These values associate the allowed certificates for the current
|
||||
- ; installation.
|
||||
- WriteRegStr HKLM "$R0\0" "name" "${CERTIFICATE_NAME}"
|
||||
- WriteRegStr HKLM "$R0\0" "issuer" "${CERTIFICATE_ISSUER}"
|
||||
- ; These values associate the allowed certificates for the previous
|
||||
- ; installation, so that we can update from it cleanly using the
|
||||
- ; old updater.exe (which will still have this signature).
|
||||
- WriteRegStr HKLM "$R0\1" "name" "${CERTIFICATE_NAME_PREVIOUS}"
|
||||
- WriteRegStr HKLM "$R0\1" "issuer" "${CERTIFICATE_ISSUER_PREVIOUS}"
|
||||
- ${If} ${RunningX64}
|
||||
- ${OrIf} ${IsNativeARM64}
|
||||
- SetRegView lastused
|
||||
- ${EndIf}
|
||||
- ClearErrors
|
||||
+ ${If} ${RunningX64}
|
||||
+ ${OrIf} ${IsNativeARM64}
|
||||
+ SetRegView lastused
|
||||
${EndIf}
|
||||
+
|
||||
+ Pop $R3
|
||||
+ Pop $R2
|
||||
+ Pop $R1
|
||||
; Restore the previously used value back
|
||||
Pop $R0
|
||||
!macroend
|
||||
+
|
||||
!define AddMaintCertKeys "!insertmacro AddMaintCertKeys"
|
||||
!endif
|
||||
|
||||
@@ -40,7 +40,7 @@ html|dialog {
|
||||
}
|
||||
|
||||
groupbox button {
|
||||
border-radius: 5px !important;
|
||||
border-radius: calc(5px * var(--zen-squircle-value)) !important;
|
||||
}
|
||||
|
||||
groupbox button,
|
||||
|
||||
@@ -27,7 +27,7 @@ dialog::part(dialog-button) {
|
||||
|
||||
position: relative;
|
||||
border: none;
|
||||
border-radius: 10px;
|
||||
border-radius: calc(10px * var(--zen-squircle-value));
|
||||
}
|
||||
|
||||
@media (-moz-platform: macos) {
|
||||
|
||||
@@ -60,6 +60,9 @@
|
||||
.urlbar-background {
|
||||
background: var(--zen-toolbar-element-bg) !important;
|
||||
border-radius: var(--border-radius-medium);
|
||||
:root:not([zen-single-toolbar="true"]) & {
|
||||
border-radius: calc(var(--border-radius-medium) * var(--zen-squircle-value));
|
||||
}
|
||||
outline: none !important;
|
||||
|
||||
#urlbar:not([breakout-extend]) & {
|
||||
@@ -137,12 +140,12 @@
|
||||
& #identity-box {
|
||||
margin-inline-end: 0 !important;
|
||||
|
||||
&[pageproxystate="invalid"] {
|
||||
:root[zen-has-empty-tab="true"] &[pageproxystate="invalid"]:not(.chromeUI) {
|
||||
margin-inline-end: -4px !important;
|
||||
}
|
||||
|
||||
&.chromeUI:not([pageproxystate="invalid"]) #identity-icon-box {
|
||||
border-radius: 10px !important;
|
||||
border-radius: calc(10px * var(--zen-squircle-value)) !important;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -171,13 +174,9 @@
|
||||
}
|
||||
|
||||
:root:not([zen-single-toolbar="true"]):not([zen-has-empty-tab="true"]) #urlbar:not([breakout-extend]) .urlbar-input-container {
|
||||
padding: 2px 3px;
|
||||
padding: 2px 5px;
|
||||
gap: 2px;
|
||||
|
||||
& .urlbar-page-action {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
& #zen-copy-url-button {
|
||||
order: -1;
|
||||
}
|
||||
@@ -296,7 +295,7 @@
|
||||
|
||||
&,
|
||||
.urlbar-background {
|
||||
border-radius: 12px !important;
|
||||
border-radius: calc(12px * var(--zen-squircle-value)) !important;
|
||||
}
|
||||
|
||||
&[breakout-extend][animate-searchmode="true"]::before {
|
||||
@@ -411,7 +410,7 @@
|
||||
}
|
||||
|
||||
#notification-popup-box {
|
||||
border-radius: 10px !important;
|
||||
border-radius: calc(10px * var(--zen-squircle-value)) !important;
|
||||
}
|
||||
|
||||
/* Border radius on hover */
|
||||
@@ -706,7 +705,7 @@
|
||||
|
||||
:root:not([zen-single-toolbar="true"]) #urlbar[breakout-extend]:not([zen-floating-urlbar="true"]) {
|
||||
& .urlbar-background {
|
||||
border-radius: 10px !important;
|
||||
border-radius: calc(10px * var(--zen-squircle-value)) !important;
|
||||
}
|
||||
|
||||
#urlbar-results {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
.dialogBox {
|
||||
border-radius: 12px !important;
|
||||
border-radius: calc(12px * var(--zen-squircle-value)) !important;
|
||||
border: 0.5px solid light-dark(rgba(0, 0, 0, 0.4), var(--zen-dialog-background)) !important;
|
||||
outline: 1px solid light-dark(transparent, rgba(168, 168, 169, 0.50)) !important;
|
||||
box-shadow: 0 10px 8px rgba(0, 0 , 0, 0.15) !important;
|
||||
|
||||
@@ -291,7 +291,7 @@
|
||||
--panel-width: 234px;
|
||||
--menu-panel-width-wide: calc(var(--panel-width) - var(--panel-padding) * 2);
|
||||
--uei-icon-size: 16px;
|
||||
--arrowpanel-menuitem-border-radius: 10px;
|
||||
--arrowpanel-menuitem-border-radius: calc(10px * var(--zen-squircle-value));
|
||||
}
|
||||
|
||||
#unified-extensions-empty-state,
|
||||
@@ -500,6 +500,7 @@
|
||||
transition:
|
||||
transform 0.12s ease-in-out,
|
||||
opacity 0.12s ease-in-out;
|
||||
will-change: transform;
|
||||
}
|
||||
|
||||
/* stylelint-disable-next-line stylelint-plugin-mozilla/no-has-selector */
|
||||
@@ -603,6 +604,7 @@
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
will-change: transform;
|
||||
|
||||
@media (-moz-platform: macos) {
|
||||
background: linear-gradient(to bottom, light-dark(rgb(255, 255, 255), rgb(34, 34, 34)), light-dark(rgb(246, 246, 246), rgb(21, 21, 21)));
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
:root[zen-no-padding='true'] & {
|
||||
--zen-compact-float: 10px;
|
||||
--zen-compact-top-toolbar-hidden-fix: var(--zen-compact-float);
|
||||
--zen-compact-mode-no-padding-radius-fix: 2px;
|
||||
--zen-compact-mode-no-padding-radius-fix: 6px;
|
||||
}
|
||||
|
||||
/* Initial padding for when we are animating */
|
||||
|
||||
@@ -721,7 +721,7 @@ export class nsZenThemePicker extends nsZenMultiWindowFeature {
|
||||
};
|
||||
|
||||
const dot = document.createElement("div");
|
||||
dot.classList.add("zen-theme-picker-dot");
|
||||
dot.classList.add("zen-theme-picker-dot", "no-squircles");
|
||||
|
||||
dot.style.left = `${dotData.x}px`;
|
||||
dot.style.top = `${dotData.y}px`;
|
||||
|
||||
@@ -52,7 +52,7 @@ zen-workspace-creation {
|
||||
|
||||
& .zen-workspace-creation-name-wrapper {
|
||||
padding: 9px 6px;
|
||||
border-radius: 8px !important;
|
||||
border-radius: calc(8px * var(--zen-squircle-value)) !important;
|
||||
margin: 0;
|
||||
background-color: var(--input-text-background-color);
|
||||
gap: 8px;
|
||||
@@ -119,7 +119,7 @@ zen-workspace-creation {
|
||||
|
||||
& .zen-workspace-creation-profile-wrapper {
|
||||
padding: 4px;
|
||||
border-radius: 8px !important;
|
||||
border-radius: calc(8px * var(--zen-squircle-value)) !important;
|
||||
margin: 0;
|
||||
background-color: var(--input-text-background-color);
|
||||
gap: 4px;
|
||||
@@ -148,7 +148,7 @@ zen-workspace-creation {
|
||||
}
|
||||
|
||||
& .zen-workspace-creation-edit-theme-button {
|
||||
border-radius: 8px !important;
|
||||
border-radius: calc(8px * var(--zen-squircle-value)) !important;
|
||||
margin: 0;
|
||||
background-color: var(--input-text-background-color);
|
||||
justify-content: center;
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
"brandShortName": "Zen",
|
||||
"brandFullName": "Zen Browser",
|
||||
"release": {
|
||||
"displayVersion": "1.21.16b",
|
||||
"displayVersion": "1.22b",
|
||||
"github": {
|
||||
"repo": "zen-browser/desktop"
|
||||
},
|
||||
@@ -40,7 +40,7 @@
|
||||
"brandShortName": "Twilight",
|
||||
"brandFullName": "Zen Twilight",
|
||||
"release": {
|
||||
"displayVersion": "1.22t",
|
||||
"displayVersion": "1.23t",
|
||||
"github": {
|
||||
"repo": "zen-browser/desktop"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user