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
Threads by month
  • ----- 2026 -----
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • 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

  • 1 participants
  • 20226 discussions
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] fixup! Firefox preference overrides.
by henry (@henry) 31 Mar '26

31 Mar '26
henry pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 9c9c2780 by Henry Wilkes at 2026-03-31T17:23:04+01:00 fixup! Firefox preference overrides. BB 44814: Hide the unified trust panel. - - - - - 1 changed file: - browser/app/profile/001-base-profile.js Changes: ===================================== browser/app/profile/001-base-profile.js ===================================== @@ -295,6 +295,8 @@ pref("privacy.trackingprotection.annotate_channels", false); pref("privacy.trackingprotection.cryptomining.enabled", false); pref("privacy.trackingprotection.fingerprinting.enabled", false); pref("privacy.trackingprotection.socialtracking.enabled", false); +// Hide the Unified Trust Panel until we have new designs. tor-browser#44814. +pref("browser.urlbar.trustPanel.featureGate", false); // tor-browser#43986: Explicitly disable bounce tracking protection pref("privacy.bounceTrackingProtection.mode", 0); pref("privacy.socialtracking.block_cookies.enabled", false); View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/9c9c278… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/9c9c278… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] 2 commits: Bug 41753: Add pre_go_vendor and go_vendor_patch vars
by Pier Angelo Vendrame (@pierov) 31 Mar '26

