lists.torproject.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

tbb-commits

Thread Start a new thread
Download
Threads by month
  • ----- 2025 -----
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2018 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2017 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2016 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2015 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2014 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
tbb-commits@lists.torproject.org

August 2024

  • 1 participants
  • 282 discussions
[Git][tpo/applications/tor-browser][tor-browser-128.2.0esr-14.0-1] fixup! Bug 42247: Android helpers for the TorProvider
by morgan (@morgan) 28 Aug '24

28 Aug '24
morgan pushed to branch tor-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 431ff1b6 by Pier Angelo Vendrame at 2024-08-28T20:33:14+00:00 fixup! Bug 42247: Android helpers for the TorProvider Bug 42607: Stop shipping GeoIP databases for now. - - - - - 1 changed file: - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorIntegrationAndroid.java Changes: ===================================== mobile/android/geckoview/src/main/java/org/… [View More]mozilla/geckoview/TorIntegrationAndroid.java ===================================== @@ -289,13 +289,16 @@ public class TorIntegrationAndroid implements BundleEventListener { Log.w(TAG, "torrc-default cannot be created, pluggable transports will not be available", e); copied = false; } - try { + // tor-browser#42607: For now we do not ship geoip databases, as we + // do not have the circuit display functionality and they allow us + // to save some space in the final APK. + /*try { copyAndUseConfigFile("GeoIPFile", "geoip", args); copyAndUseConfigFile("GeoIPv6File", "geoip6", args); } catch (IOException e) { Log.w(TAG, "GeoIP files cannot be created, this feature will not be available.", e); copied = false; - } + }*/ mCopiedConfigFiles = copied; Log.d(TAG, "Starting tor with the follwing args: " + args.toString()); View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/431ff1b… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/431ff1b… You're receiving this email because of your account on gitlab.torproject.org. [View Less]
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-128.2.0esr-14.0-1] Bug 41736: Customize toolbar for mullvad-browser.
by morgan (@morgan) 28 Aug '24