31 Mar '26
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 9c867ad5 by Cecylia Bocovich at 2026-03-31T18:18:17+02:00 Bug 41753: Add pre_go_vendor and go_vendor_patch vars Let projects define pre_go_vendor and go_vendor_patch variables for the purpose of patching vendored dependencies. - - - - - 9d1d9a64 by Cecylia Bocovich at 2026-03-31T18:18:17+02:00 Bug 41753: Keep lyrebird support for go1.22 in macos only - - - - - 4 changed files: - Makefile - projects/lyrebird/build - projects/lyrebird/config - rbm.conf Changes: ===================================== Makefile ===================================== @@ -476,6 +476,9 @@ go_vendor-conjure: submodule-update go_vendor-lyrebird: submodule-update $(rbm) build lyrebird --step go_vendor --target alpha --target torbrowser-linux-x86_64 +go_vendor-lyrebird-macos: submodule-update + $(rbm) build lyrebird --step go_vendor --target alpha --target torbrowser-macos + go_vendor-go-licenses: submodule-update $(rbm) build go-licenses --step go_vendor --target alpha --target torbrowser-linux-x86_64 ===================================== projects/lyrebird/build ===================================== @@ -18,6 +18,12 @@ mkdir -p /var/tmp/build tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %] cd /var/tmp/build/[% project %]-[% c('version') %] +[% IF c("var/macos") -%] + if [ -e "go-1.22.patch" ]; then + patch -p1 < "go-1.22.patch" + fi +[% END -%] + tar -xf $rootdir/[% c('input_files_by_name/go_vendor') %] go build -mod=vendor -ldflags '-X main.lyrebirdVersion=[% c("version") %] -s[% IF c("var/android") %] -checklinkname=0[% END %]' ./cmd/lyrebird ===================================== projects/lyrebird/config ===================================== @@ -16,8 +16,13 @@ targets: git_hash: main version: '[% c("abbrev") %]' tag_gpg_id: 0 + macos: var: - go_vendor_sha256sum: '' + go_vendor_sha256sum: 6a054acb7793becdbcb9a08ce7781f3d331f15e85242b399fcef96fb89941f4d + pre_go_vendor: | + if [ -e "/var/tmp/build/[% project %]-[% c('version') %]/go-1.22.patch" ]; then + patch -p1 < "/var/tmp/build/[% project %]-[% c('version') %]/go-1.22.patch" + fi steps: build: @@ -33,9 +38,7 @@ steps: pkg_type: go_vendor project: lyrebird norec: - sha256sum: '[% c("var/go_vendor_sha256sum") %]' - target_replace: - '^torbrowser-(?!testbuild).*': 'torbrowser-linux-x86_64' + sha256sum: '[% IF !c("var/nightly") %][% c("var/go_vendor_sha256sum") %][% END %]' - name: go-licenses project: go-licenses target_replace: ===================================== rbm.conf ===================================== @@ -57,6 +57,7 @@ steps: mkdir -p /var/tmp/build tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %] cd /var/tmp/build/[% project %]-[% c('version') %] + [% IF c("var/pre_go_vendor"); GET c("var/pre_go_vendor"); END -%] go mod vendor [% c('tar', { tar_src => [ 'vendor' ], View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-149.0a1-16.0-2] BB 44801: Redact onion origins from Location.ancestorOrigins.
by ma1 (@ma1) 31 Mar '26

31 Mar '26
ma1 pushed to branch mullvad-browser-149.0a1-16.0-2 at The Tor Project / Applications / Mullvad Browser Commits: 6a686c89 by hackademix at 2026-03-31T15:49:38+02:00 BB 44801: Redact onion origins from Location.ancestorOrigins. - - - - - 1 changed file: - docshell/base/CanonicalBrowsingContext.cpp Changes: ===================================== docshell/base/CanonicalBrowsingContext.cpp ===================================== @@ -41,6 +41,7 @@ #include "mozilla/StaticPrefs_browser.h" #include "mozilla/StaticPrefs_docshell.h" #include "mozilla/StaticPrefs_fission.h" +#include "mozilla/StaticPrefs_network.h" #include "mozilla/StaticPrefs_security.h" #include "mozilla/glean/DomMetrics.h" #include "nsILayoutHistoryState.h" @@ -3695,6 +3696,10 @@ void CanonicalBrowsingContext::CreateRedactedAncestorOriginsList( // 11. Let masked be false. bool masked = false; + // Tor-specific, not in spec: + // we want to redact cross-origin onions if hideOnionSource is true. + bool redactOnions = StaticPrefs::network_http_referer_hideOnionSource(); + if (referrerPolicy == ReferrerPolicy::No_referrer) { // 12. If referrerPolicy is "no-referrer", then set masked to true. masked = true; @@ -3705,6 +3710,12 @@ void CanonicalBrowsingContext::CreateRedactedAncestorOriginsList( // origin is not same origin with innerDoc's origin, then set masked to // true. masked = true; + } else if (redactOnions && ancestorWGP->DocumentPricipal()->GetIsOnion() && + !ancestorWGP->DocumentPrincipal()->Equals( + aThisDocumentPrincipal)) { + // Tor-specific, not in spec: + // mask parent origin if it's an onion it's different than this document's. + masked = true; } if (masked) { @@ -3721,6 +3732,13 @@ void CanonicalBrowsingContext::CreateRedactedAncestorOriginsList( // 16. For each ancestorOrigin of ancestorOrigins: for (const auto& ancestorOrigin : parentAncestorOriginsList) { + // Tor-specific, not in spec: + // Redact any ancestor onion origin different than this document's origin. + if (redactOnions && ancestorOrigin && ancestorOrigin->GetIsOnion() && + !ancestorOrigin->Equals(aThisDocumentPrincipal)) { + ancestorPrincipals.AppendElement(nullptr); + continue; + } // 16.1 if masked is true if (masked && ancestorOrigin && ancestorOrigin->Equals(ancestorWGP->DocumentPrincipal())) { View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/6a6… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/6a6… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] fixup! TB 40041 [android]: Implement Tor Network Settings
by Pier Angelo Vendrame (@pierov) 31 Mar '26

31 Mar '26
Pier Angelo Vendrame pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: d4bb5dd4 by clairehurst at 2026-03-31T14:41:08+02:00 fixup! TB 40041 [android]: Implement Tor Network Settings - - - - - 1 changed file: - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorLogsComposeFragment.kt Changes: ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorLogsComposeFragment.kt ===================================== @@ -11,6 +11,7 @@ import android.view.ViewGroup import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding @@ -53,6 +54,7 @@ class TorLogsComposeFragment : Fragment() { Scaffold( floatingActionButton = { CopyLogsButton() }, content = { TorLogs(paddingValues = it) }, + contentWindowInsets = WindowInsets(left = 0, top = 0, right = 0, bottom = 0), ) } } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/d4bb5dd… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/d4bb5dd… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser-update-responses][main] Create a 13.5-specific update path (tor-browser-build#41741)
by boklm (@boklm) 31 Mar '26

31 Mar '26
boklm pushed to branch main at The Tor Project / Applications / Tor Browser update responses Commits: 117479d2 by Nicolas Vigier at 2026-03-31T11:54:01+02:00 Create a 13.5-specific update path (tor-browser-build#41741) - - - - - 35 changed files: - update_3/release/.htaccess - update_3/release/linux-i686/.htaccess - update_3/release/linux-i686/update-15.0.5-15.0.8+13.5.29-linux-i686.xml → update_3/release/linux-i686/update-15.0.5-15.0.8-linux-i686.xml - update_3/release/linux-i686/update-15.0.6-15.0.8+13.5.29-linux-i686.xml → update_3/release/linux-i686/update-15.0.6-15.0.8-linux-i686.xml - update_3/release/linux-i686/update-15.0.7-15.0.8+13.5.29-linux-i686.xml → update_3/release/linux-i686/update-15.0.7-15.0.8-linux-i686.xml - update_3/release/linux-i686/update-15.0.8+13.5.29-linux-i686.xml → update_3/release/linux-i686/update-15.0.8-linux-i686.xml - update_3/release/linux-x86_64/.htaccess - update_3/release/linux-x86_64/update-15.0.5-15.0.8+13.5.29-linux-x86_64.xml → update_3/release/linux-x86_64/update-15.0.5-15.0.8-linux-x86_64.xml - update_3/release/linux-x86_64/update-15.0.6-15.0.8+13.5.29-linux-x86_64.xml → update_3/release/linux-x86_64/update-15.0.6-15.0.8-linux-x86_64.xml - update_3/release/linux-x86_64/update-15.0.7-15.0.8+13.5.29-linux-x86_64.xml → update_3/release/linux-x86_64/update-15.0.7-15.0.8-linux-x86_64.xml - update_3/release/linux-x86_64/update-15.0.8+13.5.29-linux-x86_64.xml → update_3/release/linux-x86_64/update-15.0.8-linux-x86_64.xml - update_3/release/macos/.htaccess - − update_3/release/macos/update-13.5.26-15.0.8+13.5.29-macos.xml - − update_3/release/macos/update-13.5.27-15.0.8+13.5.29-macos.xml - − update_3/release/macos/update-13.5.28-15.0.8+13.5.29-macos.xml - update_3/release/macos/update-15.0.5-15.0.8+13.5.29-macos.xml → update_3/release/macos/update-15.0.5-15.0.8-macos.xml - update_3/release/macos/update-15.0.6-15.0.8+13.5.29-macos.xml → update_3/release/macos/update-15.0.6-15.0.8-macos.xml - update_3/release/macos/update-15.0.7-15.0.8+13.5.29-macos.xml → update_3/release/macos/update-15.0.7-15.0.8-macos.xml - update_3/release/macos/update-15.0.8+13.5.29-macos.xml → update_3/release/macos/update-15.0.8-macos.xml - update_3/release/windows-i686/.htaccess - − update_3/release/windows-i686/update-13.5.26-15.0.8+13.5.29-windows-i686.xml - − update_3/release/windows-i686/update-13.5.27-15.0.8+13.5.29-windows-i686.xml - − update_3/release/windows-i686/update-13.5.28-15.0.8+13.5.29-windows-i686.xml - update_3/release/windows-i686/update-15.0.5-15.0.8+13.5.29-windows-i686.xml → update_3/release/windows-i686/update-15.0.5-15.0.8-windows-i686.xml - update_3/release/windows-i686/update-15.0.6-15.0.8+13.5.29-windows-i686.xml → update_3/release/windows-i686/update-15.0.6-15.0.8-windows-i686.xml - update_3/release/windows-i686/update-15.0.7-15.0.8+13.5.29-windows-i686.xml → update_3/release/windows-i686/update-15.0.7-15.0.8-windows-i686.xml - update_3/release/windows-i686/update-15.0.8+13.5.29-windows-i686.xml → update_3/release/windows-i686/update-15.0.8-windows-i686.xml - update_3/release/windows-x86_64/.htaccess - − update_3/release/windows-x86_64/update-13.5.26-15.0.8+13.5.29-windows-x86_64.xml - − update_3/release/windows-x86_64/update-13.5.27-15.0.8+13.5.29-windows-x86_64.xml - − update_3/release/windows-x86_64/update-13.5.28-15.0.8+13.5.29-windows-x86_64.xml - update_3/release/windows-x86_64/update-15.0.5-15.0.8+13.5.29-windows-x86_64.xml → update_3/release/windows-x86_64/update-15.0.5-15.0.8-windows-x86_64.xml - update_3/release/windows-x86_64/update-15.0.6-15.0.8+13.5.29-windows-x86_64.xml → update_3/release/windows-x86_64/update-15.0.6-15.0.8-windows-x86_64.xml - update_3/release/windows-x86_64/update-15.0.7-15.0.8+13.5.29-windows-x86_64.xml → update_3/release/windows-x86_64/update-15.0.7-15.0.8-windows-x86_64.xml - update_3/release/windows-x86_64/update-15.0.8+13.5.29-windows-x86_64.xml → update_3/release/windows-x86_64/update-15.0.8-windows-x86_64.xml The diff was not included because it is too large. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-update-responses… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-update-responses… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser-build][maint-15.0] Bug 41741: Remove var/torbrowser_legacy_version from rbm.conf
by boklm (@boklm) 31 Mar '26

31 Mar '26
boklm pushed to branch maint-15.0 at The Tor Project / Applications / tor-browser-build Commits: e10f5a65 by Nicolas Vigier at 2026-03-30T19:01:15+02:00 Bug 41741: Remove var/torbrowser_legacy_version from rbm.conf And var/torbrowser_legacy_platform_version. - - - - - 1 changed file: - rbm.conf Changes: ===================================== rbm.conf ===================================== @@ -134,9 +134,6 @@ var: - '[% IF c("var/mullvad-browser") %]15.0.4[% END %]' mar_channel_id: '[% c("var/projectname") %]-torproject-[% c("var/channel") %]' - torbrowser_legacy_version: 13.5.29 - torbrowser_legacy_platform_version: 115.33.0 - # By default, we sort the list of installed packages. This allows sharing # containers with identical list of packages, even if they are not listed # in the same order. In the cases where the installation order is View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/e… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/e… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-149.0a1-16.0-2] 2 commits: fixup! BB 43902: Modify the new sidebar for Base Browser.
by henry (@henry) 31 Mar '26

31 Mar '26
henry pushed to branch mullvad-browser-149.0a1-16.0-2 at The Tor Project / Applications / Mullvad Browser Commits: 1a7a0645 by Henry Wilkes at 2026-03-31T13:35:25+01:00 fixup! BB 43902: Modify the new sidebar for Base Browser. BB 44765: Restore the limited sidebar description. - - - - - 10f9b64c by Henry Wilkes at 2026-03-31T13:35:26+01:00 fixup! Base Browser strings BB 44765: Adjust the sidebar description to include the label attribute. - - - - - 2 changed files: - browser/components/preferences/main.js - toolkit/locales/en-US/toolkit/global/base-browser.ftl Changes: ===================================== browser/components/preferences/main.js ===================================== @@ -3137,7 +3137,9 @@ SettingGroupManager.registerGroups({ }, { id: "browserLayoutShowSidebar", - l10nId: "browser-layout-show-sidebar2", + // Update the sidebar description to remove mentioning features that we + // don't have in Base Browser. See tor-browser#44159. + l10nId: "browser-layout-show-sidebar-limited", }, ], }, ===================================== toolkit/locales/en-US/toolkit/global/base-browser.ftl ===================================== @@ -104,7 +104,11 @@ letterboxing-enable-button = ## Preferences - Sidebar. -browser-layout-show-sidebar-desc-limited = Quickly access bookmarks and more without leaving your main view. +# Here "sidebar" is a term inherited from Firefox. It refers to the panel that is either side of the main browser window, containing the bookmarks and vertical tabs, if they are enabled. +# In general, "Show sidebar" should use the same translation as Firefox translators have chosen for the string "browser-layout-show-sidebar2". See Firefox's translation on Pontoon, using the "LOCALES" tab: https://pontoon.mozilla.org/ar/firefox/browser/browser/preferences/preferen… . Or use the translation for "sidebar": https://pontoon.mozilla.org/af/terminology/common/?string=212298 . +browser-layout-show-sidebar-limited = + .label = Show sidebar + .description = Quickly access bookmarks and more without leaving your main view. ## Preferences - Contrast Control. View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/16… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/16… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] 3 commits: fixup! BB 43902: Modify the new sidebar for Base Browser.
by henry (@henry) 31 Mar '26

31 Mar '26
henry pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 31c4bf89 by Henry Wilkes at 2026-03-31T10:20:56+01:00 fixup! BB 43902: Modify the new sidebar for Base Browser. BB 44765: Restore the limited sidebar description. - - - - - 65283c72 by Henry Wilkes at 2026-03-31T10:21:41+01:00 fixup! Base Browser strings BB 44765: Adjust the sidebar description to include the label attribute. - - - - - d44fec0a by Henry Wilkes at 2026-03-31T10:21:42+01:00 fixup! Tor Browser localization migration scripts. TB 44765: Add a Fluent migration. - - - - - 3 changed files: - browser/components/preferences/main.js - toolkit/locales/en-US/toolkit/global/base-browser.ftl - + tools/torbrowser/l10n/migrations/bug-44765-sidebar-description.py Changes: ===================================== browser/components/preferences/main.js ===================================== @@ -3141,7 +3141,9 @@ SettingGroupManager.registerGroups({ }, { id: "browserLayoutShowSidebar", - l10nId: "browser-layout-show-sidebar2", + // Update the sidebar description to remove mentioning features that we + // don't have in Base Browser. See tor-browser#44159. + l10nId: "browser-layout-show-sidebar-limited", }, ], }, ===================================== toolkit/locales/en-US/toolkit/global/base-browser.ftl ===================================== @@ -104,7 +104,11 @@ letterboxing-enable-button = ## Preferences - Sidebar. -browser-layout-show-sidebar-desc-limited = Quickly access bookmarks and more without leaving your main view. +# Here "sidebar" is a term inherited from Firefox. It refers to the panel that is either side of the main browser window, containing the bookmarks and vertical tabs, if they are enabled. +# In general, "Show sidebar" should use the same translation as Firefox translators have chosen for the string "browser-layout-show-sidebar2". See Firefox's translation on Pontoon, using the "LOCALES" tab: https://pontoon.mozilla.org/ar/firefox/browser/browser/preferences/preferen… . Or use the translation for "sidebar": https://pontoon.mozilla.org/af/terminology/common/?string=212298 . +browser-layout-show-sidebar-limited = + .label = Show sidebar + .description = Quickly access bookmarks and more without leaving your main view. ## Preferences - Contrast Control. ===================================== tools/torbrowser/l10n/migrations/bug-44765-sidebar-description.py ===================================== @@ -0,0 +1,22 @@ +from fluent.migrate.helpers import transforms_from + + +def migrate(ctx): + # NOTE: preferences.ftl comes from firefox-l10n repository, under the path: + # <locale>/browser/browser/preferences/preferences.ftl + # which will need to be added the translations worktree under the path: + # <locale>/preferences.ftl + # prior to running this migration. + ctx.add_transforms( + "base-browser.ftl", + "base-browser.ftl", + transforms_from( + """ +browser-layout-show-sidebar-limited = + .label = { COPY_PATTERN(preferences_path, "browser-layout-show-sidebar2.label") } + .description = { COPY_PATTERN(path, "browser-layout-show-sidebar-desc-limited") } +""", + path="base-browser.ftl", + preferences_path="preferences.ftl", + ), + ) View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/144717… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/144717… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] BB 44801: Redact onion origins from Location.ancestorOrigins.
by ma1 (@ma1) 31 Mar '26

31 Mar '26
ma1 pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 14471768 by hackademix at 2026-03-31T10:04:01+02:00 BB 44801: Redact onion origins from Location.ancestorOrigins. - - - - - 1 changed file: - docshell/base/CanonicalBrowsingContext.cpp Changes: ===================================== docshell/base/CanonicalBrowsingContext.cpp ===================================== @@ -41,6 +41,7 @@ #include "mozilla/StaticPrefs_browser.h" #include "mozilla/StaticPrefs_docshell.h" #include "mozilla/StaticPrefs_fission.h" +#include "mozilla/StaticPrefs_network.h" #include "mozilla/StaticPrefs_security.h" #include "mozilla/glean/DomMetrics.h" #include "nsILayoutHistoryState.h" @@ -3695,6 +3696,10 @@ void CanonicalBrowsingContext::CreateRedactedAncestorOriginsList( // 11. Let masked be false. bool masked = false; + // Tor-specific, not in spec: + // we want to redact cross-origin onions if hideOnionSource is true. + bool redactOnions = StaticPrefs::network_http_referer_hideOnionSource(); + if (referrerPolicy == ReferrerPolicy::No_referrer) { // 12. If referrerPolicy is "no-referrer", then set masked to true. masked = true; @@ -3705,6 +3710,12 @@ void CanonicalBrowsingContext::CreateRedactedAncestorOriginsList( // origin is not same origin with innerDoc's origin, then set masked to // true. masked = true; + } else if (redactOnions && ancestorWGP->DocumentPricipal()->GetIsOnion() && + !ancestorWGP->DocumentPrincipal()->Equals( + aThisDocumentPrincipal)) { + // Tor-specific, not in spec: + // mask parent origin if it's an onion it's different than this document's. + masked = true; } if (masked) { @@ -3721,6 +3732,13 @@ void CanonicalBrowsingContext::CreateRedactedAncestorOriginsList( // 16. For each ancestorOrigin of ancestorOrigins: for (const auto& ancestorOrigin : parentAncestorOriginsList) { + // Tor-specific, not in spec: + // Redact any ancestor onion origin different than this document's origin. + if (redactOnions && ancestorOrigin && ancestorOrigin->GetIsOnion() && + !ancestorOrigin->Equals(aThisDocumentPrincipal)) { + ancestorPrincipals.AppendElement(nullptr); + continue; + } // 16.1 if masked is true if (masked && ancestorOrigin && ancestorOrigin->Equals(ancestorWGP->DocumentPrincipal())) { View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/1447176… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/1447176… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] fixup! TB 44591: Force extensions initialization on startup.
by clairehurst (@clairehurst) 30 Mar '26

30 Mar '26
clairehurst pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: b419c1df by clairehurst at 2026-03-30T10:45:38-06:00 fixup! TB 44591: Force extensions initialization on startup. Revert "TB 44591: Force extensions initialization on startup." This reverts commit bd2c6529c5e5c32677673df898983ae1699aff71. - - - - - 1 changed file: - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt Changes: ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt ===================================== @@ -32,7 +32,6 @@ import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.async import kotlinx.coroutines.launch import mozilla.appservices.autofill.AutofillApiException -import mozilla.components.browser.engine.gecko.GeckoEngine import mozilla.components.browser.state.action.SystemAction import mozilla.components.browser.state.selector.selectedTab import mozilla.components.browser.state.store.BrowserStore @@ -839,20 +838,6 @@ open class FenixApplication : Application(), Provider, ThemeProvider { components.useCases.tabsUseCases.selectTab(sessionId) }, onExtensionsLoaded = { extensions -> - - // temp fix for tb#44591 "fails to initialize WebExtensions" - // disable and enable each extension to properly initialize them - extensions.forEach { extension -> - if (extension.isEnabled()) { - (components.core.engine as GeckoEngine).disableWebExtension( - extension, - onSuccess = { - (components.core.engine as GeckoEngine).enableWebExtension(extension) - }, - ) - } - } - // Delay until bootstrap is finished so that it will actually update tor-browser#44303 components.torController.registerRunOnceBootstrapped(object : RunOnceBootstrapped { override fun onBootstrapped() { View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/b419c1d… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/b419c1d… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] fixup! TB 27476: Implement about:torconnect captive portal within Tor Browser
by henry (@henry) 30 Mar '26

30 Mar '26
henry pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: e9a76ea0 by Henry Wilkes at 2026-03-30T16:44:16+01:00 fixup! TB 27476: Implement about:torconnect captive portal within Tor Browser TB 44797: Clean up about:torconnect styling. 1. Do not use `error-pages.css`. This made the previous page too quirky and meant we had to deal with styling interference from mozilla. We only need a few of our own CSS additions to cover the useful styling we inherited before. 2. Rather than share elements, each stage will get its own `torconnect-stage-content` element, which will show the corresponding stage. This should simplify the javascript once this is complete. And it should make future adjustments easier. See below. 3. Change the body `display` to `grid`, which can dynamically handle the spacing of all elements. One improvement is that this will ensure that the progress bar's shadow will not overlap the title when the vertical height is narrow. 4. Simplify some of the styling spacing logic. 5. Some other minor clean ups. Example markup that will be used in the future: ```html <div class="torconnect-stage-content" data-stage-name="Start"> <img class="torconnect-icon" alt="" /> <h1 class="torconnect-heading" tabindex="-1"></h1> <div class="torconnect-text-container"> <!-- Text content, etc. --> </div> <div class="torconnect-controls-container"> <!-- Buttons, etc. --> </div> </div> ``` - - - - - 3 changed files: - browser/components/torconnect/content/aboutTorConnect.css - browser/components/torconnect/content/aboutTorConnect.html - browser/components/torconnect/content/aboutTorConnect.js Changes: ===================================== browser/components/torconnect/content/aboutTorConnect.css ===================================== @@ -1,6 +1,5 @@ /* Copyright (c) 2021, The Tor Project, Inc. */ -@import url("chrome://global/skin/error-pages.css"); @import url("chrome://global/skin/onion-pattern.css"); body:not(.loaded) { @@ -8,7 +7,23 @@ body:not(.loaded) { display: none; } +body { + margin: 0; + min-height: 100vh; + --progress-shadow-height: 66px; + display: grid; + grid-template: + "progress progress progress progress progress" minmax(calc(var(--progress-shadow-height) + var(--space-large)), 10vh) + ". . breadcrumbs . ." auto + ". icon heading . ." auto + ". icon text-container . ." auto + ". . controls-container . ." auto + ". . . . ." minmax(var(--onion-pattern-height), 1fr) + / var(--space-large) minmax(max-content, 1fr) minmax(350px, 700px) 1fr var(--space-large); +} + #breadcrumbs { + grid-area: breadcrumbs; display: flex; align-items: center; margin: 0 0 var(--space-xlarge) 0; @@ -78,11 +93,6 @@ body:not(.loaded) { display: none; } -#tor-connect-heading { - /* Do not show the focus outline. */ - outline: none; -} - #connect-to-tor { margin-inline-start: 0; } @@ -95,10 +105,6 @@ body:not(.loaded) { list-style-image: url("chrome://browser/content/torconnect/tor-connect-broken.svg"); } -#location-settings-icon { - list-style-image: url("chrome://browser/content/torconnect/globe.svg"); -} - #try-bridge { cursor: default; } @@ -107,38 +113,17 @@ body:not(.loaded) { list-style-image: url("chrome://browser/content/torconnect/bridge.svg"); } -#locationDropdownLabel { - margin-block: auto; - margin-inline: var(--space-xsmall); -} - #locationDropdownLabel.error { color: var(--text-color-error); } -/* this follows similar css in error-pages.css for buttons */ -@media only screen and (min-width: 480px) { - form#locationDropdown { - margin-inline: var(--space-xsmall); - /* subtracting out the margin is needeed because by - default forms have different margins than buttons */ - max-width: calc(100% - 2 * var(--space-xsmall)); - } -} - -@media only screen and (max-width: 480px) { - #tryAgainButton { - margin-top: var(--space-xsmall); - } -} - form#locationDropdown { width: 240px; } form#locationDropdown select { - max-width: 100%; - margin-inline: 0; + width: 100%; + margin: 0; font-weight: var(--font-weight-bold); } @@ -154,9 +139,7 @@ form#locationDropdown select { } #progressBar:not([hidden]) { - position: fixed; - inset-block-start: 0; - inset-inline: 0; + grid-area: progress; display: grid; --progress-percent: 0%; --progress-animation: progressAnimation 5s ease infinite; @@ -176,7 +159,7 @@ form#locationDropdown select { #progressBackground { z-index: 1; width: var(--progress-percent); - height: 66px; + height: var(--progress-shadow-height); margin-block-start: -26px; background-image: linear-gradient(var(--progressbar-shadow-start), var(--background-color-canvas) 100%), var(--progressbar-gradient); animation: var(--progress-animation); @@ -223,46 +206,94 @@ form#locationDropdown select { } } -#connectPageContainer { - margin-top: 10vh; - width: 100%; - max-width: 45em; -} - #quickstartToggle { width: max-content; } -/* mirrors p element spacing */ #viewLogButton { - margin: var(--space-large) 0; + margin-inline: 0; + margin-block-start: var(--space-large); } -body.aboutTorConnect { - justify-content: space-between; - /* Always reserve 150px for the background, plus padding with content. */ - padding-block-end: calc(var(--onion-pattern-height) + var(--space-large)); +.torconnect-stage-content:not(.show-stage) { + display: none; } -body.aboutTorConnect .title { - background-image: url("chrome://browser/content/torconnect/tor-connect.svg"); +.torconnect-stage-content { + display: contents; +} + +.torconnect-icon { + grid-area: icon; + justify-self: end; + width: 52px; + height: 52px; + margin-inline-end: var(--space-xlarge); + content: url("chrome://browser/content/torconnect/tor-connect.svg"); -moz-context-properties: stroke, fill, fill-opacity; fill-opacity: 1; fill: var(--icon-color); stroke: var(--icon-color); - /* Make sure there is no padding between the title and #breadcrumbs. */ - padding-block-start: 0; + /* Make non-interactive (non-draggable). */ + pointer-events: none; } -body.aboutTorConnect .title.offline { - background-image: url("chrome://browser/content/torconnect/connection-failure.svg"); +.torconnect-icon.offline-icon { + content: url("chrome://browser/content/torconnect/connection-failure.svg"); } -body.aboutTorConnect .title:is(.assist, .final) { - background-image: url("chrome://browser/content/torconnect/tor-connect-broken.svg"); +.torconnect-icon.assist-icon { + content: url("chrome://browser/content/torconnect/tor-connect-broken.svg"); } -body.aboutTorConnect .title.location { - background-image: url("chrome://browser/content/torconnect/connection-location.svg"); +.torconnect-icon.location-icon { + content: url("chrome://browser/content/torconnect/connection-location.svg"); stroke: var(--icon-color-warning); } + +.torconnect-heading { + grid-area: heading; + /* Do not show the focus outline. */ + outline: none; + font-size: var(--font-size-xxxlarge); + margin: 0; + margin-block-end: var(--space-xxlarge); +} + +.torconnect-text-container { + grid-area: text-container; +} + +.torconnect-text-container p { + margin: 0; +} + +.torconnect-text-container > *:not(:last-child) { + margin-block-end: var(--space-large); +} + +.torconnect-controls-container { + grid-area: controls-container; + margin-block: var(--space-xlarge) var(--space-large); + display: flex; + flex-wrap: wrap; + flex-direction: row; + justify-content: end; + align-items: center; + /* Gap between children and rows. */ + gap: var(--space-small) var(--space-small); +} + +.torconnect-controls-container > * { + flex: 0 0 max-content; + margin: 0; +} + +/* Temporary hacks for the connectPageContainer. */ +#connectPageContainer .torconnect-text-container > *:last-child { + margin-block-end: var(--space-large); +} + +#connectPageContainer .torconnect-controls-container { + margin-block-start: calc(var(--space-xlarge) - var(--space-large)); +} ===================================== browser/components/torconnect/content/aboutTorConnect.html ===================================== @@ -8,12 +8,11 @@ /> <title data-l10n-id="tor-connect-page-title"></title> + <link rel="stylesheet" href="chrome://global/skin/in-content/common.css" /> <link rel="stylesheet" href="chrome://global/skin/tor-common.css" /> <link rel="stylesheet" href="chrome://browser/content/torconnect/aboutTorConnect.css" - type="text/css" - media="all" /> <link rel="localization" href="toolkit/global/tor-browser.ftl" /> @@ -23,39 +22,42 @@ src="chrome://global/content/elements/moz-toggle.mjs" ></script> </head> - <body class="aboutTorConnect onion-pattern-background"> + <body class="onion-pattern-background"> <div id="progressBar" hidden="hidden"> <div id="progressSolid"></div> <div id="progressBackground"></div> <div id="progressBarBackground"></div> </div> - <div id="connectPageContainer" class="container"> - <div id="breadcrumbs" class="hidden"> - <span id="connect-to-tor" class="breadcrumb-item"> - <span id="connect-to-tor-icon" class="breadcrumb-icon"></span> - <span class="breadcrumb-label"></span> - </span> - <span - id="connection-assist-separator" - class="breadcrumb-separator breadcrumb-icon" - ></span> - <span id="connection-assist" class="breadcrumb-item"> - <span id="connection-assist-icon" class="breadcrumb-icon"></span> - <span class="breadcrumb-label"></span> - </span> - <span - id="try-bridge-separator" - class="breadcrumb-separator breadcrumb-icon" - ></span> - <span id="try-bridge" class="breadcrumb-item"> - <span id="try-bridge-icon" class="breadcrumb-icon"></span> - <span class="breadcrumb-label"></span> - </span> - </div> - <div id="text-container"> - <div class="title"> - <h1 id="tor-connect-heading" class="title-text" tabindex="-1"></h1> - </div> + <div id="breadcrumbs" class="hidden"> + <span id="connect-to-tor" class="breadcrumb-item"> + <span id="connect-to-tor-icon" class="breadcrumb-icon"></span> + <span class="breadcrumb-label"></span> + </span> + <span + id="connection-assist-separator" + class="breadcrumb-separator breadcrumb-icon" + ></span> + <span id="connection-assist" class="breadcrumb-item"> + <span id="connection-assist-icon" class="breadcrumb-icon"></span> + <span class="breadcrumb-label"></span> + </span> + <span + id="try-bridge-separator" + class="breadcrumb-separator breadcrumb-icon" + ></span> + <span id="try-bridge" class="breadcrumb-item"> + <span id="try-bridge-icon" class="breadcrumb-icon"></span> + <span class="breadcrumb-label"></span> + </span> + </div> + <div id="connectPageContainer" class="torconnect-stage-content"> + <img id="tor-connect-icon" class="torconnect-icon" alt="" /> + <h1 + id="tor-connect-heading" + class="torconnect-heading" + tabindex="-1" + ></h1> + <div class="torconnect-text-container"> <div id="connectLongContent"> <p id="connectLongContentText"></p> </div> @@ -68,26 +70,21 @@ <div id="quickstartContainer"> <moz-toggle id="quickstartToggle"></moz-toggle> </div> - - <div id="connectButtonContainer" class="button-container"> - <button id="restartButton" hidden="true"></button> - <button id="configureButton" hidden="true"></button> - <button id="cancelButton" hidden="true"></button> - <button id="connectButton" hidden="true" class="tor-button"></button> - <label id="locationDropdownLabel" for="countries"></label> - <form id="locationDropdown" hidden="true"> - <select id="regions-select"> - <option id="first-region-option"></option> - <optgroup id="frequent-regions-option-group"></optgroup> - <optgroup id="full-regions-option-group"></optgroup> - </select> - </form> - <button - id="tryBridgeButton" - hidden="true" - class="tor-button" - ></button> - </div> + </div> + <div class="torconnect-controls-container"> + <button id="restartButton" hidden="true"></button> + <button id="configureButton" hidden="true"></button> + <button id="cancelButton" hidden="true"></button> + <button id="connectButton" hidden="true" class="tor-button"></button> + <label id="locationDropdownLabel" for="countries"></label> + <form id="locationDropdown" hidden="true"> + <select id="regions-select"> + <option id="first-region-option"></option> + <optgroup id="frequent-regions-option-group"></optgroup> + <optgroup id="full-regions-option-group"></optgroup> + </select> + </form> + <button id="tryBridgeButton" hidden="true" class="tor-button"></button> </div> </div> <script src="chrome://browser/content/torconnect/aboutTorConnect.js"></script> ===================================== browser/components/torconnect/content/aboutTorConnect.js ===================================== @@ -28,7 +28,7 @@ const BreadcrumbStatus = Object.freeze({ class AboutTorConnect { selectors = Object.freeze({ textContainer: { - title: "div.title", + icon: "#tor-connect-icon", longContentText: "#connectLongContentText", }, progress: { @@ -72,7 +72,7 @@ class AboutTorConnect { }); elements = Object.freeze({ - title: document.querySelector(this.selectors.textContainer.title), + icon: document.querySelector(this.selectors.textContainer.icon), heading: document.getElementById("tor-connect-heading"), longContentText: document.querySelector( this.selectors.textContainer.longContentText @@ -225,9 +225,9 @@ class AboutTorConnect { setTitle(title, className) { this.elements.heading.textContent = title; - this.elements.title.className = "title"; + this.elements.icon.className = "torconnect-icon"; if (className) { - this.elements.title.classList.add(className); + this.elements.icon.classList.add(className); } } @@ -348,10 +348,22 @@ class AboutTorConnect { // selectRegionOption. this.selectedRegion = stage.defaultRegion; + let prevPageEl = document.querySelector( + ".torconnect-stage-content.show-stage" + ); + let pageEl = document.getElementById("connectPageContainer"); + for (const maybePageEl of document.querySelectorAll( + ".torconnect-stage-content" + )) { + if (maybePageEl.dataset.stageName === stage.name) { + pageEl = maybePageEl; + break; + } + } // By default we want to reset the focus to the top of the page when // changing the displayed page since we want a user to read the new page // before activating a control. - let moveFocus = this.elements.heading; + let moveFocus = pageEl.querySelector(".torconnect-heading"); if (stage.name === "Bootstrapping") { this.preBootstrappingStage = prevStage; @@ -461,6 +473,8 @@ class AboutTorConnect { this.hide(this.elements.viewLogButton); } + prevPageEl?.classList.remove("show-stage"); + pageEl.classList.add("show-stage"); document.body.classList.toggle("loaded", isLoaded); moveFocus.focus(); } @@ -557,7 +571,7 @@ class AboutTorConnect { } showOffline() { - this.setTitle(TorStrings.torConnect.noInternet, "offline"); + this.setTitle(TorStrings.torConnect.noInternet, "offline-icon"); this.setLongText(TorStrings.torConnect.noInternetDescription); this.elements.progressDescription.textContent = TorStrings.torConnect.offline; @@ -573,7 +587,7 @@ class AboutTorConnect { } showChooseRegion(error) { - this.setTitle(TorStrings.torConnect.couldNotConnect, "assist"); + this.setTitle(TorStrings.torConnect.couldNotConnect, "assist-icon"); this.showConfigureConnectionLink(TorStrings.torConnect.assistDescription); this.elements.progressDescription.textContent = this.getMaybeLocalizedError(error); @@ -586,7 +600,7 @@ class AboutTorConnect { } showRegionNotFound() { - this.setTitle(TorStrings.torConnect.errorLocation, "location"); + this.setTitle(TorStrings.torConnect.errorLocation, "location-icon"); this.showConfigureConnectionLink( TorStrings.torConnect.errorLocationDescription ); @@ -601,7 +615,7 @@ class AboutTorConnect { } showConfirmRegion(error) { - this.setTitle(TorStrings.torConnect.isLocationCorrect, "location"); + this.setTitle(TorStrings.torConnect.isLocationCorrect, "location-icon"); this.showConfigureConnectionLink( TorStrings.torConnect.isLocationCorrectDescription ); @@ -616,7 +630,7 @@ class AboutTorConnect { } showFinalError(error) { - this.setTitle(TorStrings.torConnect.finalError, "final"); + this.setTitle(TorStrings.torConnect.finalError, "assist-icon"); this.setLongText(TorStrings.torConnect.finalErrorDescription); this.elements.progressDescription.textContent = this.getMaybeLocalizedError(error); View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/e9a76ea… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/e9a76ea… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-149.0a1-16.0-2] fixup! BB 42305: Add script to combine translation files across versions.
by henry (@henry) 30 Mar '26

30 Mar '26
henry pushed to branch mullvad-browser-149.0a1-16.0-2 at The Tor Project / Applications / Mullvad Browser Commits: 16cd5e24 by Henry Wilkes at 2026-03-30T16:40:39+01:00 fixup! BB 42305: Add script to combine translation files across versions. TB 43180: Remove translation CI's legacy 13.5 logic. - - - - - 1 changed file: - tools/base_browser/l10n/combine-translation-versions.py Changes: ===================================== tools/base_browser/l10n/combine-translation-versions.py ===================================== @@ -194,14 +194,11 @@ class BrowserBranch: ) -def get_stable_branch( - compare_version: BrowserBranch, -) -> tuple[BrowserBranch, BrowserBranch | None]: +def get_stable_branch(compare_version: BrowserBranch) -> BrowserBranch: """Find the most recent stable branch in the origin repository. :param compare_version: The development branch to compare against. - :returns: The stable and legacy branches. If no legacy branch is found, - `None` will be returned instead. + :returns: The stable branch. """ # We search for build1 tags. These are added *after* the rebase of browser # commits, so the corresponding branch should contain our strings. @@ -218,9 +215,7 @@ def get_stable_branch( fetch_args = ("--depth=1", "--filter=object:type=tag") git_run(["fetch", *fetch_args, "origin", "tag", tag_glob]) stable_branches = [] - legacy_branches = [] stable_annotation_regex = re.compile(r"\bstable\b") - legacy_annotation_regex = re.compile(r"\blegacy\b") tag_pattern = re.compile( rf"^{re.escape(compare_version.prefix)}-[^-]+-[^-]+-[^-]+-build1$" ) @@ -230,9 +225,7 @@ def get_stable_branch( ): if not tag_pattern.match(build_tag): continue - is_stable = bool(stable_annotation_regex.search(annotation)) - is_legacy = bool(legacy_annotation_regex.search(annotation)) - if not is_stable and not is_legacy: + if not stable_annotation_regex.search(annotation): continue try: # Branch name is the same as the tag, minus "-build1". @@ -242,40 +235,30 @@ def get_stable_branch( continue if branch.prefix != compare_version.prefix: continue - if is_stable: - # Stable can be one release version behind. - # NOTE: In principle, when switching between versions there may be a - # window of time where the development branch has not yet progressed - # to the next ".0" release, so has the same browser version as the - # stable branch. So we also allow for matching browser versions. - # NOTE: - # 1. The "Will be unused in" message will not make sense, but we do - # not expect string differences in this scenario. - # 2. We do not expect this scenario to last for long. - release_diff = compare_version.browser_version - branch.browser_version - if release_diff < 0.0 or release_diff > 1.0: - continue - stable_branches.append(branch) - elif is_legacy: - # Legacy can be arbitrary release versions behind. - legacy_branches.append(branch) + # Stable can be one release version behind. + # NOTE: In principle, when switching between versions there may be a + # window of time where the development branch has not yet progressed + # to the next ".0" release, so has the same browser version as the + # stable branch. So we also allow for matching browser versions. + # NOTE: + # 1. The "Will be unused in" message will not make sense, but we do + # not expect string differences in this scenario. + # 2. We do not expect this scenario to last for long. + release_diff = compare_version.browser_version - branch.browser_version + if release_diff < 0.0 or release_diff > 1.0: + continue + stable_branches.append(branch) if not stable_branches: raise Exception("No stable build1 branch found") - return ( - # Return the stable branch with the highest version. - max(stable_branches), - max(legacy_branches) if legacy_branches else None, - ) + # Return the stable branch with the highest version. + return max(stable_branches) current_branch = BrowserBranch(args.current_branch, is_head=True) -stable_branch, legacy_branch = get_stable_branch(current_branch) - -if os.environ.get("TRANSLATION_INCLUDE_LEGACY", "") != "true": - legacy_branch = None +stable_branch = get_stable_branch(current_branch) files_list = [] @@ -330,32 +313,6 @@ for file_dict in json.loads(args.files): f"Will be unused in {current_branch.browser_version_name}!", ) - if legacy_branch and not file_dict.get("exclude-legacy", False): - legacy_file = legacy_branch.get_file(name, where_dirs) - if legacy_file is not None and current_file is None and stable_file is None: - logger.warning(f"{name} still exists in the legacy branch") - elif legacy_file is None: - logger.warning(f"{name} does not exist in the legacy branch") - elif stable_file is not None and legacy_file.path != stable_file.path: - logger.warning( - f"{name} has different paths in the stable and legacy branch. " - f"{stable_file.path} : {legacy_file.path}" - ) - elif current_file is not None and legacy_file.path != current_file.path: - logger.warning( - f"{name} has different paths in the current and legacy branch. " - f"{current_file.path} : {legacy_file.path}" - ) - - content = combine_files( - name, - content, - legacy_file.content, - f"Unused in {stable_branch.browser_version_name}!", - ) - elif legacy_branch: - logger.info(f"Excluding legacy branch for {name}") - files_list.append({ "name": name, # If "directory" is unspecified, we place the file directly beneath @@ -380,8 +337,5 @@ json_data = { "files": files_list, } -if legacy_branch: - json_data["legacy-branch"] = legacy_branch.name - with open(args.outname, "w") as file: json.dump(json_data, file) View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/16c… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/16c… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] fixup! Add CI for Tor Browser
by henry (@henry) 30 Mar '26

30 Mar '26
henry pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 23688fca by Henry Wilkes at 2026-03-30T15:36:53+00:00 fixup! Add CI for Tor Browser TB 43180: Drop translation files from the translation CI config. - - - - - 1 changed file: - .gitlab/ci/jobs/update-translations.yml Changes: ===================================== .gitlab/ci/jobs/update-translations.yml ===================================== @@ -62,11 +62,8 @@ "branch": "tor-browser" }, { "name": "tor-browser.ftl", "branch": "tor-browser" }, - { "name": "aboutTBUpdate.dtd", "branch": "tor-browser" }, - { "name": "torbutton.dtd", "branch": "tor-browser" }, { "name": "onionLocation.properties", "branch": "tor-browser" }, { "name": "settings.properties", "branch": "tor-browser" }, - { "name": "torbutton.properties", "branch": "tor-browser" }, { "name": "torConnect.properties", "branch": "tor-browser" }, { "name": "torlauncher.properties", "branch": "tor-browser" }, { "name": "base-browser.ftl", "branch": "base-browser" }, View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/23688fc… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/23688fc… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] 2 commits: fixup! TB 27476: Implement about:torconnect captive portal within Tor Browser
by morgan (@morgan) 30 Mar '26

30 Mar '26
morgan pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: c80e93f9 by Henry Wilkes at 2026-03-30T15:23:45+00:00 fixup! TB 27476: Implement about:torconnect captive portal within Tor Browser TB 44781: Use a static title for `about:torconnect`. We now use Fluent to set the page `<title>`, this causes some delay between the page being loaded and the title being set. Which cause the `about:torconnect` URL to flash in the browser tab selector. Moreover, even the prior non-Fluent approach would have "New Tab" flash in the title just before "Connect to Tor" was set. As such, we adjust `tabbrowser.js` and `tabs.js` to: 1. Set the `about:torconnect`'s tab label to the expected page title before the page has loaded and set it's title. 2. Set the very first tab's label to the `about:torconnect` page title at startup, rather than "New Tab". - - - - - 5da6decb by Henry Wilkes at 2026-03-30T15:23:45+00:00 fixup! Tor Browser strings TB 44781: Add the Fluent tor connect title. - - - - - 5 changed files: - browser/components/tabbrowser/content/tabbrowser.js - browser/components/tabbrowser/content/tabs.js - browser/components/torconnect/content/aboutTorConnect.html - browser/components/torconnect/content/aboutTorConnect.js - toolkit/locales/en-US/toolkit/global/tor-browser.ftl Changes: ===================================== browser/components/tabbrowser/content/tabbrowser.js ===================================== @@ -133,6 +133,11 @@ true ); }); + // Add a synchronous localisation to get the about:torconnect title. + // See tor-browser#44781. + ChromeUtils.defineLazyGetter(this, "torconnectLocalization", () => { + return new Localization(["toolkit/global/tor-browser.ftl"], true); + }); XPCOMUtils.defineLazyPreferenceGetter( this, "_shouldExposeContentTitle", @@ -2113,6 +2118,39 @@ return false; } + // We want to set the title for an about:torconnect tab prior to the page + // being loaded. In particular, we need to wait for: + // + // 1. The first `<browser>` element to switch `currentURI` from + // `about:blank` to `about:torconnect`. + // 2. The page's `<title>` to be set, which is delayed by the page load + // and the async FluentDOM. + // + // This avoids flashes of "New Tab" and the URL appearing in the tab + // label. See tor-browser#44781. + if (aTab._isFirstTabLoading) { + if (!isURL && !isContentTitle) { + // Wait until we have a proper title or URL. + // NOTES: + // 1. This is only expected for the first call to `onLocationChange` + // for the very first tab opened in a new window. In this scenario, + // we expect the page's `currentURI` to be `about:blank` (and not + // the actual `chrome:` path to `blanktab.html`). We use the + // `_isFirstTabLoading` condition as an extra protection. + // 2. We have already set the title for this tab in + // `MozTabbrowserTabs.init`, depending on whether we expect this to + // turn into `about:torconnect` or a "New Tab" (`about:tor` or + // `blanktab.html`). So we don't need to make any changes here. + return false; + } + delete aTab._isFirstTabLoading; + } + if (isURL && aLabel.startsWith("about:torconnect")) { + aLabel = this.tabContainer.torconnectTitle; + isContentTitle = true; + isURL = false; + } + // If it's a long data: URI that uses base64 encoding, truncate to a // reasonable length rather than trying to display the entire thing, // which can hang or crash the browser. ===================================== browser/components/tabbrowser/content/tabs.js ===================================== @@ -132,7 +132,16 @@ this._hiddenSoundPlayingTabs = new Set(); this.previewPanel = null; - this.allTabs[0].label = this.emptyTabTitle; + // When a new application window is spawned, this will set the initial + // tab's displayed title. If `shouldShowTorConnect` is true, we expect + // this first page to be `about:torconnect`, so we show the corresponding + // title that will be used once the page is shown. See tor-browser#44781. + this.allTabs[0].label = TorConnect.shouldShowTorConnect + ? this.torconnectTitle + : this.emptyTabTitle; + // Mark this as the first tab that is still loading. This can be cleared + // once we have a definite title or URI. + this.allTabs[0]._isFirstTabLoading = true; // Hide the secondary text for locales where it is unsupported due to size constraints. const language = Services.locale.appLocaleAsBCP47; @@ -807,6 +816,18 @@ return gBrowser.tabLocalization.formatValueSync(l10nId); } + /** + * The about:torconnect page <title>, to be fetched when about:torconnect + * has not yet been loaded. + * + * @type {string} + */ + get torconnectTitle() { + return gBrowser.torconnectLocalization.formatValueSync( + "tor-connect-page-title" + ); + } + get tabbox() { return document.getElementById("tabbrowser-tabbox"); } ===================================== browser/components/torconnect/content/aboutTorConnect.html ===================================== @@ -6,6 +6,8 @@ http-equiv="Content-Security-Policy" content="default-src chrome:; object-src 'none'" /> + <title data-l10n-id="tor-connect-page-title"></title> + <link rel="stylesheet" href="chrome://global/skin/tor-common.css" /> <link rel="stylesheet" @@ -14,6 +16,8 @@ media="all" /> + <link rel="localization" href="toolkit/global/tor-browser.ftl" /> + <script type="module" src="chrome://global/content/elements/moz-toggle.mjs" ===================================== browser/components/torconnect/content/aboutTorConnect.js ===================================== @@ -229,7 +229,6 @@ class AboutTorConnect { if (className) { this.elements.title.classList.add(className); } - document.title = title; } setLongText(...args) { ===================================== toolkit/locales/en-US/toolkit/global/tor-browser.ftl ===================================== @@ -9,6 +9,12 @@ appmenu-open-tor-manual = .label = Tor Browser manual .accesskey = m +## Tor connect page. + +# The tab name for the page. +# Here "Tor" refers to the Tor network. +tor-connect-page-title = Connect to Tor + ## Tor Browser home page. tor-browser-home-heading-stable = Explore. Privately. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/388ab3… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/388ab3… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] fixup! TB 7494: Create local home page for TBB.
by morgan (@morgan) 30 Mar '26

30 Mar '26
morgan pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 388ab393 by Henry Wilkes at 2026-03-30T15:13:36+00:00 fixup! TB 7494: Create local home page for TBB. TB 44799: Replace colour of the Onionize toggle with a tor colour. - - - - - 1 changed file: - browser/components/abouttor/content/aboutTor.css Changes: ===================================== browser/components/abouttor/content/aboutTor.css ===================================== @@ -298,7 +298,7 @@ body:not(.show-survey) #survey { } #search-form.onionized-search #onionize-toggle { - color: var(--link-color); + color: var(--text-color-tor-light); } #survey { View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/388ab39… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/388ab39… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Update main and drop maint-13.5 from Target Branches in default MR template
by morgan (@morgan) 30 Mar '26

30 Mar '26
morgan pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 167fdd8f by Morgan at 2026-03-30T14:54:02+00:00 Update main and drop maint-13.5 from Target Branches in default MR template - - - - - 1 changed file: - .gitlab/merge_request_templates/default.md Changes: ===================================== .gitlab/merge_request_templates/default.md ===================================== @@ -19,9 +19,8 @@ <!-- This block tells the merger where commits need to be merged and future code archaeologists where commits were *supposed* to be merged --> #### Target Branches - - [ ] **`main`**: esr140-15.0 + - [ ] **`main`**: rapid release, 16.0 - [ ] **`maint-15.0`**: esr140-15.0 - - [ ] **`maint-13.5`**: esr115-13.5 ### Backporting View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/1… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/1… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser-build][maint-15.0] Bug 41741: Add rewrite rules for 13.5-specific update path
by boklm (@boklm) 27 Mar '26

27 Mar '26
boklm pushed to branch maint-15.0 at The Tor Project / Applications / tor-browser-build Commits: 007bdcf0 by Nicolas Vigier at 2026-03-27T12:12:35+01:00 Bug 41741: Add rewrite rules for 13.5-specific update path - - - - - 1 changed file: - projects/release/update_responses_config.yml Changes: ===================================== projects/release/update_responses_config.yml ===================================== @@ -127,4 +127,8 @@ htaccess_rewrite_rules: RewriteRule ^[^/]+/13\.0.*/.* https://aus1.torproject.org/torbrowser/update_pre14.0/release/$0 [last] RewriteRule ^[^/]+/13\.5/.* https://aus1.torproject.org/torbrowser/update_pre14.0/release/$0 [last] RewriteRule ^[^/]+/13\.5\.[0123456]/.* https://aus1.torproject.org/torbrowser/update_pre14.0/release/$0 [last] + # tor-browser-build#41741: Create a 13.5-specific update path + RewriteRule ^[^/]+/13\.5\.[789]/.* https://aus1.torproject.org/torbrowser/update_legacy13.5/release/$0 [last] + RewriteRule ^[^/]+/13\.5\.1\d/.* https://aus1.torproject.org/torbrowser/update_legacy13.5/release/$0 [last] + RewriteRule ^[^/]+/13\.5\.2[012345678]/.* https://aus1.torproject.org/torbrowser/update_legacy13.5/release/$0 [last] [% END -%] View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/0… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/0… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Bug 41741: Add rewrite rules for 13.5-specific update path
by boklm (@boklm) 27 Mar '26

27 Mar '26
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: cfc4d26f by Nicolas Vigier at 2026-03-26T14:43:44+01:00 Bug 41741: Add rewrite rules for 13.5-specific update path - - - - - 1 changed file: - projects/release/update_responses_config.yml Changes: ===================================== projects/release/update_responses_config.yml ===================================== @@ -124,4 +124,8 @@ htaccess_rewrite_rules: RewriteRule ^[^/]+/13\.0.*/.* https://aus1.torproject.org/torbrowser/update_pre14.0/release/$0 [last] RewriteRule ^[^/]+/13\.5/.* https://aus1.torproject.org/torbrowser/update_pre14.0/release/$0 [last] RewriteRule ^[^/]+/13\.5\.[0123456]/.* https://aus1.torproject.org/torbrowser/update_pre14.0/release/$0 [last] + # tor-browser-build#41741: Create a 13.5-specific update path + RewriteRule ^[^/]+/13\.5\.[789]/.* https://aus1.torproject.org/torbrowser/update_legacy13.5/release/$0 [last] + RewriteRule ^[^/]+/13\.5\.1\d/.* https://aus1.torproject.org/torbrowser/update_legacy13.5/release/$0 [last] + RewriteRule ^[^/]+/13\.5\.2[012345678]/.* https://aus1.torproject.org/torbrowser/update_legacy13.5/release/$0 [last] [% END -%] View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/c… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/c… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser-update-responses][main] Add update_legacy13.5 files
by boklm (@boklm) 27 Mar '26

27 Mar '26
boklm pushed to branch main at The Tor Project / Applications / Tor Browser update responses Commits: e7ee16bc by Nicolas Vigier at 2026-03-26T13:45:10+01:00 Add update_legacy13.5 files https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/4… Generated from the `maint-15.0` tor-browser-build branch, running `make torbrowser-update_responses-release`, with the following change: ``` diff --git a/projects/release/update_responses_config.yml b/projects/release/update_responses_config.yml index f6ddb9c5..32959745 100644 --- a/projects/release/update_responses_config.yml +++ b/projects/release/update_responses_config.yml @@ -11,8 +11,8 @@ download: gpg_keyring: ../../keyring/torbrowser.gpg archive_url: 'https://archive.torproject.org/tor-package-archive/[% c("var/projectname") %]' [% IF c("var/tor-browser") -%] - bundles_url: 'https://dist.torproject.org/torbrowser' - mars_url: 'https://cdn.torproject.org/aus1/torbrowser' + bundles_url: 'https://archive.torproject.org/tor-package-archive/torbrowser' + mars_url: 'https://archive.torproject.org/tor-package-archive/torbrowser' [% END -%] [% IF c("var/mullvad-browser") -%] bundles_url: 'https://cdn.mullvad.net/browser' @@ -113,18 +113,4 @@ htaccess_rewrite_rules: RewriteRule ^[^/]+/13\.5a\d/.* https://aus1.torproject.org/torbrowser/update_pre13.5a10/alpha/$0 [last] # tor-browser-build41356: Make 14.0a4 a watershed alpha release RewriteRule ^[^/]+/14\.0a[123]/.* https://aus1.torproject.org/torbrowser/update_pre14.0a4/alpha/$0 [last] - release: | - # bug 26570: Redirect pre-8.0 stable users to a separate update directory - RewriteRule ^[^/]+/[4567]\..*/.* https://aus1.torproject.org/torbrowser/update_pre8.0/release/$0 [last] - # tor-browser-build#40678: Force all <=11.5.7 users to update through 11.5.8 before 12.0 - RewriteRule ^[^/]+/[89]\..*/.* https://aus1.torproject.org/torbrowser/update_pre12.0/release/$0 [last] - RewriteRule ^[^/]+/10\..*/.* https://aus1.torproject.org/torbrowser/update_pre12.0/release/$0 [last] - RewriteRule ^[^/]+/11\.0.*/.* https://aus1.torproject.org/torbrowser/update_pre12.0/release/$0 [last] - RewriteRule ^[^/]+/11\.5/.* https://aus1.torproject.org/torbrowser/update_pre12.0/release/$0 [last] - RewriteRule ^[^/]+/11\.5\.[01234567]/.* https://aus1.torproject.org/torbrowser/update_pre12.0/release/$0 [last] - # tor-browser-build#41270: make 13.5.7 a watershed update - RewriteRule ^[^/]+/1[12]\.[05].*/.* https://aus1.torproject.org/torbrowser/update_pre14.0/release/$0 [last] - RewriteRule ^[^/]+/13\.0.*/.* https://aus1.torproject.org/torbrowser/update_pre14.0/release/$0 [last] - RewriteRule ^[^/]+/13\.5/.* https://aus1.torproject.org/torbrowser/update_pre14.0/release/$0 [last] - RewriteRule ^[^/]+/13\.5\.[0123456]/.* https://aus1.torproject.org/torbrowser/update_pre14.0/release/$0 [last] [% END -%] ``` - - - - - 40 changed files: - + update_legacy13.5/release/.htaccess - + update_legacy13.5/release/linux-i686/.htaccess - + update_legacy13.5/release/linux-i686/no-update.xml - + update_legacy13.5/release/linux-i686/update-15.0.5-15.0.8+13.5.29-linux-i686.xml - + update_legacy13.5/release/linux-i686/update-15.0.6-15.0.8+13.5.29-linux-i686.xml - + update_legacy13.5/release/linux-i686/update-15.0.7-15.0.8+13.5.29-linux-i686.xml - + update_legacy13.5/release/linux-i686/update-15.0.8+13.5.29-linux-i686.xml - + update_legacy13.5/release/linux-x86_64/.htaccess - + update_legacy13.5/release/linux-x86_64/no-update.xml - + update_legacy13.5/release/linux-x86_64/update-15.0.5-15.0.8+13.5.29-linux-x86_64.xml - + update_legacy13.5/release/linux-x86_64/update-15.0.6-15.0.8+13.5.29-linux-x86_64.xml - + update_legacy13.5/release/linux-x86_64/update-15.0.7-15.0.8+13.5.29-linux-x86_64.xml - + update_legacy13.5/release/linux-x86_64/update-15.0.8+13.5.29-linux-x86_64.xml - + update_legacy13.5/release/macos/.htaccess - + update_legacy13.5/release/macos/no-update.xml - + update_legacy13.5/release/macos/update-13.5.26-15.0.8+13.5.29-macos.xml - + update_legacy13.5/release/macos/update-13.5.27-15.0.8+13.5.29-macos.xml - + update_legacy13.5/release/macos/update-13.5.28-15.0.8+13.5.29-macos.xml - + update_legacy13.5/release/macos/update-15.0.5-15.0.8+13.5.29-macos.xml - + update_legacy13.5/release/macos/update-15.0.6-15.0.8+13.5.29-macos.xml - + update_legacy13.5/release/macos/update-15.0.7-15.0.8+13.5.29-macos.xml - + update_legacy13.5/release/macos/update-15.0.8+13.5.29-macos.xml - + update_legacy13.5/release/windows-i686/.htaccess - + update_legacy13.5/release/windows-i686/no-update.xml - + update_legacy13.5/release/windows-i686/update-13.5.26-15.0.8+13.5.29-windows-i686.xml - + update_legacy13.5/release/windows-i686/update-13.5.27-15.0.8+13.5.29-windows-i686.xml - + update_legacy13.5/release/windows-i686/update-13.5.28-15.0.8+13.5.29-windows-i686.xml - + update_legacy13.5/release/windows-i686/update-15.0.5-15.0.8+13.5.29-windows-i686.xml - + update_legacy13.5/release/windows-i686/update-15.0.6-15.0.8+13.5.29-windows-i686.xml - + update_legacy13.5/release/windows-i686/update-15.0.7-15.0.8+13.5.29-windows-i686.xml - + update_legacy13.5/release/windows-i686/update-15.0.8+13.5.29-windows-i686.xml - + update_legacy13.5/release/windows-x86_64/.htaccess - + update_legacy13.5/release/windows-x86_64/no-update.xml - + update_legacy13.5/release/windows-x86_64/update-13.5.26-15.0.8+13.5.29-windows-x86_64.xml - + update_legacy13.5/release/windows-x86_64/update-13.5.27-15.0.8+13.5.29-windows-x86_64.xml - + update_legacy13.5/release/windows-x86_64/update-13.5.28-15.0.8+13.5.29-windows-x86_64.xml - + update_legacy13.5/release/windows-x86_64/update-15.0.5-15.0.8+13.5.29-windows-x86_64.xml - + update_legacy13.5/release/windows-x86_64/update-15.0.6-15.0.8+13.5.29-windows-x86_64.xml - + update_legacy13.5/release/windows-x86_64/update-15.0.7-15.0.8+13.5.29-windows-x86_64.xml - + update_legacy13.5/release/windows-x86_64/update-15.0.8+13.5.29-windows-x86_64.xml The diff was not included because it is too large. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-update-responses… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-update-responses… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] fixup! [android] Modify UI/UX
by Pier Angelo Vendrame (@pierov) 26 Mar '26

26 Mar '26
Pier Angelo Vendrame pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 3ec79881 by Dan Ballard at 2026-03-26T21:26:40+01:00 fixup! [android] Modify UI/UX TB 44785: Comment out use of remove trackingProtectionSwitch in SiteSecurityRobot.kt test file - - - - - 1 changed file: - mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SiteSecurityRobot.kt Changes: ===================================== mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SiteSecurityRobot.kt ===================================== @@ -88,15 +88,15 @@ class SiteSecurityRobot { fun verifyETPSwitchVisibility(visible: Boolean) { waitForAppWindowToBeUpdated() if (visible) { - Log.i(TAG, "verifyETPSwitchVisibility: Trying to verify ETP toggle is displayed") - enhancedTrackingProtectionSwitch() - .check(matches(isDisplayed())) - Log.i(TAG, "verifyETPSwitchVisibility: Verified ETP toggle is displayed") +// Log.i(TAG, "verifyETPSwitchVisibility: Trying to verify ETP toggle is displayed") +// enhancedTrackingProtectionSwitch() +// .check(matches(isDisplayed())) +// Log.i(TAG, "verifyETPSwitchVisibility: Verified ETP toggle is displayed") } else { - Log.i(TAG, "verifyETPSwitchVisibility: Trying to verify ETP toggle is not displayed") - enhancedTrackingProtectionSwitch() - .check(matches(not(isDisplayed()))) - Log.i(TAG, "verifyETPSwitchVisibility: Verified ETP toggle is not displayed") +// Log.i(TAG, "verifyETPSwitchVisibility: Trying to verify ETP toggle is not displayed") +// enhancedTrackingProtectionSwitch() +// .check(matches(not(isDisplayed()))) +// Log.i(TAG, "verifyETPSwitchVisibility: Verified ETP toggle is not displayed") } } @@ -242,8 +242,8 @@ private fun clearSiteDataPrompt(url: String) = private fun cancelClearSiteDataButton() = onView(withId(android.R.id.button2)).inRoot(RootMatchers.isDialog()) private fun deleteSiteDataButton() = onView(withId(android.R.id.button1)).inRoot(RootMatchers.isDialog()) -private fun enhancedTrackingProtectionSwitch() = - onView(withId(R.id.trackingProtectionSwitch)) +//private fun enhancedTrackingProtectionSwitch() = +// onView(withId(R.id.trackingProtectionSwitch)) private fun openEnhancedTrackingProtectionDetails() = mDevice.findObject(UiSelector().resourceId("$packageName:id/trackingProtectionDetails")) View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/3ec7988… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/3ec7988… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] TB 44594: [android] Remove DoH
by clairehurst (@clairehurst) 26 Mar '26

26 Mar '26
clairehurst pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: f4c0f646 by clairehurst at 2026-03-26T13:59:50-06:00 TB 44594: [android] Remove DoH - - - - - 1 changed file: - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt Changes: ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt ===================================== @@ -2739,10 +2739,7 @@ class Settings( /** * Indicates whether or not to show the entry point for the DNS over HTTPS settings */ - val showDohEntryPoint by booleanPreference( - key = appContext.getPreferenceKey(R.string.pref_key_doh_settings_enabled), - default = { FxNimbus.features.doh.value().showUi }, - ) + val showDohEntryPoint = false /** * Stores the current DoH mode as an integer preference. @@ -2751,28 +2748,19 @@ class Settings( * - 3: Maximum protection * - 5: DoH is disabled */ - private var trrMode by intPreference( - key = appContext.getPreferenceKey(R.string.pref_key_doh_settings_mode), - default = DOH_SETTINGS_DEFAULT, - ) + private var trrMode = DOH_SETTINGS_OFF /** * Stores the URI of the custom DoH provider selected by the user. * Defaults to an empty string if no provider is set. */ - var dohProviderUrl by stringPreference( - key = appContext.getPreferenceKey(R.string.pref_key_doh_provider_uri), - default = "", - ) + var dohProviderUrl = "" /** * Stores the URI of the default DoH provider. * Bug 1946867 - Currently "hardcoded" to "https://mozilla.cloudflare-dns.com/dns-query" */ - val dohDefaultProviderUrl by stringPreference( - key = appContext.getPreferenceKey(R.string.pref_key_doh_default_provider_uri), - default = CLOUDFLARE_URI, - ) + val dohDefaultProviderUrl = "" /** * Stores a set of domains that are excluded from using DNS over HTTPS. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/f4c0f64… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/f4c0f64… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] fixup! TB 44581 [android]: Cleanup new android compose tab-strip feature
by clairehurst (@clairehurst) 26 Mar '26

26 Mar '26
clairehurst pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: ef8883ba by clairehurst at 2026-03-26T10:23:04-06:00 fixup! TB 44581 [android]: Cleanup new android compose tab-strip feature - - - - - 1 changed file: - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/compose/MainMenu.kt Changes: ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/compose/MainMenu.kt ===================================== @@ -245,6 +245,22 @@ fun MainMenu( } } + if (accessPoint == MenuAccessPoint.Home) { + MenuGroup { + ExtensionsMenuItem( + inCustomTab = false, + isPrivate = isPrivate, + isExtensionsProcessDisabled = isExtensionsProcessDisabled, + isExtensionsExpanded = isExtensionsExpanded, + isAllWebExtensionsDisabled = isAllWebExtensionsDisabled, + webExtensionMenuCount = webExtensionMenuCount, + extensionsMenuItemDescription = extensionsMenuItemDescription, + onExtensionsMenuClick = onExtensionsMenuClick, + extensionSubmenu = extensionSubmenu, + ) + } + } + if (accessPoint == MenuAccessPoint.Browser) { ToolsAndActionsMenuGroup( isBookmarked = isBookmarked, @@ -388,6 +404,18 @@ private fun ToolsAndActionsMenuGroup( ) } + ExtensionsMenuItem( + inCustomTab = false, + isPrivate = isPrivate, + isExtensionsProcessDisabled = isExtensionsProcessDisabled, + isExtensionsExpanded = isExtensionsExpanded, + isAllWebExtensionsDisabled = isAllWebExtensionsDisabled, + webExtensionMenuCount = webExtensionMenuCount, + extensionsMenuItemDescription = extensionsMenuItemDescription, + onExtensionsMenuClick = onExtensionsMenuClick, + extensionSubmenu = extensionSubmenu, + ) + if (!moreMenuExpanded) { MoreMenuButtonGroup( isMoreMenuHighlighted = false, // This prevents a dot from incorrectly showing e.g. "open in app" is available, even though we disable it. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ef8883b… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ef8883b… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] fixup! TB 42655 [android]: Implement "New circuit for this site" on Android
by Dan Ballard (@dan) 26 Mar '26

26 Mar '26
Dan Ballard pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: a42f148a by clairehurst at 2026-03-26T09:19:02-07:00 fixup! TB 42655 [android]: Implement "New circuit for this site" on Android - - - - - 1 changed file: - mobile/android/fenix/app/src/main/res/drawable/new_circuit.xml Changes: ===================================== mobile/android/fenix/app/src/main/res/drawable/new_circuit.xml ===================================== @@ -1,7 +1,18 @@ -<vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" android:height="16dp" android:viewportHeight="16" android:viewportWidth="16" android:width="16dp"> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:autoMirrored="true" + android:viewportWidth="16" + android:viewportHeight="16"> - <path android:fillColor="#5B5B66" android:fillType="evenOdd" android:pathData="M10.599,2.897C9.522,2.349 8.298,2.155 7.104,2.344C6.642,2.417 6.195,2.546 5.769,2.726C5.822,2.91 5.85,3.105 5.85,3.307C5.85,4.48 4.898,5.432 3.725,5.432C2.551,5.432 1.6,4.48 1.6,3.307C1.6,2.133 2.551,1.182 3.725,1.182C4.238,1.182 4.708,1.363 5.075,1.666C5.654,1.399 6.271,1.21 6.908,1.109C8.363,0.879 9.854,1.115 11.167,1.784C12.479,2.452 13.547,3.52 14.216,4.832C14.885,6.145 15.121,7.635 14.891,9.09C14.837,9.431 14.517,9.664 14.176,9.61C13.835,9.556 13.602,9.236 13.656,8.895C13.845,7.701 13.651,6.477 13.102,5.4C12.553,4.322 11.677,3.446 10.599,2.897ZM4.65,3.307C4.65,3.818 4.235,4.232 3.725,4.232C3.214,4.232 2.8,3.818 2.8,3.307C2.8,2.796 3.214,2.382 3.725,2.382C4.235,2.382 4.65,2.796 4.65,3.307Z"/> + <path + android:fillColor="#5B5B66" + android:fillType="evenOdd" + android:pathData="M10.599,2.897C9.522,2.349 8.298,2.155 7.104,2.344C6.642,2.417 6.195,2.546 5.769,2.726C5.822,2.91 5.85,3.105 5.85,3.307C5.85,4.48 4.898,5.432 3.725,5.432C2.551,5.432 1.6,4.48 1.6,3.307C1.6,2.133 2.551,1.182 3.725,1.182C4.238,1.182 4.708,1.363 5.075,1.666C5.654,1.399 6.271,1.21 6.908,1.109C8.363,0.879 9.854,1.115 11.167,1.784C12.479,2.452 13.547,3.52 14.216,4.832C14.885,6.145 15.121,7.635 14.891,9.09C14.837,9.431 14.517,9.664 14.176,9.61C13.835,9.556 13.602,9.236 13.656,8.895C13.845,7.701 13.651,6.477 13.102,5.4C12.553,4.322 11.677,3.446 10.599,2.897ZM4.65,3.307C4.65,3.818 4.235,4.232 3.725,4.232C3.214,4.232 2.8,3.818 2.8,3.307C2.8,2.796 3.214,2.382 3.725,2.382C4.235,2.382 4.65,2.796 4.65,3.307Z" /> - <path android:fillColor="#5B5B66" android:fillType="evenOdd" android:pathData="M1.824,6.39C2.165,6.444 2.398,6.764 2.344,7.105C2.155,8.299 2.349,9.523 2.898,10.6C3.447,11.678 4.323,12.554 5.401,13.103C6.478,13.651 7.702,13.845 8.896,13.656C9.356,13.583 9.803,13.455 10.227,13.276C10.173,13.088 10.144,12.891 10.144,12.686C10.144,11.512 11.096,10.561 12.269,10.561C13.443,10.561 14.394,11.512 14.394,12.686C14.394,13.86 13.443,14.811 12.269,14.811C11.76,14.811 11.293,14.632 10.927,14.333C10.347,14.601 9.73,14.79 9.092,14.891C7.637,15.121 6.146,14.885 4.833,14.216C3.52,13.548 2.453,12.481 1.784,11.168C1.115,9.855 0.879,8.365 1.109,6.91C1.163,6.569 1.483,6.336 1.824,6.39ZM13.194,12.686C13.194,13.197 12.78,13.611 12.269,13.611C11.759,13.611 11.344,13.197 11.344,12.686C11.344,12.175 11.759,11.761 12.269,11.761C12.78,11.761 13.194,12.175 13.194,12.686Z"/> + <path + android:fillColor="#5B5B66" + android:fillType="evenOdd" + android:pathData="M1.824,6.39C2.165,6.444 2.398,6.764 2.344,7.105C2.155,8.299 2.349,9.523 2.898,10.6C3.447,11.678 4.323,12.554 5.401,13.103C6.478,13.651 7.702,13.845 8.896,13.656C9.356,13.583 9.803,13.455 10.227,13.276C10.173,13.088 10.144,12.891 10.144,12.686C10.144,11.512 11.096,10.561 12.269,10.561C13.443,10.561 14.394,11.512 14.394,12.686C14.394,13.86 13.443,14.811 12.269,14.811C11.76,14.811 11.293,14.632 10.927,14.333C10.347,14.601 9.73,14.79 9.092,14.891C7.637,15.121 6.146,14.885 4.833,14.216C3.52,13.548 2.453,12.481 1.784,11.168C1.115,9.855 0.879,8.365 1.109,6.91C1.163,6.569 1.483,6.336 1.824,6.39ZM13.194,12.686C13.194,13.197 12.78,13.611 12.269,13.611C11.759,13.611 11.344,13.197 11.344,12.686C11.344,12.175 11.759,11.761 12.269,11.761C12.78,11.761 13.194,12.175 13.194,12.686Z" /> </vector> View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/a42f148… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/a42f148… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] fixup! TB 40597: Implement TorSettings module
by henry (@henry) 26 Mar '26

26 Mar '26
henry pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: ce7047cb by Henry Wilkes at 2026-03-26T12:40:50+00:00 fixup! TB 40597: Implement TorSettings module TB 44251: Drop pt_config.json meek-azure migration logic. - - - - - 1 changed file: - toolkit/modules/TorSettings.sys.mjs Changes: ===================================== toolkit/modules/TorSettings.sys.mjs ===================================== @@ -537,13 +537,6 @@ class TorSettingsImpl { const req = await fetch("chrome://global/content/pt_config.json"); const config = await req.json(); lazy.logger.debug("Loaded pt_config.json", config); - if ("meek-azure" in config.bridges) { - // Convert the meek-azure name to meek. tor-browser#44068. - // NOTE: no need to convert recommendedDefault since it is not meek. - lazy.logger.debug("Converting pt_config type from meek-azure to meek"); - config.bridges.meek = config.bridges["meek-azure"]; - delete config.bridges["meek-azure"]; - } this.#recommendedPT = config.recommendedDefault; this.#builtinBridges = config.bridges; for (const type in this.#builtinBridges) { View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ce7047c… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ce7047c… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-149.0a1-16.0-2] fixup! BB 41916: Letterboxing preferences UI
by henry (@henry) 26 Mar '26

26 Mar '26
henry pushed to branch mullvad-browser-149.0a1-16.0-2 at The Tor Project / Applications / Mullvad Browser Commits: 97ca4947 by Henry Wilkes at 2026-03-26T10:37:02+00:00 fixup! BB 41916: Letterboxing preferences UI BB 44546: Rename `appearance-chooser-item` to `setting-chooser-item`. We also drop the `200px` maximum width, since it seems that mozilla's new "Browser Layout" setting just above does not apply any maximum width for its two options. - - - - - 2 changed files: - browser/components/preferences/letterboxing.css - browser/components/preferences/letterboxing.js Changes: ===================================== browser/components/preferences/letterboxing.css ===================================== @@ -5,7 +5,3 @@ .letterboxing-overview { margin-block-end: var(--space-xxlarge); } - -.letterboxing-chooser-item.appearance-chooser-item { - flex: 0 1 200px; -} ===================================== browser/components/preferences/letterboxing.js ===================================== @@ -118,7 +118,7 @@ SettingGroupManager.registerGroups({ value: "top", l10nId: "letterboxing-alignment-top-option", controlAttrs: { - class: "appearance-chooser-item letterboxing-chooser-item", + class: "setting-chooser-item letterboxing-chooser-item", imagesrc: "chrome://browser/content/preferences/letterboxing-top.svg", }, @@ -127,7 +127,7 @@ SettingGroupManager.registerGroups({ value: "middle", l10nId: "letterboxing-alignment-middle-option", controlAttrs: { - class: "appearance-chooser-item letterboxing-chooser-item", + class: "setting-chooser-item letterboxing-chooser-item", imagesrc: "chrome://browser/content/preferences/letterboxing-middle.svg", }, View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/97c… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/97c… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
  • ← Newer
  • 1
  • 2
  • 3
  • 4
  • 5
  • ...
  • 810
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.