28 Aug '24
morgan pushed to branch mullvad-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Mullvad Browser Commits: 07162010 by Henry Wilkes at 2024-08-28T20:30:43+00:00 Bug 41736: Customize toolbar for mullvad-browser. - - - - - 1 changed file: - browser/components/customizableui/CustomizableUI.sys.mjs Changes: ===================================== browser/components/customizableui/CustomizableUI.sys.mjs ===================================== @@ -65,6 +65,11 @@ var kVersion = 20; … [View More]var kVersionBaseBrowser = 2; const NoScriptId = "_73a6fe31-595d-460b-a920-fcc0f8843232_-browser-action"; +/** + * The current version for mullvad browser. + */ +var kVersionMullvadBrowser = 1; + /** * Buttons removed from built-ins by version they were removed. kVersion must be * bumped any time a new id is added to this. Use the button id as key, and @@ -228,6 +233,7 @@ var CustomizableUIInternal = { this._updateForNewProtonVersion(); this._markObsoleteBuiltinButtonsSeen(); this._updateForBaseBrowser(); + this._updateForMullvadBrowser(); this.registerArea( CustomizableUI.AREA_FIXED_OVERFLOW_PANEL, @@ -264,7 +270,11 @@ var CustomizableUIInternal = { // Base-browser additions tor-browser#41736. If you want to add to, remove // from, or rearrange this list, then bump the kVersionBaseBrowser and // update existing saved states in _updateForBaseBrowser. - "security-level-button", + // Or if the change is only meant for mullvad-browser, bump + // kVersionMullvadBrowser instead and update the existing saved states in + // _updateForMullvadBrowser. + // Do not show the security-level-button by default in Mullvad Browser. + // See mullvad-browser#329 "new-identity-button", "downloads-button", AppConstants.MOZ_DEV_EDITION ? "developer-button" : null, @@ -930,6 +940,44 @@ var CustomizableUIInternal = { } }, + _updateForMullvadBrowser() { + if (!gSavedState) { + // Use the defaults. + return; + } + + const currentVersion = gSavedState.currentVersionMullvadBrowser; + + if (currentVersion < 1) { + // Remove security-level-button if: + // + it hasn't been moved out of the navbar by the user, and + // + the user does not have a custom security level. + // + // NOTE: _updateForBaseBrowser adds this button when + // currentVersionBaseBrowser < 1. This should only happen when + // currentVersionMullvadBrowser < 1, and this method runs after, so should + // reverse it. + const navbarPlacements = + gSavedState.placements[CustomizableUI.AREA_NAVBAR]; + if (navbarPlacements) { + const buttonIndex = navbarPlacements.indexOf("security-level-button"); + // Test if security level icon exists in the navbar. + // Even though a user may have moved the button within the navbar, + // there is no simple way to know whether the button was moved, or if + // other components were moved around it. + if (buttonIndex >= 0) { + // NOTE: We expect the SecurityLevel module to already be initialized. + const { SecurityLevelPrefs } = ChromeUtils.importESModule( + "resource://gre/modules/SecurityLevel.sys.mjs" + ); + if (!SecurityLevelPrefs.securityCustom) { + navbarPlacements.splice(buttonIndex, 1); + } + } + } + } + }, + _placeNewDefaultWidgetsInArea(aArea) { let futurePlacedWidgets = gFuturePlacements.get(aArea); let savedPlacements = @@ -2773,6 +2821,10 @@ var CustomizableUIInternal = { gSavedState.currentVersionBaseBrowser = 0; } + if (!("currentVersionMullvadBrowser" in gSavedState)) { + gSavedState.currentVersionMullvadBrowser = 0; + } + gSeenWidgets = new Set(gSavedState.seen || []); gDirtyAreaCache = new Set(gSavedState.dirtyAreaCache || []); gNewElementCount = gSavedState.newElementCount || 0; @@ -2856,6 +2908,7 @@ var CustomizableUIInternal = { dirtyAreaCache: gDirtyAreaCache, currentVersion: kVersion, currentVersionBaseBrowser: kVersionBaseBrowser, + currentVersionMullvadBrowser: kVersionMullvadBrowser, newElementCount: gNewElementCount, }; View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/071… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/071… You're receiving this email because of your account on gitlab.torproject.org. [View Less]
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.2.0esr-14.0-1] fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in...
by morgan (@morgan) 28 Aug '24

28 Aug '24
morgan pushed to branch tor-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: ba8dff6e by Henry Wilkes at 2024-08-28T20:09:34+00:00 fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection Bug 42803: Force focus ring to show for built-in bridge radio options. - - - - - 1 changed file: - browser/components/torpreferences/content/builtinBridgeDialog.js Changes: ===================================== browser/… [View More]components/torpreferences/content/builtinBridgeDialog.js ===================================== @@ -114,6 +114,16 @@ const gBuiltinBridgeDialog = { }, }; +// Initial focus is not visible, even if opened with a keyboard. We avoid the +// default handler and manage the focus ourselves, which will paint the focus +// ring by default. +// NOTE: A side effect is that the focus ring will show even if the user opened +// with a mouse event. +// TODO: Remove this once bugzilla bug 1708261 is resolved. +document.subDialogSetDefaultFocus = () => { + document.getElementById("torPreferences-builtinBridge-typeSelection").focus(); +}; + window.addEventListener( "DOMContentLoaded", () => { View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ba8dff6… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ba8dff6… You're receiving this email because of your account on gitlab.torproject.org. [View Less]
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-128.2.0esr-14.0-1] fixup! Firefox preference overrides.
by morgan (@morgan) 28 Aug '24

28 Aug '24
morgan pushed to branch mullvad-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Mullvad Browser Commits: 5a5a977a by Pier Angelo Vendrame at 2024-08-28T19:54:12+00:00 fixup! Firefox preference overrides. Bug 42685: Re-enable textmetrics. They do not add entropy (see the issue), so re-enable them for compatibility. - - - - - 1 changed file: - browser/app/profile/001-base-profile.js Changes: ===================================== browser/app/profile/001-base-profile.js ====… [View More]================================= @@ -419,11 +419,6 @@ pref("network.http.referer.XOriginTrimmingPolicy", 2); // Bug 17228: Force trim pref("media.videocontrols.picture-in-picture.enabled", false); // Bug 40148: disable until audited in #40147 // Bug 40463: Disable Windows SSO pref("network.http.windows-sso.enabled", false, locked); -// Disable API for measuring text width and height. -pref("dom.textMetrics.actualBoundingBox.enabled", false); -pref("dom.textMetrics.baselines.enabled", false); -pref("dom.textMetrics.emHeight.enabled", false); -pref("dom.textMetrics.fontBoundingBox.enabled", false); // tor-browser#40424 pref("pdfjs.enableScripting", false); // Bug 40057: Ensure system colors are not used for CSS4 colors View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/5a5… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/5a5… You're receiving this email because of your account on gitlab.torproject.org. [View Less]
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-128.2.0esr-14.0-1] fixup! Firefox preference overrides.
by morgan (@morgan) 28 Aug '24

28 Aug '24
morgan pushed to branch base-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 8fe2c105 by Pier Angelo Vendrame at 2024-08-28T19:52:42+00:00 fixup! Firefox preference overrides. Bug 42685: Re-enable textmetrics. They do not add entropy (see the issue), so re-enable them for compatibility. - - - - - 1 changed file: - browser/app/profile/001-base-profile.js Changes: ===================================== browser/app/profile/001-base-profile.js ===========… [View More]========================== @@ -419,11 +419,6 @@ pref("network.http.referer.XOriginTrimmingPolicy", 2); // Bug 17228: Force trim pref("media.videocontrols.picture-in-picture.enabled", false); // Bug 40148: disable until audited in #40147 // Bug 40463: Disable Windows SSO pref("network.http.windows-sso.enabled", false, locked); -// Disable API for measuring text width and height. -pref("dom.textMetrics.actualBoundingBox.enabled", false); -pref("dom.textMetrics.baselines.enabled", false); -pref("dom.textMetrics.emHeight.enabled", false); -pref("dom.textMetrics.fontBoundingBox.enabled", false); // tor-browser#40424 pref("pdfjs.enableScripting", false); // Bug 40057: Ensure system colors are not used for CSS4 colors View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/8fe2c10… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/8fe2c10… You're receiving this email because of your account on gitlab.torproject.org. [View Less]
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.2.0esr-14.0-1] fixup! Firefox preference overrides.
by morgan (@morgan) 28 Aug '24

28 Aug '24
morgan pushed to branch tor-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 80c99d24 by Pier Angelo Vendrame at 2024-08-28T18:22:45+02:00 fixup! Firefox preference overrides. Bug 42685: Re-enable textmetrics. They do not add entropy (see the issue), so re-enable them for compatibility. - - - - - 1 changed file: - browser/app/profile/001-base-profile.js Changes: ===================================== browser/app/profile/001-base-profile.js ============… [View More]========================= @@ -419,11 +419,6 @@ pref("network.http.referer.XOriginTrimmingPolicy", 2); // Bug 17228: Force trim pref("media.videocontrols.picture-in-picture.enabled", false); // Bug 40148: disable until audited in #40147 // Bug 40463: Disable Windows SSO pref("network.http.windows-sso.enabled", false, locked); -// Disable API for measuring text width and height. -pref("dom.textMetrics.actualBoundingBox.enabled", false); -pref("dom.textMetrics.baselines.enabled", false); -pref("dom.textMetrics.emHeight.enabled", false); -pref("dom.textMetrics.fontBoundingBox.enabled", false); // tor-browser#40424 pref("pdfjs.enableScripting", false); // Bug 40057: Ensure system colors are not used for CSS4 colors View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/80c99d2… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/80c99d2… You're receiving this email because of your account on gitlab.torproject.org. [View Less]
1 0
0 0
[Git][tpo/applications/mullvad-browser-update-responses][main] alpha: new version, 14.0a3
by morgan (@morgan) 28 Aug '24

28 Aug '24
morgan pushed to branch main at The Tor Project / Applications / mullvad-browser-update-responses Commits: 97b2f35d by Morgan at 2024-08-28T18:12:13+00:00 alpha: new version, 14.0a3 - - - - - 29 changed files: - update_1/alpha/.htaccess - − update_1/alpha/13.5a8-14.0a2-linux-x86_64-ALL.xml - − update_1/alpha/13.5a8-14.0a2-macos-ALL.xml - − update_1/alpha/13.5a8-14.0a2-windows-x86_64-ALL.xml - − update_1/alpha/13.5a9-14.0a2-linux-x86_64-ALL.xml - − update_1/alpha/13.5a9-14.0a2-macos-ALL.… [View More]xml - − update_1/alpha/13.5a9-14.0a2-windows-x86_64-ALL.xml - + update_1/alpha/13.5a9-14.0a3-linux-x86_64-ALL.xml - + update_1/alpha/13.5a9-14.0a3-macos-ALL.xml - + update_1/alpha/13.5a9-14.0a3-windows-x86_64-ALL.xml - − update_1/alpha/14.0a1-14.0a2-linux-x86_64-ALL.xml - − update_1/alpha/14.0a1-14.0a2-macos-ALL.xml - − update_1/alpha/14.0a1-14.0a2-windows-x86_64-ALL.xml - + update_1/alpha/14.0a1-14.0a3-linux-x86_64-ALL.xml - + update_1/alpha/14.0a1-14.0a3-macos-ALL.xml - + update_1/alpha/14.0a1-14.0a3-windows-x86_64-ALL.xml - + update_1/alpha/14.0a2-14.0a3-linux-x86_64-ALL.xml - + update_1/alpha/14.0a2-14.0a3-macos-ALL.xml - + update_1/alpha/14.0a2-14.0a3-windows-x86_64-ALL.xml - − update_1/alpha/14.0a2-linux-x86_64-ALL.xml - − update_1/alpha/14.0a2-macos-ALL.xml - − update_1/alpha/14.0a2-windows-x86_64-ALL.xml - + update_1/alpha/14.0a3-linux-x86_64-ALL.xml - + update_1/alpha/14.0a3-macos-ALL.xml - + update_1/alpha/14.0a3-windows-x86_64-ALL.xml - update_1/alpha/download-linux-x86_64.json - update_1/alpha/download-macos.json - update_1/alpha/download-windows-x86_64.json - update_1/alpha/downloads.json Changes: ===================================== update_1/alpha/.htaccess ===================================== @@ -1,22 +1,22 @@ RewriteEngine On -RewriteRule ^[^/]+/14.0a2/ no-update.xml [last] -RewriteRule ^Linux_x86_64-gcc3/13.5a8/ALL 13.5a8-14.0a2-linux-x86_64-ALL.xml [last] -RewriteRule ^Linux_x86_64-gcc3/13.5a9/ALL 13.5a9-14.0a2-linux-x86_64-ALL.xml [last] -RewriteRule ^Linux_x86_64-gcc3/14.0a1/ALL 14.0a1-14.0a2-linux-x86_64-ALL.xml [last] -RewriteRule ^Linux_x86_64-gcc3/[^/]+/ALL 14.0a2-linux-x86_64-ALL.xml [last] -RewriteRule ^Linux_x86_64-gcc3/ 14.0a2-linux-x86_64-ALL.xml [last] -RewriteRule ^Darwin_x86_64-gcc3/13.5a8/ALL 13.5a8-14.0a2-macos-ALL.xml [last] -RewriteRule ^Darwin_x86_64-gcc3/13.5a9/ALL 13.5a9-14.0a2-macos-ALL.xml [last] -RewriteRule ^Darwin_x86_64-gcc3/14.0a1/ALL 14.0a1-14.0a2-macos-ALL.xml [last] -RewriteRule ^Darwin_x86_64-gcc3/[^/]+/ALL 14.0a2-macos-ALL.xml [last] -RewriteRule ^Darwin_x86_64-gcc3/ 14.0a2-macos-ALL.xml [last] -RewriteRule ^Darwin_aarch64-gcc3/13.5a8/ALL 13.5a8-14.0a2-macos-ALL.xml [last] -RewriteRule ^Darwin_aarch64-gcc3/13.5a9/ALL 13.5a9-14.0a2-macos-ALL.xml [last] -RewriteRule ^Darwin_aarch64-gcc3/14.0a1/ALL 14.0a1-14.0a2-macos-ALL.xml [last] -RewriteRule ^Darwin_aarch64-gcc3/[^/]+/ALL 14.0a2-macos-ALL.xml [last] -RewriteRule ^Darwin_aarch64-gcc3/ 14.0a2-macos-ALL.xml [last] -RewriteRule ^WINNT_x86_64-gcc3-x64/13.5a8/ALL 13.5a8-14.0a2-windows-x86_64-ALL.xml [last] -RewriteRule ^WINNT_x86_64-gcc3-x64/13.5a9/ALL 13.5a9-14.0a2-windows-x86_64-ALL.xml [last] -RewriteRule ^WINNT_x86_64-gcc3-x64/14.0a1/ALL 14.0a1-14.0a2-windows-x86_64-ALL.xml [last] -RewriteRule ^WINNT_x86_64-gcc3-x64/[^/]+/ALL 14.0a2-windows-x86_64-ALL.xml [last] -RewriteRule ^WINNT_x86_64-gcc3-x64/ 14.0a2-windows-x86_64-ALL.xml [last] +RewriteRule ^[^/]+/14.0a3/ no-update.xml [last] +RewriteRule ^Linux_x86_64-gcc3/13.5a9/ALL 13.5a9-14.0a3-linux-x86_64-ALL.xml [last] +RewriteRule ^Linux_x86_64-gcc3/14.0a1/ALL 14.0a1-14.0a3-linux-x86_64-ALL.xml [last] +RewriteRule ^Linux_x86_64-gcc3/14.0a2/ALL 14.0a2-14.0a3-linux-x86_64-ALL.xml [last] +RewriteRule ^Linux_x86_64-gcc3/[^/]+/ALL 14.0a3-linux-x86_64-ALL.xml [last] +RewriteRule ^Linux_x86_64-gcc3/ 14.0a3-linux-x86_64-ALL.xml [last] +RewriteRule ^Darwin_x86_64-gcc3/13.5a9/ALL 13.5a9-14.0a3-macos-ALL.xml [last] +RewriteRule ^Darwin_x86_64-gcc3/14.0a1/ALL 14.0a1-14.0a3-macos-ALL.xml [last] +RewriteRule ^Darwin_x86_64-gcc3/14.0a2/ALL 14.0a2-14.0a3-macos-ALL.xml [last] +RewriteRule ^Darwin_x86_64-gcc3/[^/]+/ALL 14.0a3-macos-ALL.xml [last] +RewriteRule ^Darwin_x86_64-gcc3/ 14.0a3-macos-ALL.xml [last] +RewriteRule ^Darwin_aarch64-gcc3/13.5a9/ALL 13.5a9-14.0a3-macos-ALL.xml [last] +RewriteRule ^Darwin_aarch64-gcc3/14.0a1/ALL 14.0a1-14.0a3-macos-ALL.xml [last] +RewriteRule ^Darwin_aarch64-gcc3/14.0a2/ALL 14.0a2-14.0a3-macos-ALL.xml [last] +RewriteRule ^Darwin_aarch64-gcc3/[^/]+/ALL 14.0a3-macos-ALL.xml [last] +RewriteRule ^Darwin_aarch64-gcc3/ 14.0a3-macos-ALL.xml [last] +RewriteRule ^WINNT_x86_64-gcc3-x64/13.5a9/ALL 13.5a9-14.0a3-windows-x86_64-ALL.xml [last] +RewriteRule ^WINNT_x86_64-gcc3-x64/14.0a1/ALL 14.0a1-14.0a3-windows-x86_64-ALL.xml [last] +RewriteRule ^WINNT_x86_64-gcc3-x64/14.0a2/ALL 14.0a2-14.0a3-windows-x86_64-ALL.xml [last] +RewriteRule ^WINNT_x86_64-gcc3-x64/[^/]+/ALL 14.0a3-windows-x86_64-ALL.xml [last] +RewriteRule ^WINNT_x86_64-gcc3-x64/ 14.0a3-windows-x86_64-ALL.xml [last] ===================================== update_1/alpha/13.5a8-14.0a2-linux-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-linux-x86_64-14.0a2_…" hashFunction="SHA512" hashValue="191da335ea25d8e1d84c394c078fb481b4a74780ed77271fa3d5046558cef78c01079236595713fdb72c4f4f20de3c05fcc9114cea95ccca1d4b1c4ad7750b05" size="113891553" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-linux-x86_64--13.5a8…" hashFunction="SHA512" hashValue="91c3174d69d233c57462d9a455e191a0f8518c063d6868cea0205f4b77f675fee99e62753f7039d2be87ce439447adcfa490305c4f310d78f578324807da044c" size="55151367" type="partial"></patch></update></updates> ===================================== update_1/alpha/13.5a8-14.0a2-macos-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-macos-14.0a2_ALL.mar" hashFunction="SHA512" hashValue="02fe3d9749f8bd7e8d93788cd5965316307a9cb7cf9bd5e31b62457ef1acef804991531c5fc9ef5075249464e9351e2b74f1009c0e51c4c29ab3c9b813bae350" size="128932106" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-macos--13.5a8-14.0a2…" hashFunction="SHA512" hashValue="b82896186deb301fab1e17cc7f6a55adb09094a1053b2e4fd277e4689859c5d3bd1176a620e474f0b7c0e2680d48c1c9a4f73c248c252cb5708c059293cabae6" size="90340538" type="partial"></patch></update></updates> ===================================== update_1/alpha/13.5a8-14.0a2-windows-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-windows-x86_64-14.0a…" hashFunction="SHA512" hashValue="1c56ddf5c34841e1936543c92d800d9c82d9c7f7b5d6c5637d90ca3c19bd7065f0451a0e6e3d74d079ae59d3551deb595df94d51ead0a5b8a34068372b8ae110" size="94906672" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-windows-x86_64--13.5…" hashFunction="SHA512" hashValue="3f604d6ce7605514f9604f11f801bdb3896a1cd56ab5bac5998a9e1e4accc0eba95b7e024480bfeb222de80912410db7b24e64a9f212345583f991fa367c2951" size="59076901" type="partial"></patch></update></updates> ===================================== update_1/alpha/13.5a9-14.0a2-linux-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-linux-x86_64-14.0a2_…" hashFunction="SHA512" hashValue="191da335ea25d8e1d84c394c078fb481b4a74780ed77271fa3d5046558cef78c01079236595713fdb72c4f4f20de3c05fcc9114cea95ccca1d4b1c4ad7750b05" size="113891553" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-linux-x86_64--13.5a9…" hashFunction="SHA512" hashValue="b9aa39a94ea71b3f0ea11663c8cdc45da9b966fd0838820effd0d4a458df4917f9d36d32f4b31db807d2e8197e2b55d7a5319950fd550920b671996d96559c51" size="54783731" type="partial"></patch></update></updates> ===================================== update_1/alpha/13.5a9-14.0a2-macos-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-macos-14.0a2_ALL.mar" hashFunction="SHA512" hashValue="02fe3d9749f8bd7e8d93788cd5965316307a9cb7cf9bd5e31b62457ef1acef804991531c5fc9ef5075249464e9351e2b74f1009c0e51c4c29ab3c9b813bae350" size="128932106" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-macos--13.5a9-14.0a2…" hashFunction="SHA512" hashValue="7f4c2af695a51acd58234281ee35179d237aecd0d19cb30d57e665e95a057d5455a7901c936e23e281ad17c98f82e2b0ad2cdab2981ea722fccace7fa3d8e6b3" size="89892434" type="partial"></patch></update></updates> ===================================== update_1/alpha/13.5a9-14.0a2-windows-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-windows-x86_64-14.0a…" hashFunction="SHA512" hashValue="1c56ddf5c34841e1936543c92d800d9c82d9c7f7b5d6c5637d90ca3c19bd7065f0451a0e6e3d74d079ae59d3551deb595df94d51ead0a5b8a34068372b8ae110" size="94906672" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-windows-x86_64--13.5…" hashFunction="SHA512" hashValue="4bd51dea6a8abb1790710c2fa4e67815fb3ac95a630fbbbce1d2b34d7fa4d3f22b56e6fb18270e34626e13f26cc9b8ac385517164fc9138fc0bb736067a57eb9" size="58702449" type="partial"></patch></update></updates> ===================================== update_1/alpha/13.5a9-14.0a3-linux-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-linux-x86_64-14.0a3_…" hashFunction="SHA512" hashValue="fbbaff6f952f3b4d7f86a53fb5d4ca0c6a72b67f947de70db7b6bf224511ec9892ced6faefd16a277e7cb8a36a0bb23c2cf6d86e73d5e793b9b94f68cc02fe05" size="114001681" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-linux-x86_64--13.5a9…" hashFunction="SHA512" hashValue="71c4a17d4f77017bac10082dfaabc99bc70a258fc3b94b500d0457cc905f7b5553c484726338bb8cf9bc29a57a42d528a5efd73fc4610e032095a9e8f2655d5b" size="56206582" type="partial"></patch></update></updates> ===================================== update_1/alpha/13.5a9-14.0a3-macos-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-macos-14.0a3_ALL.mar" hashFunction="SHA512" hashValue="785609d40ee89c393d394e31519810088e91405047671871cf64416822c71e34182a12f6ff52700cd30bde7c3b81ffb93c904ce24e5610918c6c9a4d26f53ea0" size="129052534" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-macos--13.5a9-14.0a3…" hashFunction="SHA512" hashValue="ad62ad99714552906e09f3aad340b0157711f0fbebc7afeeba0c92a4d67c39719b7cf7800fbb449ffc7d46ad41219a5c495f152a8d632d65e2e33d4ed0d947b4" size="91383512" type="partial"></patch></update></updates> ===================================== update_1/alpha/13.5a9-14.0a3-windows-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-windows-x86_64-14.0a…" hashFunction="SHA512" hashValue="b14d5d3beb668a9ee226692496cff76d5ea46dddf88430e800f791ec233284b5c4ae4b5947d416c96a2bc415832db2614a8239b64cf4f2f3ca6991b9dc5fccc5" size="95016852" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-windows-x86_64--13.5…" hashFunction="SHA512" hashValue="c9b373d89798517c7409b41164d45950d3a9b2ecfe72c65b8821091c5f77a715d6dec45aeeee700de6bc0fd919a6679db52c95906383ef1f63a5cfd441913653" size="60120572" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a1-14.0a2-linux-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-linux-x86_64-14.0a2_…" hashFunction="SHA512" hashValue="191da335ea25d8e1d84c394c078fb481b4a74780ed77271fa3d5046558cef78c01079236595713fdb72c4f4f20de3c05fcc9114cea95ccca1d4b1c4ad7750b05" size="113891553" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-linux-x86_64--14.0a1…" hashFunction="SHA512" hashValue="0d6718b13af17ab796d9b163137ec82957e481f47f171dc88d27d2485f0a810ccf0a4fe63bbfcf5f311f690db325b6dc3d164126297b232124a85f4915f81c41" size="9116550" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a1-14.0a2-macos-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-macos-14.0a2_ALL.mar" hashFunction="SHA512" hashValue="02fe3d9749f8bd7e8d93788cd5965316307a9cb7cf9bd5e31b62457ef1acef804991531c5fc9ef5075249464e9351e2b74f1009c0e51c4c29ab3c9b813bae350" size="128932106" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-macos--14.0a1-14.0a2…" hashFunction="SHA512" hashValue="84a69a94e3513578b3c3836d3b038a2c02e7bb5e72ad4723c444eb490bfe7f1f43d20144670545dfe34aa01ff2816b4d2a491db459e869d23f604d4949625443" size="13920477" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a1-14.0a2-windows-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-windows-x86_64-14.0a…" hashFunction="SHA512" hashValue="1c56ddf5c34841e1936543c92d800d9c82d9c7f7b5d6c5637d90ca3c19bd7065f0451a0e6e3d74d079ae59d3551deb595df94d51ead0a5b8a34068372b8ae110" size="94906672" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-windows-x86_64--14.0…" hashFunction="SHA512" hashValue="a7ab1970723d4351760bfb632fe233886d9d9976b58aedb26e57233ecf24ba6a9b16f60d1a9537879a905206d5c040656add5b0ddc34ac26aa85252cfb3d172c" size="9298927" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a1-14.0a3-linux-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-linux-x86_64-14.0a3_…" hashFunction="SHA512" hashValue="fbbaff6f952f3b4d7f86a53fb5d4ca0c6a72b67f947de70db7b6bf224511ec9892ced6faefd16a277e7cb8a36a0bb23c2cf6d86e73d5e793b9b94f68cc02fe05" size="114001681" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-linux-x86_64--14.0a1…" hashFunction="SHA512" hashValue="98c77dd2ef8be4bf39bcfa42c83049516317e6b182ebc71ea21a6dbc1a786568351c9ed96a83166b8262efc4312e996834aae47c83da53e2497338b763c404af" size="11860989" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a1-14.0a3-macos-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-macos-14.0a3_ALL.mar" hashFunction="SHA512" hashValue="785609d40ee89c393d394e31519810088e91405047671871cf64416822c71e34182a12f6ff52700cd30bde7c3b81ffb93c904ce24e5610918c6c9a4d26f53ea0" size="129052534" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-macos--14.0a1-14.0a3…" hashFunction="SHA512" hashValue="d258c5633a8826ad2fba68af023ad3418cada6966f1b80f280bc8810cdfb8efc7cb786401e2088cbd3ac1701a3b9448676c5341410fe01ec1a0acb3a15e9eea8" size="17403543" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a1-14.0a3-windows-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-windows-x86_64-14.0a…" hashFunction="SHA512" hashValue="b14d5d3beb668a9ee226692496cff76d5ea46dddf88430e800f791ec233284b5c4ae4b5947d416c96a2bc415832db2614a8239b64cf4f2f3ca6991b9dc5fccc5" size="95016852" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-windows-x86_64--14.0…" hashFunction="SHA512" hashValue="f0f7ed8d1227e0e590fded0699e2e0e25226027aeea9fe2db06ef380459bfed014377cee6709d9fb7f5c2b341898b6ca76622094a15f3dbb1b1a699307e1e1c5" size="12171674" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a2-14.0a3-linux-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-linux-x86_64-14.0a3_…" hashFunction="SHA512" hashValue="fbbaff6f952f3b4d7f86a53fb5d4ca0c6a72b67f947de70db7b6bf224511ec9892ced6faefd16a277e7cb8a36a0bb23c2cf6d86e73d5e793b9b94f68cc02fe05" size="114001681" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-linux-x86_64--14.0a2…" hashFunction="SHA512" hashValue="4a951f300717f9f59b8e9e4366d1c4a881266997efa94f054188072225e7169c608c937d652c0637e83f9108bad0fc2498786edc5d57d6bab05605d10c371915" size="8443934" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a2-14.0a3-macos-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-macos-14.0a3_ALL.mar" hashFunction="SHA512" hashValue="785609d40ee89c393d394e31519810088e91405047671871cf64416822c71e34182a12f6ff52700cd30bde7c3b81ffb93c904ce24e5610918c6c9a4d26f53ea0" size="129052534" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-macos--14.0a2-14.0a3…" hashFunction="SHA512" hashValue="3f607fef6f0e7cfa9eed77c055785b3e5db8001652471fcc68969e623b4880696b41dc878fee0643a0b17b4cdd3ad185e7699335411d8b7fcba3261bdc5102a3" size="13701870" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a2-14.0a3-windows-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-windows-x86_64-14.0a…" hashFunction="SHA512" hashValue="b14d5d3beb668a9ee226692496cff76d5ea46dddf88430e800f791ec233284b5c4ae4b5947d416c96a2bc415832db2614a8239b64cf4f2f3ca6991b9dc5fccc5" size="95016852" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-windows-x86_64--14.0…" hashFunction="SHA512" hashValue="67b93e757c33cbea1a937de58955724ebcc0256e8e7b5a0ad457a00e15fa13cd4da4ec878827ec899737dc4743b09792c2b045ccf24efd07e257f721d8baef7e" size="8765631" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a2-linux-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-linux-x86_64-14.0a2_…" hashFunction="SHA512" hashValue="191da335ea25d8e1d84c394c078fb481b4a74780ed77271fa3d5046558cef78c01079236595713fdb72c4f4f20de3c05fcc9114cea95ccca1d4b1c4ad7750b05" size="113891553" type="complete"></patch></update></updates> ===================================== update_1/alpha/14.0a2-macos-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-macos-14.0a2_ALL.mar" hashFunction="SHA512" hashValue="02fe3d9749f8bd7e8d93788cd5965316307a9cb7cf9bd5e31b62457ef1acef804991531c5fc9ef5075249464e9351e2b74f1009c0e51c4c29ab3c9b813bae350" size="128932106" type="complete"></patch></update></updates> ===================================== update_1/alpha/14.0a2-windows-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-windows-x86_64-14.0a…" hashFunction="SHA512" hashValue="1c56ddf5c34841e1936543c92d800d9c82d9c7f7b5d6c5637d90ca3c19bd7065f0451a0e6e3d74d079ae59d3551deb595df94d51ead0a5b8a34068372b8ae110" size="94906672" type="complete"></patch></update></updates> ===================================== update_1/alpha/14.0a3-linux-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-linux-x86_64-14.0a3_…" hashFunction="SHA512" hashValue="fbbaff6f952f3b4d7f86a53fb5d4ca0c6a72b67f947de70db7b6bf224511ec9892ced6faefd16a277e7cb8a36a0bb23c2cf6d86e73d5e793b9b94f68cc02fe05" size="114001681" type="complete"></patch></update></updates> ===================================== update_1/alpha/14.0a3-macos-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-macos-14.0a3_ALL.mar" hashFunction="SHA512" hashValue="785609d40ee89c393d394e31519810088e91405047671871cf64416822c71e34182a12f6ff52700cd30bde7c3b81ffb93c904ce24e5610918c6c9a4d26f53ea0" size="129052534" type="complete"></patch></update></updates> ===================================== update_1/alpha/14.0a3-windows-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-windows-x86_64-14.0a…" hashFunction="SHA512" hashValue="b14d5d3beb668a9ee226692496cff76d5ea46dddf88430e800f791ec233284b5c4ae4b5947d416c96a2bc415832db2614a8239b64cf4f2f3ca6991b9dc5fccc5" size="95016852" type="complete"></patch></update></updates> ===================================== update_1/alpha/download-linux-x86_64.json ===================================== @@ -1 +1 @@ -{"binary":"https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-linux-x86_64-14.0a2.…","git_tag":"mb-14.0a2-build1","sig":"https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-linux-x86_64-14.0a2.…","version":"14.0a2"} \ No newline at end of file +{"binary":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-linux-x86_64-14.0a3.…","git_tag":"mb-14.0a3-build1","sig":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-linux-x86_64-14.0a3.…","version":"14.0a3"} \ No newline at end of file ===================================== update_1/alpha/download-macos.json ===================================== @@ -1 +1 @@ -{"binary":"https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-macos-14.0a2.dmg","git_tag":"mb-14.0a2-build1","sig":"https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-macos-14.0a2.dmg.asc","version":"14.0a2"} \ No newline at end of file +{"binary":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-macos-14.0a3.dmg","git_tag":"mb-14.0a3-build1","sig":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-macos-14.0a3.dmg.asc","version":"14.0a3"} \ No newline at end of file ===================================== update_1/alpha/download-windows-x86_64.json ===================================== @@ -1 +1 @@ -{"binary":"https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-windows-x86_64-14.0a…","git_tag":"mb-14.0a2-build1","sig":"https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-windows-x86_64-14.0a…","version":"14.0a2"} \ No newline at end of file +{"binary":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-windows-x86_64-14.0a…","git_tag":"mb-14.0a3-build1","sig":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-windows-x86_64-14.0a…","version":"14.0a3"} \ No newline at end of file ===================================== update_1/alpha/downloads.json ===================================== @@ -1 +1 @@ -{"downloads":{"linux-x86_64":{"ALL":{"binary":"https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-linux-x86_64-14.0a2.…","sig":"https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-linux-x86_64-14.0a2.…"}},"macos":{"ALL":{"binary":"https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-macos-14.0a2.dmg","sig":"https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-macos-14.0a2.dmg.asc"}},"win64":{"ALL":{"binary":"https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-windows-x86_64-14.0a…","sig":"https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-windows-x86_64-14.0a…"}}},"tag":"mb-14.0a2-build1","version":"14.0a2"} \ No newline at end of file +{"downloads":{"linux-x86_64":{"ALL":{"binary":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-linux-x86_64-14.0a3.…","sig":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-linux-x86_64-14.0a3.…"}},"macos":{"ALL":{"binary":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-macos-14.0a3.dmg","sig":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-macos-14.0a3.dmg.asc"}},"win64":{"ALL":{"binary":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-windows-x86_64-14.0a…","sig":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-windows-x86_64-14.0a…"}}},"tag":"mb-14.0a3-build1","version":"14.0a3"} \ No newline at end of file View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser-update-respo… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser-update-respo… You're receiving this email because of your account on gitlab.torproject.org. [View Less]
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-128.2.0esr-14.0-1] 2 commits: fixup! Bug 31740: Remove some unnecessary RemoteSettings instances
by Pier Angelo Vendrame (@pierov) 28 Aug '24

28 Aug '24
Pier Angelo Vendrame pushed to branch mullvad-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Mullvad Browser Commits: a6251e60 by cypherpunks1 at 2024-08-28T17:41:16+02:00 fixup! Bug 31740: Remove some unnecessary RemoteSettings instances Bug 42730: Revert some changes - - - - - 09069722 by cypherpunks1 at 2024-08-28T17:41:17+02:00 Bug 42730: Patch RemoteSettings to use only local dumps as a data source - - - - - 8 changed files: - browser/components/BrowserGlue.sys.mjs - … [View More]mobile/shared/chrome/geckoview/geckoview.js - services/settings/Attachments.sys.mjs - services/settings/RemoteSettingsClient.sys.mjs - services/settings/dumps/gen_last_modified.py - services/settings/remote-settings.sys.mjs - toolkit/modules/AppConstants.sys.mjs - toolkit/modules/IgnoreLists.sys.mjs Changes: ===================================== browser/components/BrowserGlue.sys.mjs ===================================== @@ -3368,6 +3368,11 @@ BrowserGlue.prototype = { lazy.RemoteSecuritySettings.init(); }, + function RemoteSettingsPollChanges() { + // Support clients that use the "sync" event or "remote-settings:changes-poll-end". + lazy.RemoteSettings.pollChanges({ trigger: "timer" }); + }, + function BrowserUsageTelemetryReportProfileCount() { lazy.BrowserUsageTelemetry.reportProfileCount(); }, ===================================== mobile/shared/chrome/geckoview/geckoview.js ===================================== @@ -21,6 +21,7 @@ ChromeUtils.defineESModuleGetters(this, { InitializationTracker: "resource://gre/modules/GeckoViewTelemetry.sys.mjs", RemoteSecuritySettings: "resource://gre/modules/psm/RemoteSecuritySettings.sys.mjs", + RemoteSettings: "resource://services-settings/remote-settings.sys.mjs", SafeBrowsing: "resource://gre/modules/SafeBrowsing.sys.mjs", }); @@ -922,6 +923,10 @@ function startup() { Blocklist.loadBlocklistAsync(); }); + InitLater(() => { + RemoteSettings.pollChanges({ trigger: "timer" }); + }); + // This should always go last, since the idle tasks (except for the ones with // timeouts) should execute in order. Note that this observer notification is // not guaranteed to fire, since the window could close before we get here. ===================================== services/settings/Attachments.sys.mjs ===================================== @@ -223,6 +223,10 @@ export class Downloader { fallbackToDump = false; } + avoidDownload = true; + fallbackToCache = true; + fallbackToDump = true; + const dumpInfo = new LazyRecordAndBuffer(() => this._readAttachmentDump(attachmentId) ); @@ -444,6 +448,8 @@ export class Downloader { attachment: { location, hash, size }, } = record; + return (await this.#fetchAttachment(record)).buffer; + // eslint-disable-next-line no-unreachable const remoteFileUrl = (await this._baseAttachmentsURL()) + location; const { retries = 3, checkHash = true } = options; ===================================== services/settings/RemoteSettingsClient.sys.mjs ===================================== @@ -424,11 +424,19 @@ export class RemoteSettingsClient extends EventEmitter { order = "", // not sorted by default. dumpFallback = true, emptyListFallback = true, - forceSync = false, loadDumpIfNewer = true, - syncIfEmpty = true, } = options; - let { verifySignature = false } = options; + + const hasLocalDump = await lazy.Utils.hasLocalDump( + this.bucketName, + this.collectionName + ); + if (!hasLocalDump) { + return []; + } + const forceSync = false; + const syncIfEmpty = true; + let verifySignature = false; const hasParallelCall = !!this._importingPromise; let data; @@ -598,6 +606,10 @@ export class RemoteSettingsClient extends EventEmitter { * @param {Object} options See #maybeSync() options. */ async sync(options) { + if (AppConstants.BASE_BROWSER_VERSION) { + return; + } + if (lazy.Utils.shouldSkipRemoteActivityDueToTests) { return; } @@ -664,7 +676,7 @@ export class RemoteSettingsClient extends EventEmitter { let thrownError = null; try { // If network is offline, we can't synchronize. - if (lazy.Utils.isOffline) { + if (!AppConstants.BASE_BROWSER_VERSION && lazy.Utils.isOffline) { throw new RemoteSettingsClient.NetworkOfflineError(); } @@ -1046,14 +1058,8 @@ export class RemoteSettingsClient extends EventEmitter { options = {} ) { const { retry = false } = options; - const since = retry || !localTimestamp ? undefined : `"${localTimestamp}"`; - // Fetch collection metadata and list of changes from server. - lazy.console.debug( - `${this.identifier} Fetch changes from server (expected=${expectedTimestamp}, since=${since})` - ); - const { metadata, remoteTimestamp, remoteRecords } = - await this._fetchChangeset(expectedTimestamp, since); + let metadata, remoteTimestamp; // We build a sync result, based on remote changes. const syncResult = { @@ -1062,24 +1068,20 @@ export class RemoteSettingsClient extends EventEmitter { updated: [], deleted: [], }; - // If data wasn't changed, return empty sync result. - // This can happen when we update the signature but not the data. - lazy.console.debug( - `${this.identifier} local timestamp: ${localTimestamp}, remote: ${remoteTimestamp}` - ); - if (localTimestamp && remoteTimestamp < localTimestamp) { + + try { + await this._importJSONDump(); + } catch (e) { return syncResult; } - await this.db.importChanges(metadata, remoteTimestamp, remoteRecords, { - clear: retry, - }); - // Read the new local data, after updating. const newLocal = await this.db.list(); const newRecords = newLocal.map(r => this._cleanLocalFields(r)); // And verify the signature on what is now stored. - if (this.verifySignature) { + if (metadata === undefined) { + // When working only with dumps, we do not have signatures. + } else if (this.verifySignature) { try { await this._validateCollectionSignature( newRecords, ===================================== services/settings/dumps/gen_last_modified.py ===================================== @@ -63,8 +63,10 @@ def main(output): dumps_locations = [] if buildconfig.substs["MOZ_BUILD_APP"] == "browser": dumps_locations += ["services/settings/dumps/"] + dumps_locations += ["services/settings/static-dumps/"] elif buildconfig.substs["MOZ_BUILD_APP"] == "mobile/android": dumps_locations += ["services/settings/dumps/"] + dumps_locations += ["services/settings/static-dumps/"] elif buildconfig.substs["MOZ_BUILD_APP"] == "mobile/ios": dumps_locations += ["services/settings/dumps/"] elif buildconfig.substs["MOZ_BUILD_APP"] == "comm/mail": ===================================== services/settings/remote-settings.sys.mjs ===================================== @@ -91,6 +91,7 @@ export async function jexlFilterFunc(entry, environment) { function remoteSettingsFunction() { const _clients = new Map(); let _invalidatePolling = false; + let _initialized = false; // If not explicitly specified, use the default signer. const defaultOptions = { @@ -194,21 +195,49 @@ function remoteSettingsFunction() { trigger = "manual", full = false, } = {}) => { + if (AppConstants.BASE_BROWSER_VERSION) { + // Called multiple times on GeckoView due to bug 1730026 + if (_initialized) { + return; + } + _initialized = true; + let importedFromDump = false; + for (const client of _clients.values()) { + const hasLocalDump = await lazy.Utils.hasLocalDump( + client.bucketName, + client.collectionName + ); + if (hasLocalDump) { + const lastModified = await client.getLastModified(); + const lastModifiedDump = await lazy.Utils.getLocalDumpLastModified( + client.bucketName, + client.collectionName + ); + if (lastModified < lastModifiedDump) { + await client.maybeSync(lastModifiedDump, { + loadDump: true, + trigger, + }); + importedFromDump = true; + } + } + } + if (importedFromDump) { + Services.obs.notifyObservers(null, "remote-settings:changes-poll-end"); + } + return; + } + if (lazy.Utils.shouldSkipRemoteActivityDueToTests) { return; } // When running in full mode, we ignore last polling status. - if (full || AppConstants.BASE_BROWSER_VERSION) { + if (full) { lazy.gPrefs.clearUserPref(PREF_SETTINGS_SERVER_BACKOFF); lazy.gPrefs.clearUserPref(PREF_SETTINGS_LAST_UPDATE); lazy.gPrefs.clearUserPref(PREF_SETTINGS_LAST_ETAG); } - if (AppConstants.BASE_BROWSER_VERSION) { - // tor-browser#41704: pollChanges is always online, so do not allow it. - return; - } - let pollTelemetryArgs = { source: TELEMETRY_SOURCE_POLL, trigger, ===================================== toolkit/modules/AppConstants.sys.mjs ===================================== @@ -423,11 +423,11 @@ export var AppConstants = Object.freeze({ #ifdef MOZ_THUNDERBIRD "https://thunderbird-settings.thunderbird.net/v1", #else - "https://firefox.settings.services.mozilla.com/v1", + "", #endif REMOTE_SETTINGS_VERIFY_SIGNATURE: -#ifdef MOZ_THUNDERBIRD +#if defined(MOZ_THUNDERBIRD) || defined(BASE_BROWSER_VERSION) false, #else true, ===================================== toolkit/modules/IgnoreLists.sys.mjs ===================================== @@ -5,16 +5,18 @@ const lazy = {}; ChromeUtils.defineESModuleGetters(lazy, { + RemoteSettings: "resource://services-settings/remote-settings.sys.mjs", RemoteSettingsClient: "resource://services-settings/RemoteSettingsClient.sys.mjs", }); -class IgnoreListsManager { - _ignoreListSettings = null; +const SETTINGS_IGNORELIST_KEY = "hijack-blocklists"; +class IgnoreListsManager { async init() { - // TODO: Restore the initialization, once we use only the local dumps for - // the remote settings. + if (!this._ignoreListSettings) { + this._ignoreListSettings = lazy.RemoteSettings(SETTINGS_IGNORELIST_KEY); + } } async getAndSubscribe(listener) { @@ -24,7 +26,7 @@ class IgnoreListsManager { const settings = await this._getIgnoreList(); // Listen for future updates after we first get the values. - this._ignoreListSettings?.on("sync", listener); + this._ignoreListSettings.on("sync", listener); return settings; } @@ -65,14 +67,6 @@ class IgnoreListsManager { * could be obtained. */ async _getIgnoreListSettings(firstTime = true) { - if (!this._ignoreListSettings) { - const dump = await fetch( - "resource:///defaults/settings/main/hijack-blocklists.json" - ); - const { data } = await dump.json(); - return data; - } - let result = []; try { result = await this._ignoreListSettings.get({ View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/71… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/71… You're receiving this email because of your account on gitlab.torproject.org. [View Less]
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-128.2.0esr-14.0-1] 2 commits: fixup! Bug 31740: Remove some unnecessary RemoteSettings instances
by Pier Angelo Vendrame (@pierov) 28 Aug '24

28 Aug '24
Pier Angelo Vendrame pushed to branch base-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 4281e5b9 by cypherpunks1 at 2024-08-28T17:40:16+02:00 fixup! Bug 31740: Remove some unnecessary RemoteSettings instances Bug 42730: Revert some changes - - - - - 0f01ba03 by cypherpunks1 at 2024-08-28T17:40:20+02:00 Bug 42730: Patch RemoteSettings to use only local dumps as a data source - - - - - 8 changed files: - browser/components/BrowserGlue.sys.mjs - mobile/… [View More]shared/chrome/geckoview/geckoview.js - services/settings/Attachments.sys.mjs - services/settings/RemoteSettingsClient.sys.mjs - services/settings/dumps/gen_last_modified.py - services/settings/remote-settings.sys.mjs - toolkit/modules/AppConstants.sys.mjs - toolkit/modules/IgnoreLists.sys.mjs Changes: ===================================== browser/components/BrowserGlue.sys.mjs ===================================== @@ -3387,6 +3387,11 @@ BrowserGlue.prototype = { lazy.RemoteSecuritySettings.init(); }, + function RemoteSettingsPollChanges() { + // Support clients that use the "sync" event or "remote-settings:changes-poll-end". + lazy.RemoteSettings.pollChanges({ trigger: "timer" }); + }, + function BrowserUsageTelemetryReportProfileCount() { lazy.BrowserUsageTelemetry.reportProfileCount(); }, ===================================== mobile/shared/chrome/geckoview/geckoview.js ===================================== @@ -21,6 +21,7 @@ ChromeUtils.defineESModuleGetters(this, { InitializationTracker: "resource://gre/modules/GeckoViewTelemetry.sys.mjs", RemoteSecuritySettings: "resource://gre/modules/psm/RemoteSecuritySettings.sys.mjs", + RemoteSettings: "resource://services-settings/remote-settings.sys.mjs", SafeBrowsing: "resource://gre/modules/SafeBrowsing.sys.mjs", }); @@ -922,6 +923,10 @@ function startup() { Blocklist.loadBlocklistAsync(); }); + InitLater(() => { + RemoteSettings.pollChanges({ trigger: "timer" }); + }); + // This should always go last, since the idle tasks (except for the ones with // timeouts) should execute in order. Note that this observer notification is // not guaranteed to fire, since the window could close before we get here. ===================================== services/settings/Attachments.sys.mjs ===================================== @@ -223,6 +223,10 @@ export class Downloader { fallbackToDump = false; } + avoidDownload = true; + fallbackToCache = true; + fallbackToDump = true; + const dumpInfo = new LazyRecordAndBuffer(() => this._readAttachmentDump(attachmentId) ); @@ -444,6 +448,8 @@ export class Downloader { attachment: { location, hash, size }, } = record; + return (await this.#fetchAttachment(record)).buffer; + // eslint-disable-next-line no-unreachable const remoteFileUrl = (await this._baseAttachmentsURL()) + location; const { retries = 3, checkHash = true } = options; ===================================== services/settings/RemoteSettingsClient.sys.mjs ===================================== @@ -424,11 +424,19 @@ export class RemoteSettingsClient extends EventEmitter { order = "", // not sorted by default. dumpFallback = true, emptyListFallback = true, - forceSync = false, loadDumpIfNewer = true, - syncIfEmpty = true, } = options; - let { verifySignature = false } = options; + + const hasLocalDump = await lazy.Utils.hasLocalDump( + this.bucketName, + this.collectionName + ); + if (!hasLocalDump) { + return []; + } + const forceSync = false; + const syncIfEmpty = true; + let verifySignature = false; const hasParallelCall = !!this._importingPromise; let data; @@ -598,6 +606,10 @@ export class RemoteSettingsClient extends EventEmitter { * @param {Object} options See #maybeSync() options. */ async sync(options) { + if (AppConstants.BASE_BROWSER_VERSION) { + return; + } + if (lazy.Utils.shouldSkipRemoteActivityDueToTests) { return; } @@ -664,7 +676,7 @@ export class RemoteSettingsClient extends EventEmitter { let thrownError = null; try { // If network is offline, we can't synchronize. - if (lazy.Utils.isOffline) { + if (!AppConstants.BASE_BROWSER_VERSION && lazy.Utils.isOffline) { throw new RemoteSettingsClient.NetworkOfflineError(); } @@ -1046,14 +1058,8 @@ export class RemoteSettingsClient extends EventEmitter { options = {} ) { const { retry = false } = options; - const since = retry || !localTimestamp ? undefined : `"${localTimestamp}"`; - // Fetch collection metadata and list of changes from server. - lazy.console.debug( - `${this.identifier} Fetch changes from server (expected=${expectedTimestamp}, since=${since})` - ); - const { metadata, remoteTimestamp, remoteRecords } = - await this._fetchChangeset(expectedTimestamp, since); + let metadata, remoteTimestamp; // We build a sync result, based on remote changes. const syncResult = { @@ -1062,24 +1068,20 @@ export class RemoteSettingsClient extends EventEmitter { updated: [], deleted: [], }; - // If data wasn't changed, return empty sync result. - // This can happen when we update the signature but not the data. - lazy.console.debug( - `${this.identifier} local timestamp: ${localTimestamp}, remote: ${remoteTimestamp}` - ); - if (localTimestamp && remoteTimestamp < localTimestamp) { + + try { + await this._importJSONDump(); + } catch (e) { return syncResult; } - await this.db.importChanges(metadata, remoteTimestamp, remoteRecords, { - clear: retry, - }); - // Read the new local data, after updating. const newLocal = await this.db.list(); const newRecords = newLocal.map(r => this._cleanLocalFields(r)); // And verify the signature on what is now stored. - if (this.verifySignature) { + if (metadata === undefined) { + // When working only with dumps, we do not have signatures. + } else if (this.verifySignature) { try { await this._validateCollectionSignature( newRecords, ===================================== services/settings/dumps/gen_last_modified.py ===================================== @@ -63,8 +63,10 @@ def main(output): dumps_locations = [] if buildconfig.substs["MOZ_BUILD_APP"] == "browser": dumps_locations += ["services/settings/dumps/"] + dumps_locations += ["services/settings/static-dumps/"] elif buildconfig.substs["MOZ_BUILD_APP"] == "mobile/android": dumps_locations += ["services/settings/dumps/"] + dumps_locations += ["services/settings/static-dumps/"] elif buildconfig.substs["MOZ_BUILD_APP"] == "mobile/ios": dumps_locations += ["services/settings/dumps/"] elif buildconfig.substs["MOZ_BUILD_APP"] == "comm/mail": ===================================== services/settings/remote-settings.sys.mjs ===================================== @@ -91,6 +91,7 @@ export async function jexlFilterFunc(entry, environment) { function remoteSettingsFunction() { const _clients = new Map(); let _invalidatePolling = false; + let _initialized = false; // If not explicitly specified, use the default signer. const defaultOptions = { @@ -194,21 +195,49 @@ function remoteSettingsFunction() { trigger = "manual", full = false, } = {}) => { + if (AppConstants.BASE_BROWSER_VERSION) { + // Called multiple times on GeckoView due to bug 1730026 + if (_initialized) { + return; + } + _initialized = true; + let importedFromDump = false; + for (const client of _clients.values()) { + const hasLocalDump = await lazy.Utils.hasLocalDump( + client.bucketName, + client.collectionName + ); + if (hasLocalDump) { + const lastModified = await client.getLastModified(); + const lastModifiedDump = await lazy.Utils.getLocalDumpLastModified( + client.bucketName, + client.collectionName + ); + if (lastModified < lastModifiedDump) { + await client.maybeSync(lastModifiedDump, { + loadDump: true, + trigger, + }); + importedFromDump = true; + } + } + } + if (importedFromDump) { + Services.obs.notifyObservers(null, "remote-settings:changes-poll-end"); + } + return; + } + if (lazy.Utils.shouldSkipRemoteActivityDueToTests) { return; } // When running in full mode, we ignore last polling status. - if (full || AppConstants.BASE_BROWSER_VERSION) { + if (full) { lazy.gPrefs.clearUserPref(PREF_SETTINGS_SERVER_BACKOFF); lazy.gPrefs.clearUserPref(PREF_SETTINGS_LAST_UPDATE); lazy.gPrefs.clearUserPref(PREF_SETTINGS_LAST_ETAG); } - if (AppConstants.BASE_BROWSER_VERSION) { - // tor-browser#41704: pollChanges is always online, so do not allow it. - return; - } - let pollTelemetryArgs = { source: TELEMETRY_SOURCE_POLL, trigger, ===================================== toolkit/modules/AppConstants.sys.mjs ===================================== @@ -423,11 +423,11 @@ export var AppConstants = Object.freeze({ #ifdef MOZ_THUNDERBIRD "https://thunderbird-settings.thunderbird.net/v1", #else - "https://firefox.settings.services.mozilla.com/v1", + "", #endif REMOTE_SETTINGS_VERIFY_SIGNATURE: -#ifdef MOZ_THUNDERBIRD +#if defined(MOZ_THUNDERBIRD) || defined(BASE_BROWSER_VERSION) false, #else true, ===================================== toolkit/modules/IgnoreLists.sys.mjs ===================================== @@ -5,16 +5,18 @@ const lazy = {}; ChromeUtils.defineESModuleGetters(lazy, { + RemoteSettings: "resource://services-settings/remote-settings.sys.mjs", RemoteSettingsClient: "resource://services-settings/RemoteSettingsClient.sys.mjs", }); -class IgnoreListsManager { - _ignoreListSettings = null; +const SETTINGS_IGNORELIST_KEY = "hijack-blocklists"; +class IgnoreListsManager { async init() { - // TODO: Restore the initialization, once we use only the local dumps for - // the remote settings. + if (!this._ignoreListSettings) { + this._ignoreListSettings = lazy.RemoteSettings(SETTINGS_IGNORELIST_KEY); + } } async getAndSubscribe(listener) { @@ -24,7 +26,7 @@ class IgnoreListsManager { const settings = await this._getIgnoreList(); // Listen for future updates after we first get the values. - this._ignoreListSettings?.on("sync", listener); + this._ignoreListSettings.on("sync", listener); return settings; } @@ -65,14 +67,6 @@ class IgnoreListsManager { * could be obtained. */ async _getIgnoreListSettings(firstTime = true) { - if (!this._ignoreListSettings) { - const dump = await fetch( - "resource:///defaults/settings/main/hijack-blocklists.json" - ); - const { data } = await dump.json(); - return data; - } - let result = []; try { result = await this._ignoreListSettings.get({ View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/ec9235… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/ec9235… You're receiving this email because of your account on gitlab.torproject.org. [View Less]
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.2.0esr-14.0-1] 2 commits: fixup! Bug 31740: Remove some unnecessary RemoteSettings instances
by Pier Angelo Vendrame (@pierov) 28 Aug '24

28 Aug '24
Pier Angelo Vendrame pushed to branch tor-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 196b0053 by cypherpunks1 at 2024-08-28T05:34:49-08:00 fixup! Bug 31740: Remove some unnecessary RemoteSettings instances Bug 42730: Revert some changes - - - - - 902c51f9 by cypherpunks1 at 2024-08-28T06:27:27-08:00 Bug 42730: Patch RemoteSettings to use only local dumps as a data source - - - - - 8 changed files: - browser/components/BrowserGlue.sys.mjs - mobile/… [View More]shared/chrome/geckoview/geckoview.js - services/settings/Attachments.sys.mjs - services/settings/RemoteSettingsClient.sys.mjs - services/settings/dumps/gen_last_modified.py - services/settings/remote-settings.sys.mjs - toolkit/modules/AppConstants.sys.mjs - toolkit/modules/IgnoreLists.sys.mjs Changes: ===================================== browser/components/BrowserGlue.sys.mjs ===================================== @@ -3497,6 +3497,11 @@ BrowserGlue.prototype = { lazy.RemoteSecuritySettings.init(); }, + function RemoteSettingsPollChanges() { + // Support clients that use the "sync" event or "remote-settings:changes-poll-end". + lazy.RemoteSettings.pollChanges({ trigger: "timer" }); + }, + function BrowserUsageTelemetryReportProfileCount() { lazy.BrowserUsageTelemetry.reportProfileCount(); }, ===================================== mobile/shared/chrome/geckoview/geckoview.js ===================================== @@ -21,6 +21,7 @@ ChromeUtils.defineESModuleGetters(this, { InitializationTracker: "resource://gre/modules/GeckoViewTelemetry.sys.mjs", RemoteSecuritySettings: "resource://gre/modules/psm/RemoteSecuritySettings.sys.mjs", + RemoteSettings: "resource://services-settings/remote-settings.sys.mjs", SafeBrowsing: "resource://gre/modules/SafeBrowsing.sys.mjs", }); @@ -922,6 +923,10 @@ function startup() { Blocklist.loadBlocklistAsync(); }); + InitLater(() => { + RemoteSettings.pollChanges({ trigger: "timer" }); + }); + // This should always go last, since the idle tasks (except for the ones with // timeouts) should execute in order. Note that this observer notification is // not guaranteed to fire, since the window could close before we get here. ===================================== services/settings/Attachments.sys.mjs ===================================== @@ -223,6 +223,10 @@ export class Downloader { fallbackToDump = false; } + avoidDownload = true; + fallbackToCache = true; + fallbackToDump = true; + const dumpInfo = new LazyRecordAndBuffer(() => this._readAttachmentDump(attachmentId) ); @@ -444,6 +448,8 @@ export class Downloader { attachment: { location, hash, size }, } = record; + return (await this.#fetchAttachment(record)).buffer; + // eslint-disable-next-line no-unreachable const remoteFileUrl = (await this._baseAttachmentsURL()) + location; const { retries = 3, checkHash = true } = options; ===================================== services/settings/RemoteSettingsClient.sys.mjs ===================================== @@ -424,11 +424,19 @@ export class RemoteSettingsClient extends EventEmitter { order = "", // not sorted by default. dumpFallback = true, emptyListFallback = true, - forceSync = false, loadDumpIfNewer = true, - syncIfEmpty = true, } = options; - let { verifySignature = false } = options; + + const hasLocalDump = await lazy.Utils.hasLocalDump( + this.bucketName, + this.collectionName + ); + if (!hasLocalDump) { + return []; + } + const forceSync = false; + const syncIfEmpty = true; + let verifySignature = false; const hasParallelCall = !!this._importingPromise; let data; @@ -598,6 +606,10 @@ export class RemoteSettingsClient extends EventEmitter { * @param {Object} options See #maybeSync() options. */ async sync(options) { + if (AppConstants.BASE_BROWSER_VERSION) { + return; + } + if (lazy.Utils.shouldSkipRemoteActivityDueToTests) { return; } @@ -664,7 +676,7 @@ export class RemoteSettingsClient extends EventEmitter { let thrownError = null; try { // If network is offline, we can't synchronize. - if (lazy.Utils.isOffline) { + if (!AppConstants.BASE_BROWSER_VERSION && lazy.Utils.isOffline) { throw new RemoteSettingsClient.NetworkOfflineError(); } @@ -1046,14 +1058,8 @@ export class RemoteSettingsClient extends EventEmitter { options = {} ) { const { retry = false } = options; - const since = retry || !localTimestamp ? undefined : `"${localTimestamp}"`; - // Fetch collection metadata and list of changes from server. - lazy.console.debug( - `${this.identifier} Fetch changes from server (expected=${expectedTimestamp}, since=${since})` - ); - const { metadata, remoteTimestamp, remoteRecords } = - await this._fetchChangeset(expectedTimestamp, since); + let metadata, remoteTimestamp; // We build a sync result, based on remote changes. const syncResult = { @@ -1062,24 +1068,20 @@ export class RemoteSettingsClient extends EventEmitter { updated: [], deleted: [], }; - // If data wasn't changed, return empty sync result. - // This can happen when we update the signature but not the data. - lazy.console.debug( - `${this.identifier} local timestamp: ${localTimestamp}, remote: ${remoteTimestamp}` - ); - if (localTimestamp && remoteTimestamp < localTimestamp) { + + try { + await this._importJSONDump(); + } catch (e) { return syncResult; } - await this.db.importChanges(metadata, remoteTimestamp, remoteRecords, { - clear: retry, - }); - // Read the new local data, after updating. const newLocal = await this.db.list(); const newRecords = newLocal.map(r => this._cleanLocalFields(r)); // And verify the signature on what is now stored. - if (this.verifySignature) { + if (metadata === undefined) { + // When working only with dumps, we do not have signatures. + } else if (this.verifySignature) { try { await this._validateCollectionSignature( newRecords, ===================================== services/settings/dumps/gen_last_modified.py ===================================== @@ -63,8 +63,10 @@ def main(output): dumps_locations = [] if buildconfig.substs["MOZ_BUILD_APP"] == "browser": dumps_locations += ["services/settings/dumps/"] + dumps_locations += ["services/settings/static-dumps/"] elif buildconfig.substs["MOZ_BUILD_APP"] == "mobile/android": dumps_locations += ["services/settings/dumps/"] + dumps_locations += ["services/settings/static-dumps/"] elif buildconfig.substs["MOZ_BUILD_APP"] == "mobile/ios": dumps_locations += ["services/settings/dumps/"] elif buildconfig.substs["MOZ_BUILD_APP"] == "comm/mail": ===================================== services/settings/remote-settings.sys.mjs ===================================== @@ -91,6 +91,7 @@ export async function jexlFilterFunc(entry, environment) { function remoteSettingsFunction() { const _clients = new Map(); let _invalidatePolling = false; + let _initialized = false; // If not explicitly specified, use the default signer. const defaultOptions = { @@ -194,21 +195,49 @@ function remoteSettingsFunction() { trigger = "manual", full = false, } = {}) => { + if (AppConstants.BASE_BROWSER_VERSION) { + // Called multiple times on GeckoView due to bug 1730026 + if (_initialized) { + return; + } + _initialized = true; + let importedFromDump = false; + for (const client of _clients.values()) { + const hasLocalDump = await lazy.Utils.hasLocalDump( + client.bucketName, + client.collectionName + ); + if (hasLocalDump) { + const lastModified = await client.getLastModified(); + const lastModifiedDump = await lazy.Utils.getLocalDumpLastModified( + client.bucketName, + client.collectionName + ); + if (lastModified < lastModifiedDump) { + await client.maybeSync(lastModifiedDump, { + loadDump: true, + trigger, + }); + importedFromDump = true; + } + } + } + if (importedFromDump) { + Services.obs.notifyObservers(null, "remote-settings:changes-poll-end"); + } + return; + } + if (lazy.Utils.shouldSkipRemoteActivityDueToTests) { return; } // When running in full mode, we ignore last polling status. - if (full || AppConstants.BASE_BROWSER_VERSION) { + if (full) { lazy.gPrefs.clearUserPref(PREF_SETTINGS_SERVER_BACKOFF); lazy.gPrefs.clearUserPref(PREF_SETTINGS_LAST_UPDATE); lazy.gPrefs.clearUserPref(PREF_SETTINGS_LAST_ETAG); } - if (AppConstants.BASE_BROWSER_VERSION) { - // tor-browser#41704: pollChanges is always online, so do not allow it. - return; - } - let pollTelemetryArgs = { source: TELEMETRY_SOURCE_POLL, trigger, ===================================== toolkit/modules/AppConstants.sys.mjs ===================================== @@ -423,11 +423,11 @@ export var AppConstants = Object.freeze({ #ifdef MOZ_THUNDERBIRD "https://thunderbird-settings.thunderbird.net/v1", #else - "https://firefox.settings.services.mozilla.com/v1", + "", #endif REMOTE_SETTINGS_VERIFY_SIGNATURE: -#ifdef MOZ_THUNDERBIRD +#if defined(MOZ_THUNDERBIRD) || defined(BASE_BROWSER_VERSION) false, #else true, ===================================== toolkit/modules/IgnoreLists.sys.mjs ===================================== @@ -5,16 +5,18 @@ const lazy = {}; ChromeUtils.defineESModuleGetters(lazy, { + RemoteSettings: "resource://services-settings/remote-settings.sys.mjs", RemoteSettingsClient: "resource://services-settings/RemoteSettingsClient.sys.mjs", }); -class IgnoreListsManager { - _ignoreListSettings = null; +const SETTINGS_IGNORELIST_KEY = "hijack-blocklists"; +class IgnoreListsManager { async init() { - // TODO: Restore the initialization, once we use only the local dumps for - // the remote settings. + if (!this._ignoreListSettings) { + this._ignoreListSettings = lazy.RemoteSettings(SETTINGS_IGNORELIST_KEY); + } } async getAndSubscribe(listener) { @@ -24,7 +26,7 @@ class IgnoreListsManager { const settings = await this._getIgnoreList(); // Listen for future updates after we first get the values. - this._ignoreListSettings?.on("sync", listener); + this._ignoreListSettings.on("sync", listener); return settings; } @@ -65,14 +67,6 @@ class IgnoreListsManager { * could be obtained. */ async _getIgnoreListSettings(firstTime = true) { - if (!this._ignoreListSettings) { - const dump = await fetch( - "resource:///defaults/settings/main/hijack-blocklists.json" - ); - const { data } = await dump.json(); - return data; - } - let result = []; try { result = await this._ignoreListSettings.get({ View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/3a0765… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/3a0765… You're receiving this email because of your account on gitlab.torproject.org. [View Less]
1 0
0 0
  • ← Newer
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • ...
  • 29
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.