tor-commits
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
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 1 participants
- 213343 discussions

[Git][tpo/applications/tor-browser-build][main] 2 commits: Bug 41389: Always generate and load set-config.generated-config
by morgan (@morgan) 11 Mar '25
by morgan (@morgan) 11 Mar '25
11 Mar '25
morgan pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
4c29020e by Nicolas Vigier at 2025-03-10T13:44:39+01:00
Bug 41389: Always generate and load set-config.generated-config
- - - - -
810e8e20 by Nicolas Vigier at 2025-03-10T13:44:39+01:00
Bug 41389: Remove set-config.tbb-version
The signing script will now get the version information from rbm config.
- - - - -
12 changed files:
- .gitlab/issue_templates/Release Prep - Mullvad Browser Alpha.md
- .gitlab/issue_templates/Release Prep - Tor Browser Alpha.md
- tools/signing/dmg2mar
- tools/signing/functions
- tools/signing/linux-signer-authenticode-signing
- tools/signing/linux-signer-gpg-sign
- tools/signing/linux-signer-rcodesign-sign
- tools/signing/linux-signer-sign-android-apks
- tools/signing/linux-signer-signmars
- tools/signing/set-config
- − tools/signing/set-config.tbb-version
- tools/signing/upload-update_responses-to-staticiforme
Changes:
=====================================
.gitlab/issue_templates/Release Prep - Mullvad Browser Alpha.md
=====================================
@@ -137,7 +137,7 @@ Mullvad Browser Alpha (and Nightly) are on the `main` branch
- pierov
- [ ] Ensure all builders have matching builds
- [ ] On `${STAGING_SERVER}`, ensure updated:
- - **NOTE** Having a local git branch with `main` as the upstream branch with these values saved means you only need to periodically `git pull --rebase` and update the `set-config.tbb-version` file
+ - **NOTE** Having a local git branch with `main` as the upstream branch with these values saved means you only need to periodically `git pull --rebase`
- [ ] `tor-browser-build` is on the right commit: `git tag -v mb-${MULLVAD_BROWSER_VERSION}-${MULLVAD_BROWSER_BUILD_N} && git checkout mb-${MULLVAD_BROWSER_VERSION}-${MULLVAD_BROWSER_BUILD_N}`
- [ ] `tor-browser-build/tools/signing/set-config.hosts`
- `ssh_host_builder`: ssh hostname of machine with unsigned builds
@@ -147,10 +147,6 @@ Mullvad Browser Alpha (and Nightly) are on the `main` branch
- `appstoreconnect_api_key_path`: path to json file containing appstoreconnect api key infos
- [ ] `set-config.update-responses`
- `update_responses_repository_dir`: directory where you cloned `git@gitlab.torproject.org:tpo/applications/mullvad-browser-update-responses.git`
- - [ ] `tor-browser-build/tools/signing/set-config.tbb-version`
- - `tbb_version`: mullvad browser version string, same as `var/torbrowser_version` in `rbm.conf` (examples: `11.5a12`, `11.0.13`)
- - `tbb_version_build`: the tor-browser-build build number (if `var/torbrowser_build` in `rbm.conf` is `buildN` then this value is `N`)
- - `tbb_version_type`: either `alpha` for alpha releases or `release` for stable releases
- [ ] On `${STAGING_SERVER}` in a separate `screen` session, ensure tor daemon is running with SOCKS5 proxy on the default port 9050
- [ ] On `${STAGING_SERVER}` in a separate `screen` session, run do-all-signing script:
- Run:
=====================================
.gitlab/issue_templates/Release Prep - Tor Browser Alpha.md
=====================================
@@ -192,7 +192,7 @@ Tor Browser Alpha (and Nightly) are on the `main` branch
- pierov
- [ ] Ensure all builders have matching builds
- [ ] On `${STAGING_SERVER}`, ensure updated:
- - **NOTE** Having a local git branch with `main` as the upstream branch with these values saved means you only need to periodically `git pull --rebase` and update the `set-config.tbb-version` file
+ - **NOTE** Having a local git branch with `main` as the upstream branch with these values saved means you only need to periodically `git pull --rebase`
- [ ] `tor-browser-build` is on the right commit: `git tag -v tbb-${TOR_BROWSER_VERSION}-${TOR_BROWSER_BUILD_N} && git checkout tbb-${TOR_BROWSER_VERSION}-${TOR_BROWSER_BUILD_N}`
- [ ] `tor-browser-build/tools/signing/set-config.hosts`
- `ssh_host_builder`: ssh hostname of machine with unsigned builds
@@ -202,10 +202,6 @@ Tor Browser Alpha (and Nightly) are on the `main` branch
- `appstoreconnect_api_key_path`: path to json file containing appstoreconnect api key infos
- [ ] `set-config.update-responses`
- `update_responses_repository_dir`: directory where you cloned `git@gitlab.torproject.org:tpo/applications/tor-browser-update-responses.git`
- - [ ] `tor-browser-build/tools/signing/set-config.tbb-version`
- - `tbb_version`: tor browser version string, same as `var/torbrowser_version` in `rbm.conf` (examples: `11.5a12`, `11.0.13`)
- - `tbb_version_build`: the tor-browser-build build number (if `var/torbrowser_build` in `rbm.conf` is `buildN` then this value is `N`)
- - `tbb_version_type`: either `alpha` for alpha releases or `release` for stable releases
- [ ] On `${STAGING_SERVER}` in a separate `screen` session, ensure tor daemon is running with SOCKS5 proxy on the default port 9050
- [ ] On `${STAGING_SERVER}` in a separate `screen` session, run do-all-signing script:
- Run:
=====================================
tools/signing/dmg2mar
=====================================
@@ -13,10 +13,6 @@ cd "$script_dir/../.."
# some initial checks to make sure directories and file counts are as expected...
-version=$(./rbm/rbm showconf browser --target alpha --target $SIGNING_PROJECTNAME-linux-x86_64 var/torbrowser_version)
-test "$version" = "$tbb_version" || \
- exit_error "Incorrect tor browser version: $version != $tbb_version"
-
test -d "$signed_version_dir" || \
exit_error "$signed_version_dir does not exist"
=====================================
tools/signing/functions
=====================================
@@ -13,12 +13,6 @@ function var_is_defined {
done
}
-function check_torbrowser_version_var {
- local tbver=$("$script_dir/../../rbm/rbm" showconf browser --target "$SIGNING_PROJECTNAME" var/torbrowser_version)
- test "$tbver" != "$tbb_version" && exit_error "Wrong tbb_version: $tbver != $tbb_version"
- return 0
-}
-
function check_update_responses_repository_dir {
if test -z "$update_responses_repository_dir" || ! test -d "$update_responses_repository_dir"
then
@@ -36,44 +30,43 @@ function is_project {
}
function generate_config {
- p1=$("$rbm" showconf browser var/project-name --target "$SIGNING_PROJECTNAME")
- p2=$("$rbm" showconf browser var/Project_Name --target "$SIGNING_PROJECTNAME")
- p3=$("$rbm" showconf browser var/ProjectName --target "$SIGNING_PROJECTNAME")
- p4=$("$rbm" showconf browser var/display_name --target "$SIGNING_PROJECTNAME" --target "$tbb_version_type")
- echo 'rbm_not_available=1' > "$script_dir/set-config.generated-config"
- echo "SIGNING_PROJECTNAMES=(\"$p1\" \"$p2\" \"$p3\" \"$p4\")" >> "$script_dir/set-config.generated-config"
+ local p1=$("$rbm" showconf browser var/project-name --target \
+ "$SIGNING_PROJECTNAME")
+ local p2=$("$rbm" showconf browser var/Project_Name --target \
+ "$SIGNING_PROJECTNAME")
+ local p3=$("$rbm" showconf browser var/ProjectName --target \
+ "$SIGNING_PROJECTNAME")
+ p4=$("$rbm" showconf browser var/display_name --target \
+ "$SIGNING_PROJECTNAME" --target "$tbb_version_type")
+ echo "SIGNING_PROJECTNAMES=(\"$p1\" \"$p2\" \"$p3\" \"$p4\")" > \
+ "$script_dir/set-config.generated-config"
+ local tbb_version_type=$("$rbm" showconf browser \ var/browser_default_channel \
+ --target "$SIGNING_PROJECTNAME")
+ local tbb_version=$("$rbm" showconf browser var/torbrowser_version \
+ --target "$SIGNING_PROJECTNAME" --target \
+ "$tbb_version_type")
+ local tbb_version_build=$("$rbm" showconf browser var/torbrowser_build \
+ --target "$SIGNING_PROJECTNAME" --target \
+ "$tbb_version_type")
+ for v in tbb_version_type tbb_version tbb_version_build; do
+ echo "$v=$(shell-quote "${!v}")" >> "$script_dir/set-config.generated-config"
+ done
}
function project-name {
- if test -n "${rbm_not_available+x}"; then
- echo "${SIGNING_PROJECTNAMES[0]}"
- else
- "$rbm" showconf browser var/project-name --target "$SIGNING_PROJECTNAME"
- fi
+ echo "${SIGNING_PROJECTNAMES[0]}"
}
function Project_Name {
- if test -n "${rbm_not_available+x}"; then
- echo "${SIGNING_PROJECTNAMES[1]}"
- else
- "$rbm" showconf browser var/Project_Name --target "$SIGNING_PROJECTNAME"
- fi
+ echo "${SIGNING_PROJECTNAMES[1]}"
}
function ProjectName {
- if test -n "${rbm_not_available+x}"; then
- echo "${SIGNING_PROJECTNAMES[2]}"
- else
- "$rbm" showconf browser var/ProjectName --target "$SIGNING_PROJECTNAME"
- fi
+ echo "${SIGNING_PROJECTNAMES[2]}"
}
function display_name {
- if test -n "${rbm_not_available+x}"; then
- echo "${SIGNING_PROJECTNAMES[3]}"
- else
- "$rbm" showconf browser var/display_name --target "$SIGNING_PROJECTNAME" --target "$tbb_version_type"
- fi
+ echo "${SIGNING_PROJECTNAMES[3]}"
}
=====================================
tools/signing/linux-signer-authenticode-signing
=====================================
@@ -1,6 +1,7 @@
#!/bin/bash
set -e
+no_generate_config=1
script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
source "$script_dir/functions"
=====================================
tools/signing/linux-signer-gpg-sign
=====================================
@@ -1,6 +1,7 @@
#!/bin/bash
set -e
+no_generate_config=1
script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
source "$script_dir/functions"
=====================================
tools/signing/linux-signer-rcodesign-sign
=====================================
@@ -1,9 +1,9 @@
#!/bin/bash
set -e
+no_generate_config=1
script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
source "$script_dir/functions"
-source "$script_dir/set-config.generated-config"
# tbb_version_type is used in wrappers/sign-rcodesign, so we export it
export tbb_version_type
=====================================
tools/signing/linux-signer-sign-android-apks
=====================================
@@ -1,9 +1,9 @@
#!/bin/bash
set -e
+no_generate_config=1
script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
source "$script_dir/functions"
-source "$script_dir/set-config.generated-config"
topdir="$script_dir/../.."
ARCHS="armv7 aarch64 x86 x86_64"
=====================================
tools/signing/linux-signer-signmars
=====================================
@@ -3,6 +3,7 @@
set -e
set -u
+no_generate_config=1
script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
source "$script_dir/functions"
=====================================
tools/signing/set-config
=====================================
@@ -20,9 +20,11 @@ test "$SIGNING_PROJECTNAME" = 'torbrowser' \
export SIGNING_PROJECTNAME
-test -z "${rbm_not_available+x}" && rbm="$script_dir/../../rbm/rbm"
+rbm="$script_dir/../../rbm/rbm"
-. "$script_dir/set-config.tbb-version"
+test -z "$no_generate_config" && generate_config
+. "$script_dir/set-config.generated-config"
+export no_generate_config=1
test "$tbb_version_type" = 'release' \
|| test "$tbb_version_type" = 'alpha' \
=====================================
tools/signing/set-config.tbb-version deleted
=====================================
@@ -1,7 +0,0 @@
-# The following 3 lines should be uncommented and updated:
-
-#tbb_version=11.5a4
-#tbb_version_build=1
-#tbb_version_type=alpha
-
-var_is_defined tbb_version tbb_version_build tbb_version_type
=====================================
tools/signing/upload-update_responses-to-staticiforme
=====================================
@@ -4,8 +4,6 @@ script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
source "$script_dir/functions"
source "$script_dir/set-config.update-responses"
-check_torbrowser_version_var
-
update_responses_tar_filename="update-responses-$tbb_version_type-$tbb_version.tar"
update_responses_tar="$script_dir/../../$SIGNING_PROJECTNAME/$tbb_version_type/update-responses/$update_responses_tar_filename"
test -f "$update_responses_tar" && \
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.
1
0

[Git][tpo/applications/tor-browser][tor-browser-128.8.0esr-14.5-1] fixup! TB 41089: Add tor-browser build scripts + Makefile to tor-browser
by Dan Ballard (@dan) 10 Mar '25
by Dan Ballard (@dan) 10 Mar '25
10 Mar '25
Dan Ballard pushed to branch tor-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
d2b56be1 by clairehurst at 2025-03-10T19:25:21+00:00
fixup! TB 41089: Add tor-browser build scripts + Makefile to tor-browser
Update android-env-macos-template.sh
- - - - -
1 changed file:
- tools/geckoview/android-env-macos-template.sh
Changes:
=====================================
tools/geckoview/android-env-macos-template.sh
=====================================
@@ -1,6 +1,8 @@
-export JAVA_HOME=/opt/homebrew/opt/openjdk(a)11/libexec/openjdk.jdk/Contents/Home/ # for arm64. Or JAVA_HOME=/usr/local/opt/openjdk(a)11/libexec/openjdk.jdk/Contents/Home/ for x86_64.
+export JAVA_HOME=/opt/homebrew/opt/openjdk(a)17/libexec/openjdk.jdk/Contents/Home/ # for arm64. Or JAVA_HOME=/usr/local/opt/openjdk(a)17/libexec/openjdk.jdk/Contents/Home/ for x86_64.
export ANDROID_HOME=$HOME/Library/Android/sdk # or $HOME/.mozbuild/android-sdk-macosx/
-export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/23.2.8568313 # will need to download NDK 23.2.8568313 via android studio
-export GRADLE_HOME=/opt/homebrew/Cellar/gradle(a)7/7.6.4 # for arm64 or /usr/local/Cellar/gradle(a)7/7.6.4 for x86_64. Make sure the version is up to date
+export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/26.2.11394342 # will need to download the relevant NDK via android studio (e.g. 26.2.11394342)
+GRADLE_DIR=/opt/homebrew/Cellar/gradle # for arm64, or /usr/local/Cellar/gradle for x86_64. Download via homebrew.
+GRADLE_VERSION=`ls -1 "$GRADLE_DIR" | sort -hr | head -n 1` # Finds the latest gradle version in the specified GRADLE_DIR
+export GRADLE_HOME=$GRADLE_DIR/$GRADLE_VERSION
export LOCAL_DEV_BUILD=1
-export PATH=$ANDROID_HOME/ndk/25.2.9519653/toolchains/llvm/prebuilt/darwin-x86_64/bin/:$PATH # prepend android studios latest ndk to the path so it's clang gets used to build geckoview. NDK 25.2.9519653 uses clang 14.0.7, ideally we'd use clang 16 (to be the same as Linux) but that's not an option yet for android studio. NDK 26.1.10909125 uses clang 17.0.2, which we should evaluate with the esr128 migration
+export PATH=$ANDROID_HOME/ndk/26.2.11394342/toolchains/llvm/prebuilt/darwin-x86_64/bin/:$PATH # prepend android studios latest ndk to the path so it's clang gets used to build geckoview. Note that it doesn't need to be the same version as above
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/d2b56be…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/d2b56be…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-128.8.0esr-14.5-1] fixup! [android] Implement Android-native Connection Assist UI
by Dan Ballard (@dan) 10 Mar '25
by Dan Ballard (@dan) 10 Mar '25
10 Mar '25
Dan Ballard pushed to branch tor-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
d3a9fcd2 by clairehurst at 2025-03-10T10:52:05-06:00
fixup! [android] Implement Android-native Connection Assist UI
tor-browser#43480
- - - - -
6 changed files:
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorBootstrapProgressViewModel.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistViewModel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/UrlQuickLoadViewModel.kt
Changes:
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt
=====================================
@@ -155,7 +155,7 @@ import java.util.Locale
import mozilla.components.browser.engine.gecko.GeckoEngine
import org.mozilla.fenix.components.FenixSnackbar
import org.mozilla.fenix.home.HomeFragment
-import org.mozilla.fenix.tor.TorConnectionAssistViewModel
+import org.mozilla.fenix.tor.UrlQuickLoadViewModel
import org.mozilla.geckoview.TorAndroidIntegration
/**
@@ -237,7 +237,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity, TorAn
private var dialog: RedirectDialogFragment? = null
- private val torConnectionAssistViewModel: TorConnectionAssistViewModel by viewModels()
+ private val urlQuickLoadViewModel: UrlQuickLoadViewModel by viewModels()
@Suppress("ComplexMethod")
final override fun onCreate(savedInstanceState: Bundle?) {
@@ -1124,7 +1124,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity, TorAn
.setText(getString(R.string.connection_assist_connect_to_tor_before_opening_links))
.setAllCapsForActionButton(false)
.setAction(getString(R.string.connection_assist_connect_to_tor_before_opening_links_confirmation)) {
- torConnectionAssistViewModel.handleConnect(searchTermOrURL)
+ urlQuickLoadViewModel.urlToLoadAfterConnecting.value = searchTermOrURL
if (navHost.navController.previousBackStackEntry?.destination?.id == R.id.torConnectionAssistFragment) {
supportFragmentManager.popBackStack()
} else {
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt
=====================================
@@ -158,13 +158,14 @@ import org.mozilla.fenix.search.toolbar.SearchSelectorMenu
import org.mozilla.fenix.tabstray.Page
import org.mozilla.fenix.tabstray.TabsTrayAccessPoint
import org.mozilla.fenix.theme.FirefoxTheme
-import org.mozilla.fenix.tor.TorConnectionAssistViewModel
import org.mozilla.fenix.utils.Settings.Companion.TOP_SITES_PROVIDER_MAX_THRESHOLD
import org.mozilla.fenix.utils.allowUndo
import org.mozilla.fenix.wallpapers.Wallpaper
import java.lang.ref.WeakReference
import org.mozilla.fenix.GleanMetrics.TabStrip as TabStripMetrics
+import org.mozilla.fenix.tor.UrlQuickLoadViewModel
+
@Suppress("TooManyFunctions", "LargeClass")
class HomeFragment : Fragment(), UserInteractionHandler {
private val args by navArgs<HomeFragmentArgs>()
@@ -178,7 +179,7 @@ class HomeFragment : Fragment(), UserInteractionHandler {
private val binding get() = _binding!!
private val homeViewModel: HomeScreenViewModel by activityViewModels()
- private val torConnectionAssistViewModel: TorConnectionAssistViewModel by activityViewModels()
+ private val urlQuickLoadViewModel: UrlQuickLoadViewModel by activityViewModels()
private val snackbarAnchorView: View?
get() = when (requireContext().settings().toolbarPosition) {
@@ -892,14 +893,15 @@ class HomeFragment : Fragment(), UserInteractionHandler {
view = view,
)
- torConnectionAssistViewModel.urlToLoadAfterConnecting.also {
- if(!it.isNullOrBlank()){
+ urlQuickLoadViewModel.urlToLoadAfterConnecting.observe(viewLifecycleOwner) {
+ if (!it.isNullOrBlank()) {
(requireActivity() as HomeActivity).openToBrowserAndLoad(
searchTermOrURL = it,
newTab = true,
from = BrowserDirection.FromHome,
)
- torConnectionAssistViewModel.urlToLoadAfterConnecting = null // Only load this url once
+ // Only load this url once
+ urlQuickLoadViewModel.urlToLoadAfterConnecting.value = null
}
}
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorBootstrapProgressViewModel.kt
=====================================
@@ -0,0 +1,44 @@
+package org.mozilla.fenix.tor
+
+import android.app.Application
+import androidx.lifecycle.AndroidViewModel
+import androidx.lifecycle.MutableLiveData
+import org.mozilla.fenix.ext.components
+import org.mozilla.geckoview.TorAndroidIntegration.BootstrapStateChangeListener
+
+class TorBootstrapProgressViewModel(
+ application: Application,
+) : AndroidViewModel(application), BootstrapStateChangeListener {
+
+ private val torIntegrationAndroid =
+ application.components.core.geckoRuntime.torIntegrationController
+
+ val progress: MutableLiveData<Int> by lazy {
+ MutableLiveData<Int>(0)
+ }
+
+ init {
+ torIntegrationAndroid.registerBootstrapStateChangeListener(this)
+ }
+
+ override fun onCleared() {
+ torIntegrationAndroid.unregisterBootstrapStateChangeListener(this)
+ super.onCleared()
+ }
+
+ override fun onBootstrapStateChange(state: String?) {}
+
+ override fun onBootstrapProgress(progress: Double, hasWarnings: Boolean) {
+ this.progress.value = progress.toInt()
+ }
+
+ override fun onBootstrapComplete() {}
+
+ override fun onBootstrapError(
+ code: String?,
+ message: String?,
+ phase: String?,
+ reason: String?,
+ ) {
+ }
+}
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistFragment.kt
=====================================
@@ -35,12 +35,14 @@ import org.mozilla.fenix.ext.hideToolbar
class TorConnectionAssistFragment : Fragment(), UserInteractionHandler {
private val TAG = "TorConnectionAssistFrag"
- private val viewModel: TorConnectionAssistViewModel by activityViewModels()
+ private val progressViewModel: TorBootstrapProgressViewModel by viewModels()
+ private val quickstartViewModel: QuickstartViewModel by activityViewModels()
+ private val torConnectionAssistViewModel : TorConnectionAssistViewModel by viewModels()
+ private val urlQuickLoadViewModel : UrlQuickLoadViewModel by activityViewModels()
+
private var _binding: FragmentTorConnectionAssistBinding? = null
private val binding get() = _binding!!
- private val quickstartViewModel: QuickstartViewModel by activityViewModels()
-
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
@@ -49,18 +51,23 @@ class TorConnectionAssistFragment : Fragment(), UserInteractionHandler {
_binding = FragmentTorConnectionAssistBinding.inflate(
inflater, container, false,
)
+
viewLifecycleOwner.lifecycleScope.launch {
repeatOnLifecycle(Lifecycle.State.STARTED) {
- viewModel.collectLastKnownStatus()
+ torConnectionAssistViewModel.collectLastKnownStatus()
}
}
- viewLifecycleOwner.lifecycleScope.launch {
- repeatOnLifecycle(Lifecycle.State.STARTED) {
- viewModel.torConnectScreen.collect { screen ->
- Log.d(TAG, "torConnectScreen is $screen")
- showScreen(screen)
- }
+ torConnectionAssistViewModel.shouldOpenHome.observe(viewLifecycleOwner) {
+ Log.d(TAG, "shouldOpenHome = $it")
+ if (it) {
+ openHome()
+ }
+ }
+
+ urlQuickLoadViewModel.urlToLoadAfterConnecting.observe(viewLifecycleOwner) { url ->
+ if (!url.isNullOrBlank()) {
+ torConnectionAssistViewModel.handleConnect()
}
}
@@ -75,10 +82,13 @@ class TorConnectionAssistFragment : Fragment(), UserInteractionHandler {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
- viewModel.progress().observe(
- viewLifecycleOwner,
- ) { progress ->
- setProgressBarCompat(progress)
+ viewLifecycleOwner.lifecycleScope.launch {
+ repeatOnLifecycle(Lifecycle.State.STARTED) {
+ torConnectionAssistViewModel.torConnectScreen.collect { screen ->
+ Log.d(TAG, "torConnectScreen is $screen")
+ showScreen(screen)
+ }
+ }
}
quickstartViewModel.quickstart().observe(
@@ -87,13 +97,10 @@ class TorConnectionAssistFragment : Fragment(), UserInteractionHandler {
binding.quickstartSwitch.isChecked = it
}
- viewModel.shouldOpenHome().observe(
+ progressViewModel.progress.observe(
viewLifecycleOwner,
- ) {
- Log.d(TAG, "shouldOpenHome() = $it")
- if (it) {
- openHome()
- }
+ ) { progress ->
+ setProgressBarCompat(progress)
}
}
@@ -142,7 +149,7 @@ class TorConnectionAssistFragment : Fragment(), UserInteractionHandler {
private fun setBackButton(screen: ConnectAssistUiState) {
binding.backButton.visibility = if (screen.backButtonVisible) View.VISIBLE else View.INVISIBLE
binding.backButton.setOnClickListener {
- viewModel.handleBackButtonPressed()
+ torConnectionAssistViewModel.handleBackButtonPressed()
}
}
@@ -204,10 +211,7 @@ class TorConnectionAssistFragment : Fragment(), UserInteractionHandler {
if (screen.torBootstrapButton1Visible) View.VISIBLE else View.GONE
binding.torBootstrapButton1.text = getString(screen.torBootstrapButton1TextStringResource)
binding.torBootstrapButton1.setOnClickListener {
- viewModel.handleButton1Pressed(
- screen,
- lifecycleScope,
- )
+ torConnectionAssistViewModel.handleConnect()
}
}
@@ -231,7 +235,7 @@ class TorConnectionAssistFragment : Fragment(), UserInteractionHandler {
}
}
binding.torBootstrapButton2.setOnClickListener {
- viewModel.cancelTorBootstrap()
+ torConnectionAssistViewModel.cancelTorBootstrap()
if (screen.torBootstrapButton2ShouldOpenSettings) {
openTorConnectionSettings()
} else if (screen.torBootstrapButton2ShouldRestartApp) {
@@ -279,7 +283,9 @@ class TorConnectionAssistFragment : Fragment(), UserInteractionHandler {
private fun openHome() {
Log.d(TAG, "openHome()")
- viewModel.openHome(findNavController())
+ findNavController().navigate(
+ TorConnectionAssistFragmentDirections.actionHome(),
+ )
}
private fun openSettings(preferenceToScrollTo: String? = null) {
@@ -308,7 +314,7 @@ class TorConnectionAssistFragment : Fragment(), UserInteractionHandler {
}
override fun onBackPressed(): Boolean {
- return viewModel.handleBackButtonPressed()
+ return torConnectionAssistViewModel.handleBackButtonPressed()
}
}
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistViewModel.kt
=====================================
@@ -7,91 +7,42 @@ package org.mozilla.fenix.tor
import android.app.Application
import android.util.Log
import androidx.lifecycle.AndroidViewModel
-import androidx.lifecycle.LifecycleCoroutineScope
-import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
-import androidx.navigation.NavController
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import org.mozilla.fenix.ext.components
class TorConnectionAssistViewModel(
application: Application,
-) : AndroidViewModel(application), TorEvents {
+) : AndroidViewModel(application) {
private val TAG = "torConnectionAssistVM"
- private val components = getApplication<Application>().components
-
- private val _torController: TorControllerGV = components.torController
+ private val torIntegrationAndroid =
+ application.components.core.geckoRuntime.torIntegrationController
+ private val _torController: TorControllerGV = application.components.torController
private val _torConnectScreen = MutableStateFlow(ConnectAssistUiState.Splash)
internal val torConnectScreen: StateFlow<ConnectAssistUiState> = _torConnectScreen
- private val _shouldOpenHome = MutableLiveData(false)
- fun shouldOpenHome(): LiveData<Boolean> {
- return _shouldOpenHome
- }
-
- private val _progress = MutableLiveData(0)
- fun progress(): LiveData<Int> {
- return _progress
- }
-
- init {
- Log.d(TAG, "initiating TorConnectionAssistViewModel $this")
- _torController.registerTorListener(this)
- }
-
- var urlToLoadAfterConnecting: String? = null
-
- fun handleConnect(
- urlToLoadAfterConnecting: String? = null,
- withDebugLogging: Boolean = false,
- lifecycleScope: LifecycleCoroutineScope? = null,
- ) {
- this.urlToLoadAfterConnecting = urlToLoadAfterConnecting
- if (_torController.lastKnownStatus.value.isOff()) {
- Log.d(TAG, "handleConnect() triggered, initiatingTorBootstrap")
- _torController.initiateTorBootstrap(
- withDebugLogging = withDebugLogging,
- lifecycleScope = lifecycleScope,
- )
- }
+ val shouldOpenHome: MutableLiveData<Boolean> by lazy {
+ MutableLiveData(false)
}
- fun handleButton1Pressed(
- screen: ConnectAssistUiState,
- lifecycleScope: LifecycleCoroutineScope?,
- ) {
- if (screen.torBootstrapButton1ShouldShowTryingABridge) {
+ fun handleConnect() {
+ if (_torConnectScreen.value.torBootstrapButton1ShouldShowTryingABridge) {
tryABridge()
} else {
- handleConnect(lifecycleScope = lifecycleScope)
+ if (_torController.lastKnownStatus.value.isOff()) {
+ torIntegrationAndroid.beginBootstrap()
+ }
}
}
fun cancelTorBootstrap() {
- _torController.stopTor()
+ torIntegrationAndroid.cancelBootstrap()
_torController.setTorStopped()
}
- override fun onTorConnecting() {
- Log.d(TAG, "onTorConnecting()")
- }
-
- override fun onTorConnected() {
- Log.d(TAG, "onTorConnected()")
- _torController.unregisterTorListener(this)
- }
-
- override fun onTorStatusUpdate(entry: String?, status: String?, progress: Double?) {
- Log.d(TAG, "onTorStatusUpdate($entry, $status, $progress)")
- if (progress != null) {
- _progress.value = progress.toInt()
- }
-
- }
-
suspend fun collectLastKnownStatus() {
_torController.lastKnownStatus.collect {
when (it) {
@@ -99,8 +50,8 @@ class TorConnectionAssistViewModel(
TorConnectState.Configuring -> handleConfiguring()
TorConnectState.AutoBootstrapping -> handleBootstrap()
TorConnectState.Bootstrapping -> handleBootstrap()
- TorConnectState.Bootstrapped -> _shouldOpenHome.value = true
- TorConnectState.Disabled -> _shouldOpenHome.value = true
+ TorConnectState.Bootstrapped -> shouldOpenHome.value = true
+ TorConnectState.Disabled -> shouldOpenHome.value = true
TorConnectState.Error -> handleError()
}
}
@@ -145,10 +96,7 @@ class TorConnectionAssistViewModel(
}
else -> _torConnectScreen.value =
- ConnectAssistUiState.Connecting.also { connectAssistUiState ->
- // covers the case of when the bootstrap is already in progress when the UiState "catches up"
- connectAssistUiState.progress = _progress.value ?: 0
- }
+ ConnectAssistUiState.Connecting
}
}
@@ -184,10 +132,6 @@ class TorConnectionAssistViewModel(
_torConnectScreen.value = ConnectAssistUiState.InternetError
}
- override fun onTorStopped() {
- Log.d(TAG, "onTorStopped()")
- }
-
private fun tryABridge() {
if (!locationFound()) {
_torConnectScreen.value = ConnectAssistUiState.LocationError
@@ -198,7 +142,7 @@ class TorConnectionAssistViewModel(
_torController.bridgeTransport =
TorBridgeTransportConfig.BUILTIN_SNOWFLAKE // TODO select based on country
}
- handleConnect(withDebugLogging = true)
+ torIntegrationAndroid.beginBootstrap()
}
private fun locationFound(): Boolean {
@@ -249,10 +193,4 @@ class TorConnectionAssistViewModel(
}
return true
}
-
- fun openHome(navController: NavController) {
- navController.navigate(
- TorConnectionAssistFragmentDirections.actionHome(),
- )
- }
}
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/UrlQuickLoadViewModel.kt
=====================================
@@ -0,0 +1,10 @@
+package org.mozilla.fenix.tor
+
+import androidx.lifecycle.MutableLiveData
+import androidx.lifecycle.ViewModel
+
+class UrlQuickLoadViewModel : ViewModel() {
+ val urlToLoadAfterConnecting: MutableLiveData<String?> by lazy {
+ MutableLiveData<String?>(null)
+ }
+}
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/d3a9fcd…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/d3a9fcd…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-128.8.0esr-14.5-1] fixup! [android] Implement Android-native Connection Assist UI
by Dan Ballard (@dan) 10 Mar '25
by Dan Ballard (@dan) 10 Mar '25
10 Mar '25
Dan Ballard pushed to branch tor-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
cbe2d643 by clairehurst at 2025-03-10T15:28:34+00:00
fixup! [android] Implement Android-native Connection Assist UI
tor-browser!43408 Add pref to load quickstartUI faster
- - - - -
2 changed files:
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/QuickstartViewModel.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
Changes:
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/QuickstartViewModel.kt
=====================================
@@ -11,8 +11,9 @@ class QuickstartViewModel(
application: Application,
) : AndroidViewModel(application) {
+ private val components = getApplication<Application>().components
private val torIntegrationAndroid =
- (getApplication<Application>().components.core.engine as GeckoEngine).getTorIntegrationController()
+ (components.core.engine as GeckoEngine).getTorIntegrationController()
/**
* NOTE: Whilst the initial value for _quickstart is fetched from
@@ -25,10 +26,11 @@ class QuickstartViewModel(
init {
torIntegrationAndroid.quickstartGet {
_quickstart.value = it
+ components.settings.quickStart = it
}
}
- private val _quickstart = MutableLiveData<Boolean>()
+ private val _quickstart = MutableLiveData(components.settings.quickStart)
fun quickstart(): LiveData<Boolean> {
return _quickstart
}
@@ -36,6 +38,7 @@ class QuickstartViewModel(
fun quickstartSet(value: Boolean) {
torIntegrationAndroid.quickstartSet(value)
_quickstart.value = value
+ components.settings.quickStart = value
}
}
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
=====================================
@@ -2111,4 +2111,9 @@ class Settings(private val appContext: Context) : PreferencesHolder {
appContext.getPreferenceKey(R.string.pref_key_use_html_connection_ui),
default = false,
)
+
+ var quickStart by booleanPreference(
+ appContext.getPreferenceKey(R.string.pref_key_quick_start),
+ default = false,
+ )
}
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/cbe2d64…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/cbe2d64…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser][mullvad-browser-128.8.0esr-14.5-1] 4 commits: Bug 1917556 - [marionette] Fix Mn tests with Python 3.12 r=webdriver-reviewers,whimboo
by Pier Angelo Vendrame (@pierov) 10 Mar '25
by Pier Angelo Vendrame (@pierov) 10 Mar '25
10 Mar '25
Pier Angelo Vendrame pushed to branch mullvad-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Mullvad Browser
Commits:
9492cb87 by Julian Descottes at 2025-03-06T10:46:29+01:00
Bug 1917556 - [marionette] Fix Mn tests with Python 3.12 r=webdriver-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D221448
- - - - -
29861015 by Beatriz Rizental at 2025-03-06T10:47:06+01:00
fixup! Base Browser's .mozconfigs.
- - - - -
63d64ecc by Beatriz Rizental at 2025-03-06T10:47:15+01:00
BB 43535: Enable tests
- - - - -
2aa78353 by John Lin at 2025-03-10T14:20:42+00:00
Bug 1924070 - modify H.264 extradata to match sample conversion code. r=media-playback-reviewers,alwu
In AVC stream, NAL unit is represented with the length of unit data
(NALUnitLength) followed by the actual unit data(NALUnit). The NALUnitLength
field can be 1-4 bytes long and the size can be derived from the
'lengthSizeMinusOne' value recorded in extradata.
H264ChangeMonitor.CheckForChange() reformats all input samples so that
NALUnitLength will always be 4 bytes long while the original extradata is
used during decoder creation earlier, so decoder won't be able to correctly
parse converted samples if extradata is not modified accordingly.
Differential Revision: https://phabricator.services.mozilla.com/D239547
- - - - -
6 changed files:
- dom/media/platforms/wrappers/MediaChangeMonitor.cpp
- mozconfig-linux-aarch64-dev
- mozconfig-linux-x86_64-dev
- mozconfig-macos-dev
- testing/marionette/harness/marionette_harness/runner/base.py
- testing/specialpowers/api.js
Changes:
=====================================
dom/media/platforms/wrappers/MediaChangeMonitor.cpp
=====================================
@@ -42,6 +42,14 @@ class H264ChangeMonitor : public MediaChangeMonitor::CodecChangeMonitor {
: mCurrentConfig(aInfo), mFullParsing(aFullParsing) {
if (CanBeInstantiated()) {
UpdateConfigFromExtraData(aInfo.mExtraData);
+ auto avcc = AVCCConfig::Parse(mCurrentConfig.mExtraData);
+ if (avcc.isOk() && avcc.unwrap().NALUSize() != 4) {
+ // `CheckForChange()` will use `AnnexB::ConvertSampleToAVCC()` to change
+ // NAL units into 4-byte.
+ // `AVCDecoderConfigurationRecord.lengthSizeMinusOne` in the config
+ // should be modified too.
+ mCurrentConfig.mExtraData->ReplaceElementAt(4, 0xfc | 3);
+ }
}
}
=====================================
mozconfig-linux-aarch64-dev
=====================================
@@ -16,3 +16,5 @@ ac_add_options --disable-install-strip
ac_add_options --with-base-browser-version=dev-build
ac_add_options --disable-base-browser-update
+
+ac_add_options --enable-tests
=====================================
mozconfig-linux-x86_64-dev
=====================================
@@ -19,3 +19,5 @@ ac_add_options --disable-base-browser-update
# Let's make sure no preference is enabling either Adobe's or Google's CDM.
ac_add_options --disable-eme
+
+ac_add_options --enable-tests
=====================================
mozconfig-macos-dev
=====================================
@@ -19,3 +19,5 @@ ac_add_options --disable-update-agent
# Let's make sure no preference is enabling either Adobe's or Google's CDM.
ac_add_options --disable-eme
+
+ac_add_options --enable-tests
=====================================
testing/marionette/harness/marionette_harness/runner/base.py
=====================================
@@ -222,7 +222,7 @@ class MarionetteTestResult(StructuredTestResult, TestResultCollection):
self.logger.info("END LOG:")
def stopTest(self, *args, **kwargs):
- unittest._TextTestResult.stopTest(self, *args, **kwargs)
+ unittest.TextTestResult.stopTest(self, *args, **kwargs)
if self.marionette.check_for_crash():
# this tells unittest.TestSuite not to continue running tests
self.shouldStop = True
=====================================
testing/specialpowers/api.js
=====================================
@@ -40,6 +40,18 @@ this.specialpowers = class extends ExtensionAPI {
uri,
resProto.ALLOW_CONTENT_ACCESS
);
+ } else {
+ // This is a hack!
+ // For some reason, this specific substituion has an extra `/` in the path.
+ // This is a workaround to fix it.
+ //
+ // TODO (#43545): Remove this once we have a proper fix.
+ let uri = resProto.getSubstitution("testing-common");
+ resProto.setSubstitution(
+ "testing-common",
+ Services.io.newURI(uri.spec.replace("file:////", "file:///")),
+ resProto.ALLOW_CONTENT_ACCESS
+ );
}
SpecialPowersParent.registerActor();
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/cb…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/cb…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][base-browser-128.8.0esr-14.5-1] Bug 1924070 - modify H.264 extradata to match sample conversion code....
by morgan (@morgan) 10 Mar '25
by morgan (@morgan) 10 Mar '25
10 Mar '25
morgan pushed to branch base-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
2aa78353 by John Lin at 2025-03-10T14:20:42+00:00
Bug 1924070 - modify H.264 extradata to match sample conversion code. r=media-playback-reviewers,alwu
In AVC stream, NAL unit is represented with the length of unit data
(NALUnitLength) followed by the actual unit data(NALUnit). The NALUnitLength
field can be 1-4 bytes long and the size can be derived from the
'lengthSizeMinusOne' value recorded in extradata.
H264ChangeMonitor.CheckForChange() reformats all input samples so that
NALUnitLength will always be 4 bytes long while the original extradata is
used during decoder creation earlier, so decoder won't be able to correctly
parse converted samples if extradata is not modified accordingly.
Differential Revision: https://phabricator.services.mozilla.com/D239547
- - - - -
1 changed file:
- dom/media/platforms/wrappers/MediaChangeMonitor.cpp
Changes:
=====================================
dom/media/platforms/wrappers/MediaChangeMonitor.cpp
=====================================
@@ -42,6 +42,14 @@ class H264ChangeMonitor : public MediaChangeMonitor::CodecChangeMonitor {
: mCurrentConfig(aInfo), mFullParsing(aFullParsing) {
if (CanBeInstantiated()) {
UpdateConfigFromExtraData(aInfo.mExtraData);
+ auto avcc = AVCCConfig::Parse(mCurrentConfig.mExtraData);
+ if (avcc.isOk() && avcc.unwrap().NALUSize() != 4) {
+ // `CheckForChange()` will use `AnnexB::ConvertSampleToAVCC()` to change
+ // NAL units into 4-byte.
+ // `AVCDecoderConfigurationRecord.lengthSizeMinusOne` in the config
+ // should be modified too.
+ mCurrentConfig.mExtraData->ReplaceElementAt(4, 0xfc | 3);
+ }
}
}
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/2aa7835…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/2aa7835…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-128.8.0esr-14.5-1] Bug 1924070 - modify H.264 extradata to match sample conversion code....
by morgan (@morgan) 10 Mar '25
by morgan (@morgan) 10 Mar '25
10 Mar '25
morgan pushed to branch tor-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
4224ae27 by John Lin at 2025-03-10T15:04:22+01:00
Bug 1924070 - modify H.264 extradata to match sample conversion code. r=media-playback-reviewers,alwu
In AVC stream, NAL unit is represented with the length of unit data
(NALUnitLength) followed by the actual unit data(NALUnit). The NALUnitLength
field can be 1-4 bytes long and the size can be derived from the
'lengthSizeMinusOne' value recorded in extradata.
H264ChangeMonitor.CheckForChange() reformats all input samples so that
NALUnitLength will always be 4 bytes long while the original extradata is
used during decoder creation earlier, so decoder won't be able to correctly
parse converted samples if extradata is not modified accordingly.
Differential Revision: https://phabricator.services.mozilla.com/D239547
- - - - -
1 changed file:
- dom/media/platforms/wrappers/MediaChangeMonitor.cpp
Changes:
=====================================
dom/media/platforms/wrappers/MediaChangeMonitor.cpp
=====================================
@@ -42,6 +42,14 @@ class H264ChangeMonitor : public MediaChangeMonitor::CodecChangeMonitor {
: mCurrentConfig(aInfo), mFullParsing(aFullParsing) {
if (CanBeInstantiated()) {
UpdateConfigFromExtraData(aInfo.mExtraData);
+ auto avcc = AVCCConfig::Parse(mCurrentConfig.mExtraData);
+ if (avcc.isOk() && avcc.unwrap().NALUSize() != 4) {
+ // `CheckForChange()` will use `AnnexB::ConvertSampleToAVCC()` to change
+ // NAL units into 4-byte.
+ // `AVCDecoderConfigurationRecord.lengthSizeMinusOne` in the config
+ // should be modified too.
+ mCurrentConfig.mExtraData->ReplaceElementAt(4, 0xfc | 3);
+ }
}
}
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4224ae2…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4224ae2…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] 2 commits: Bug 41040: Add configuration to rbm.conf to select channel and platforms
by morgan (@morgan) 10 Mar '25
by morgan (@morgan) 10 Mar '25
10 Mar '25
morgan pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
f27def7c by Nicolas Vigier at 2025-03-10T12:07:48+01:00
Bug 41040: Add configuration to rbm.conf to select channel and platforms
The browser can now be built using `make torbrowser` and `make
mullvadbrowser`. In this case, the channel and platforms to build are
selected by the variables defined in rbm.conf:
* var/browser_default_channel
* var/browser_platforms
- - - - -
fb835be6 by Nicolas Vigier at 2025-03-10T13:42:15+01:00
Bug 41040: Update release prep alpha templates
The stable release prep templates should be updated in a separate commit
when this is backported to `maint-14.0`.
- - - - -
6 changed files:
- .gitlab/issue_templates/Release Prep - Mullvad Browser Alpha.md
- .gitlab/issue_templates/Release Prep - Tor Browser Alpha.md
- Makefile
- projects/release/build
- projects/release/config
- rbm.conf
Changes:
=====================================
.gitlab/issue_templates/Release Prep - Mullvad Browser Alpha.md
=====================================
@@ -65,6 +65,7 @@ Mullvad Browser Alpha (and Nightly) are on the `main` branch
- [ ] `var/torbrowser_build`: updated to `${MULLVAD_BROWSER_BUILD_N}`
- [ ] `var/browser_release_date`: updated to build date. For the build to be reproducible, the date should be in the past when building.
- **⚠️ WARNING**: If we have updated `var/torbrowser_build` without updating the `firefox` tag, then we can leave this unchanged to avoid forcing a firefox re-build (e.g. when bumping `var/torbrowser_build` to build2, build3, etc due to non-firefox related build issues)
+ - [ ] `var/browser_platforms`: updated to enable the platforms included in this release
- [ ] `var/torbrowser_incremental_from`: updated to previous Desktop version
- **NOTE**: We try to build incrementals for the previous 3 desktop versions
- **⚠️ WARNING**: Really *actually* make sure this is the previous Desktop version or else the `make mullvadbrowser-incrementals-*` step will fail
@@ -111,7 +112,7 @@ Mullvad Browser Alpha (and Nightly) are on the `main` branch
- [ ] Build the tag:
- Run:
```bash
- make mullvadbrowser-alpha && make mullvadbrowser-incrementals-alpha
+ make mullvadbrowser
```
- [ ] Tor Project build machine
- [ ] Local developer machine
=====================================
.gitlab/issue_templates/Release Prep - Tor Browser Alpha.md
=====================================
@@ -65,6 +65,7 @@ Tor Browser Alpha (and Nightly) are on the `main` branch
- [ ] `var/torbrowser_build`: updated to `${TOR_BROWSER_BUILD_N}`
- [ ] `var/browser_release_date`: updated to build date. For the build to be reproducible, the date should be in the past when building.
- **⚠️ WARNING**: If we have updated `var/torbrowser_build` without updating the `firefox` or `geckoview` tags, then we can leave this unchanged to avoid forcing a firefox re-build (e.g. when bumping `var/torbrwoser_build` to build2, build3, etc due to non-firefox related build issues)
+ - [ ] `var/browser_platforms`: updated to enable the platforms included in this release
- [ ] ***(Desktop Only)*** `var/torbrowser_incremental_from`: updated to previous Desktop version
- **NOTE**: We try to build incrementals for the previous 3 desktop versions
- **⚠️ WARNING**: Really *actually* make sure this is the previous Desktop version or else the `make torbrowser-incrementals-*` step will fail
@@ -135,7 +136,7 @@ Tor Browser Alpha (and Nightly) are on the `main` branch
- [ ] Build the tag:
- Run:
```bash
- make torbrowser-alpha && make torbrowser-incrementals-alpha
+ make torbrowser
```
- [ ] Tor Project build machine
- [ ] Local developer machine
=====================================
Makefile
=====================================
@@ -1,196 +1,180 @@
rbm=./rbm/rbm
+browser_default_channel=$(shell $(rbm) showconf release var/browser_default_channel)
-all: torbrowser-release
+.PHONY: torbrowser mullvadbrowser
+all: torbrowser mullvadbrowser
#######################
# Tor Browser Targets #
#######################
+torbrowser: submodule-update
+ @echo Building torbrowser-$(browser_default_channel)
+ $(MAKE) torbrowser-$(browser_default_channel)
+ @echo Building incrementals for torbrowser-$(browser_default_channel)
+ $(MAKE) torbrowser-incrementals-$(browser_default_channel)
+
torbrowser-release: submodule-update
$(rbm) build release --target release --target browser-all --target torbrowser
-torbrowser-release-android: submodule-update
- $(rbm) build release --target release --target browser-all-android --target torbrowser
-
torbrowser-release-android-armv7: submodule-update
- $(rbm) build release --target release --target browser-android-armv7 --target torbrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-android-armv7 --target torbrowser
torbrowser-release-android-x86: submodule-update
- $(rbm) build release --target release --target browser-android-x86 --target torbrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-android-x86 --target torbrowser
torbrowser-release-android-x86_64: submodule-update
- $(rbm) build release --target release --target browser-android-x86_64 --target torbrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-android-x86_64 --target torbrowser
torbrowser-release-android-aarch64: submodule-update
- $(rbm) build release --target release --target browser-android-aarch64 --target torbrowser
-
-torbrowser-release-desktop: submodule-update
- $(rbm) build release --target release --target browser-all-desktop --target torbrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-android-aarch64 --target torbrowser
torbrowser-release-linux-x86_64: submodule-update
- $(rbm) build release --target release --target browser-linux-x86_64 --target torbrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-linux-x86_64 --target torbrowser
torbrowser-release-linux-x86_64-asan: submodule-update
- $(rbm) build release --target release --target browser-linux-x86_64-asan --target torbrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-linux-x86_64-asan --target torbrowser
torbrowser-release-linux-i686: submodule-update
- $(rbm) build release --target release --target browser-linux-i686 --target torbrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-linux-i686 --target torbrowser
torbrowser-release-linux-aarch64: submodule-update
- $(rbm) build release --target release --target browser-linux-aarch64 --target torbrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-linux-aarch64 --target torbrowser
torbrowser-release-windows-i686: submodule-update
- $(rbm) build release --target release --target browser-windows-i686 --target torbrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-windows-i686 --target torbrowser
torbrowser-release-windows-x86_64: submodule-update
- $(rbm) build release --target release --target browser-windows-x86_64 --target torbrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-windows-x86_64 --target torbrowser
torbrowser-release-macos: submodule-update
- $(rbm) build release --target release --target browser-macos --target torbrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-macos --target torbrowser
torbrowser-release-src: submodule-update
- $(rbm) build release --target release --target browser-src --target torbrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-src --target torbrowser
torbrowser-alpha: submodule-update
$(rbm) build release --target alpha --target browser-all --target torbrowser
-torbrowser-alpha-android: submodule-update
- $(rbm) build release --target alpha --target browser-all-android --target torbrowser
-
torbrowser-alpha-android-armv7: submodule-update
- $(rbm) build release --target alpha --target browser-android-armv7 --target torbrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-android-armv7 --target torbrowser
torbrowser-alpha-android-x86: submodule-update
- $(rbm) build release --target alpha --target browser-android-x86 --target torbrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-android-x86 --target torbrowser
torbrowser-alpha-android-x86_64: submodule-update
- $(rbm) build release --target alpha --target browser-android-x86_64 --target torbrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-android-x86_64 --target torbrowser
torbrowser-alpha-android-aarch64: submodule-update
- $(rbm) build release --target alpha --target browser-android-aarch64 --target torbrowser
-
-torbrowser-alpha-desktop: submodule-update
- $(rbm) build release --target alpha --target browser-all-desktop --target torbrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-android-aarch64 --target torbrowser
torbrowser-alpha-linux-x86_64: submodule-update
- $(rbm) build release --target alpha --target browser-linux-x86_64 --target torbrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-linux-x86_64 --target torbrowser
torbrowser-alpha-linux-x86_64-asan: submodule-update
- $(rbm) build release --target alpha --target browser-linux-x86_64-asan --target torbrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-linux-x86_64-asan --target torbrowser
torbrowser-alpha-linux-aarch64: submodule-update
- $(rbm) build release --target alpha --target browser-linux-aarch64 --target torbrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-linux-aarch64 --target torbrowser
torbrowser-alpha-linux-i686: submodule-update
- $(rbm) build release --target alpha --target browser-linux-i686 --target torbrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-linux-i686 --target torbrowser
torbrowser-alpha-windows-i686: submodule-update
- $(rbm) build release --target alpha --target browser-windows-i686 --target torbrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-windows-i686 --target torbrowser
torbrowser-alpha-windows-x86_64: submodule-update
- $(rbm) build release --target alpha --target browser-windows-x86_64 --target torbrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-windows-x86_64 --target torbrowser
torbrowser-alpha-macos: submodule-update
- $(rbm) build release --target alpha --target browser-macos --target torbrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-macos --target torbrowser
torbrowser-alpha-src: submodule-update
- $(rbm) build release --target alpha --target browser-src --target torbrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-src --target torbrowser
torbrowser-nightly: submodule-update
$(rbm) build release --target nightly --target browser-all --target torbrowser
-torbrowser-nightly-android: submodule-update
- $(rbm) build release --target nightly --target browser-all-android --target torbrowser
-
torbrowser-nightly-android-armv7: submodule-update
- $(rbm) build release --target nightly --target browser-android-armv7 --target torbrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-android-armv7 --target torbrowser
torbrowser-nightly-android-x86: submodule-update
- $(rbm) build release --target nightly --target browser-android-x86 --target torbrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-android-x86 --target torbrowser
torbrowser-nightly-android-x86_64: submodule-update
- $(rbm) build release --target nightly --target browser-android-x86_64 --target torbrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-android-x86_64 --target torbrowser
torbrowser-nightly-android-aarch64: submodule-update
- $(rbm) build release --target nightly --target browser-android-aarch64 --target torbrowser
-
-torbrowser-nightly-desktop: submodule-update
- $(rbm) build release --target nightly --target browser-all-desktop --target torbrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-android-aarch64 --target torbrowser
torbrowser-nightly-linux-x86_64: submodule-update
- $(rbm) build release --target nightly --target browser-linux-x86_64 --target torbrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-linux-x86_64 --target torbrowser
torbrowser-nightly-linux-x86_64-asan: submodule-update
- $(rbm) build release --target nightly --target browser-linux-x86_64-asan --target torbrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-linux-x86_64-asan --target torbrowser
torbrowser-nightly-linux-aarch64: submodule-update
- $(rbm) build release --target nightly --target browser-linux-aarch64 --target torbrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-linux-aarch64 --target torbrowser
torbrowser-nightly-linux-i686: submodule-update
- $(rbm) build release --target nightly --target browser-linux-i686 --target torbrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-linux-i686 --target torbrowser
torbrowser-nightly-windows-i686: submodule-update
- $(rbm) build release --target nightly --target browser-windows-i686 --target torbrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-windows-i686 --target torbrowser
torbrowser-nightly-windows-x86_64: submodule-update
- $(rbm) build release --target nightly --target browser-windows-x86_64 --target torbrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-windows-x86_64 --target torbrowser
torbrowser-nightly-macos: submodule-update
- $(rbm) build release --target nightly --target browser-macos --target torbrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-macos --target torbrowser
torbrowser-nightly-src: submodule-update
- $(rbm) build release --target nightly --target browser-src --target torbrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-src --target torbrowser
torbrowser-testbuild: submodule-update
$(rbm) build release --target testbuild --target browser-all --target torbrowser
-torbrowser-testbuild-android: submodule-update
- $(rbm) build release --target testbuild --target browser-all-android --target torbrowser
-
torbrowser-testbuild-android-armv7: submodule-update
- $(rbm) build release --target testbuild --target browser-android-armv7 --target torbrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-android-armv7 --target torbrowser
torbrowser-testbuild-android-x86: submodule-update
- $(rbm) build release --target testbuild --target browser-android-x86 --target torbrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-android-x86 --target torbrowser
torbrowser-testbuild-android-x86_64: submodule-update
- $(rbm) build release --target testbuild --target browser-android-x86_64 --target torbrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-android-x86_64 --target torbrowser
torbrowser-testbuild-android-aarch64: submodule-update
- $(rbm) build release --target testbuild --target browser-android-aarch64 --target torbrowser
-
-torbrowser-testbuild-desktop: submodule-update
- $(rbm) build release --target testbuild --target browser-all-desktop --target torbrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-android-aarch64 --target torbrowser
torbrowser-testbuild-linux-x86_64: submodule-update
- $(rbm) build release --target testbuild --target browser-linux-x86_64 --target torbrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-linux-x86_64 --target torbrowser
torbrowser-testbuild-linux-x86_64-asan: submodule-update
- $(rbm) build release --target testbuild --target browser-linux-x86_64-asan --target torbrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-linux-x86_64-asan --target torbrowser
torbrowser-testbuild-linux-i686: submodule-update
- $(rbm) build release --target testbuild --target browser-linux-i686 --target torbrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-linux-i686 --target torbrowser
torbrowser-testbuild-linux-aarch64: submodule-update
- $(rbm) build release --target testbuild --target browser-linux-aarch64 --target torbrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-linux-aarch64 --target torbrowser
torbrowser-testbuild-windows-x86_64: submodule-update
- $(rbm) build release --target testbuild --target browser-windows-x86_64 --target torbrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-windows-x86_64 --target torbrowser
torbrowser-testbuild-windows-i686: submodule-update
- $(rbm) build release --target testbuild --target browser-windows-i686 --target torbrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-windows-i686 --target torbrowser
torbrowser-testbuild-macos: submodule-update
- $(rbm) build release --target testbuild --target browser-macos --target torbrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-macos --target torbrowser
torbrowser-testbuild-macos-x86_64: submodule-update
- $(rbm) build release --target testbuild --target browser-macos-x86_64 --target torbrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-macos-x86_64 --target torbrowser
torbrowser-testbuild-macos-aarch64: submodule-update
- $(rbm) build release --target testbuild --target browser-macos-aarch64 --target torbrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-macos-aarch64 --target torbrowser
torbrowser-testbuild-src: submodule-update
- $(rbm) build release --target testbuild --target browser-src-testbuild --target torbrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-src-testbuild --target torbrowser
torbrowser-incrementals-release: submodule-update
$(rbm) build release --step update_responses_config --target release --target create_unsigned_incrementals --target torbrowser
@@ -259,188 +243,164 @@ torbrowser-compare-mar-signed-unsigned-alpha: submodule-update
basebrowser-release: submodule-update
$(rbm) build release --target release --target browser-all --target basebrowser
-basebrowser-release-android: submodule-update
- $(rbm) build release --target release --target browser-all-android --target basebrowser
-
basebrowser-release-android-armv7: submodule-update
- $(rbm) build release --target release --target browser-android-armv7 --target basebrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-android-armv7 --target basebrowser
basebrowser-release-android-x86: submodule-update
- $(rbm) build release --target release --target browser-android-x86 --target basebrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-android-x86 --target basebrowser
basebrowser-release-android-x86_64: submodule-update
- $(rbm) build release --target release --target browser-android-x86_64 --target basebrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-android-x86_64 --target basebrowser
basebrowser-release-android-aarch64: submodule-update
- $(rbm) build release --target release --target browser-android-aarch64 --target basebrowser
-
-basebrowser-release-desktop: submodule-update
- $(rbm) build release --target release --target browser-all-desktop --target basebrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-android-aarch64 --target basebrowser
basebrowser-release-linux-x86_64: submodule-update
- $(rbm) build release --target release --target browser-linux-x86_64 --target basebrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-linux-x86_64 --target basebrowser
basebrowser-release-linux-x86_64-asan: submodule-update
- $(rbm) build release --target release --target browser-linux-x86_64-asan --target basebrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-linux-x86_64-asan --target basebrowser
basebrowser-release-linux-i686: submodule-update
- $(rbm) build release --target release --target browser-linux-i686 --target basebrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-linux-i686 --target basebrowser
basebrowser-release-linux-aarch64: submodule-update
- $(rbm) build release --target release --target browser-linux-aarch64 --target basebrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-linux-aarch64 --target basebrowser
basebrowser-release-windows-i686: submodule-update
- $(rbm) build release --target release --target browser-windows-i686 --target basebrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-windows-i686 --target basebrowser
basebrowser-release-windows-x86_64: submodule-update
- $(rbm) build release --target release --target browser-windows-x86_64 --target basebrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-windows-x86_64 --target basebrowser
basebrowser-release-macos: submodule-update
- $(rbm) build release --target release --target browser-macos --target basebrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-macos --target basebrowser
basebrowser-release-src: submodule-update
- $(rbm) build release --target release --target browser-src --target basebrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-src --target basebrowser
basebrowser-alpha: submodule-update
$(rbm) build release --target alpha --target browser-all --target basebrowser
-basebrowser-alpha-android: submodule-update
- $(rbm) build release --target alpha --target browser-all-android --target basebrowser
-
basebrowser-alpha-android-armv7: submodule-update
- $(rbm) build release --target alpha --target browser-android-armv7 --target basebrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-android-armv7 --target basebrowser
basebrowser-alpha-android-x86: submodule-update
- $(rbm) build release --target alpha --target browser-android-x86 --target basebrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-android-x86 --target basebrowser
basebrowser-alpha-android-x86_64: submodule-update
- $(rbm) build release --target alpha --target browser-android-x86_64 --target basebrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-android-x86_64 --target basebrowser
basebrowser-alpha-android-aarch64: submodule-update
- $(rbm) build release --target alpha --target browser-android-aarch64 --target basebrowser
-
-basebrowser-alpha-desktop: submodule-update
- $(rbm) build release --target alpha --target browser-all-desktop --target basebrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-android-aarch64 --target basebrowser
basebrowser-alpha-linux-x86_64: submodule-update
- $(rbm) build release --target alpha --target browser-linux-x86_64 --target basebrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-linux-x86_64 --target basebrowser
basebrowser-alpha-linux-x86_64-asan: submodule-update
- $(rbm) build release --target alpha --target browser-linux-x86_64-asan --target basebrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-linux-x86_64-asan --target basebrowser
basebrowser-alpha-linux-i686: submodule-update
- $(rbm) build release --target alpha --target browser-linux-i686 --target basebrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-linux-i686 --target basebrowser
basebrowser-alpha-linux-aarch64: submodule-update
- $(rbm) build release --target alpha --target browser-linux-aarch64 --target basebrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-linux-aarch64 --target basebrowser
basebrowser-alpha-windows-i686: submodule-update
- $(rbm) build release --target alpha --target browser-windows-i686 --target basebrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-windows-i686 --target basebrowser
basebrowser-alpha-windows-x86_64: submodule-update
- $(rbm) build release --target alpha --target browser-windows-x86_64 --target basebrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-windows-x86_64 --target basebrowser
basebrowser-alpha-macos: submodule-update
- $(rbm) build release --target alpha --target browser-macos --target basebrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-macos --target basebrowser
basebrowser-alpha-src: submodule-update
- $(rbm) build release --target alpha --target browser-src --target basebrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-src --target basebrowser
basebrowser-nightly: submodule-update
$(rbm) build release --target nightly --target browser-all --target basebrowser
-basebrowser-nightly-android: submodule-update
- $(rbm) build release --target nightly --target browser-all-android --target basebrowser
-
basebrowser-nightly-android-armv7: submodule-update
- $(rbm) build release --target nightly --target browser-android-armv7 --target basebrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-android-armv7 --target basebrowser
basebrowser-nightly-android-x86: submodule-update
- $(rbm) build release --target nightly --target browser-android-x86 --target basebrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-android-x86 --target basebrowser
basebrowser-nightly-android-x86_64: submodule-update
- $(rbm) build release --target nightly --target browser-android-x86_64 --target basebrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-android-x86_64 --target basebrowser
basebrowser-nightly-android-aarch64: submodule-update
- $(rbm) build release --target nightly --target browser-android-aarch64 --target basebrowser
-
-basebrowser-nightly-desktop: submodule-update
- $(rbm) build release --target nightly --target browser-all-desktop --target basebrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-android-aarch64 --target basebrowser
basebrowser-nightly-linux-x86_64: submodule-update
- $(rbm) build release --target nightly --target browser-linux-x86_64 --target basebrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-linux-x86_64 --target basebrowser
basebrowser-nightly-linux-x86_64-asan: submodule-update
- $(rbm) build release --target nightly --target browser-linux-x86_64-asan --target basebrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-linux-x86_64-asan --target basebrowser
basebrowser-nightly-linux-i686: submodule-update
- $(rbm) build release --target nightly --target browser-linux-i686 --target basebrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-linux-i686 --target basebrowser
basebrowser-nightly-linux-aarch64: submodule-update
- $(rbm) build release --target nightly --target browser-linux-aarch64 --target basebrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-linux-aarch64 --target basebrowser
basebrowser-nightly-windows-i686: submodule-update
- $(rbm) build release --target nightly --target browser-windows-i686 --target basebrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-windows-i686 --target basebrowser
basebrowser-nightly-windows-x86_64: submodule-update
- $(rbm) build release --target nightly --target browser-windows-x86_64 --target basebrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-windows-x86_64 --target basebrowser
basebrowser-nightly-macos: submodule-update
- $(rbm) build release --target nightly --target browser-macos --target basebrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-macos --target basebrowser
basebrowser-nightly-src: submodule-update
- $(rbm) build release --target nightly --target browser-src --target basebrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-src --target basebrowser
basebrowser-testbuild: submodule-update
$(rbm) build release --target testbuild --target browser-all --target basebrowser
-basebrowser-testbuild-android: submodule-update
- $(rbm) build release --target testbuild --target browser-all-android --target basebrowser
-
basebrowser-testbuild-android-armv7: submodule-update
- $(rbm) build release --target testbuild --target browser-android-armv7 --target basebrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-android-armv7 --target basebrowser
basebrowser-testbuild-android-x86: submodule-update
- $(rbm) build release --target testbuild --target browser-android-x86 --target basebrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-android-x86 --target basebrowser
basebrowser-testbuild-android-x86_64: submodule-update
- $(rbm) build release --target testbuild --target browser-android-x86_64 --target basebrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-android-x86_64 --target basebrowser
basebrowser-testbuild-android-aarch64: submodule-update
- $(rbm) build release --target testbuild --target browser-android-aarch64 --target basebrowser
-
-basebrowser-testbuild-desktop: submodule-update
- $(rbm) build release --target testbuild --target browser-all-desktop --target basebrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-android-aarch64 --target basebrowser
basebrowser-testbuild-linux-x86_64: submodule-update
- $(rbm) build release --target testbuild --target browser-linux-x86_64 --target basebrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-linux-x86_64 --target basebrowser
basebrowser-testbuild-linux-x86_64-asan: submodule-update
- $(rbm) build release --target testbuild --target browser-linux-x86_64-asan --target basebrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-linux-x86_64-asan --target basebrowser
basebrowser-testbuild-linux-i686: submodule-update
- $(rbm) build release --target testbuild --target browser-linux-i686 --target basebrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-linux-i686 --target basebrowser
basebrowser-testbuild-linux-aarch64: submodule-update
- $(rbm) build release --target testbuild --target browser-linux-aarch64 --target basebrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-linux-aarch64 --target basebrowser
basebrowser-testbuild-windows-x86_64: submodule-update
- $(rbm) build release --target testbuild --target browser-windows-x86_64 --target basebrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-windows-x86_64 --target basebrowser
basebrowser-testbuild-windows-i686: submodule-update
- $(rbm) build release --target testbuild --target browser-windows-i686 --target basebrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-windows-i686 --target basebrowser
basebrowser-testbuild-macos: submodule-update
- $(rbm) build release --target testbuild --target browser-macos --target basebrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-macos --target basebrowser
basebrowser-testbuild-macos-x86_64: submodule-update
- $(rbm) build release --target testbuild --target browser-macos-x86_64 --target basebrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-macos-x86_64 --target basebrowser
basebrowser-testbuild-macos-aarch64: submodule-update
- $(rbm) build release --target testbuild --target browser-macos-aarch64 --target basebrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-macos-aarch64 --target basebrowser
basebrowser-testbuild-src: submodule-update
- $(rbm) build release --target testbuild --target browser-src-testbuild --target basebrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-src-testbuild --target basebrowser
basebrowser-incrementals-nightly: submodule-update
$(rbm) build release --step update_responses_config --target nightly --target basebrowser
@@ -452,107 +412,101 @@ basebrowser-incrementals-nightly: submodule-update
# Mullvad Browser Targets #
###########################
-mullvadbrowser-release: submodule-update
- $(rbm) build release --target release --target browser-all-desktop --target mullvadbrowser
+mullvadbrowser: submodule-update
+ @echo Building mullvadbrowser-$(browser_default_channel)
+ $(MAKE) mullvadbrowser-$(browser_default_channel)
+ @echo Building incrementals for mullvadbrowser-$(browser_default_channel)
+ $(MAKE) mullvadbrowser-incrementals-$(browser_default_channel)
-mullvadbrowser-release-desktop: submodule-update
- $(rbm) build release --target release --target browser-all-desktop --target mullvadbrowser
+mullvadbrowser-release: submodule-update
+ $(rbm) build release --target release --target browser-all --target mullvadbrowser
mullvadbrowser-release-linux-x86_64: submodule-update
- $(rbm) build release --target release --target browser-linux-x86_64 --target mullvadbrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-linux-x86_64 --target mullvadbrowser
mullvadbrowser-release-linux-x86_64-asan: submodule-update
- $(rbm) build release --target release --target browser-linux-x86_64-asan --target mullvadbrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-linux-x86_64-asan --target mullvadbrowser
mullvadbrowser-release-linux-aarch64: submodule-update
- $(rbm) build release --target release --target browser-linux-aarch64 --target mullvadbrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-linux-aarch64 --target mullvadbrowser
mullvadbrowser-release-windows-x86_64: submodule-update
- $(rbm) build release --target release --target browser-windows-x86_64 --target mullvadbrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-windows-x86_64 --target mullvadbrowser
mullvadbrowser-release-macos: submodule-update
- $(rbm) build release --target release --target browser-macos --target mullvadbrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-macos --target mullvadbrowser
mullvadbrowser-release-src: submodule-update
- $(rbm) build release --target release --target browser-src --target mullvadbrowser
+ $(rbm) build release --target release --target browser-single-platform --target browser-src --target mullvadbrowser
mullvadbrowser-alpha: submodule-update
- $(rbm) build release --target alpha --target browser-all-desktop --target mullvadbrowser
-
-mullvadbrowser-alpha-desktop: submodule-update
- $(rbm) build release --target alpha --target browser-all-desktop --target mullvadbrowser
+ $(rbm) build release --target alpha --target browser-all --target mullvadbrowser
mullvadbrowser-alpha-linux-x86_64: submodule-update
- $(rbm) build release --target alpha --target browser-linux-x86_64 --target mullvadbrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-linux-x86_64 --target mullvadbrowser
mullvadbrowser-alpha-linux-x86_64-asan: submodule-update
- $(rbm) build release --target alpha --target browser-linux-x86_64-asan --target mullvadbrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-linux-x86_64-asan --target mullvadbrowser
mullvadbrowser-alpha-linux-aarch64: submodule-update
- $(rbm) build release --target alpha --target browser-linux-aarch64 --target mullvadbrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-linux-aarch64 --target mullvadbrowser
mullvadbrowser-alpha-windows-x86_64: submodule-update
- $(rbm) build release --target alpha --target browser-windows-x86_64 --target mullvadbrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-windows-x86_64 --target mullvadbrowser
mullvadbrowser-alpha-macos: submodule-update
- $(rbm) build release --target alpha --target browser-macos --target mullvadbrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-macos --target mullvadbrowser
mullvadbrowser-alpha-src: submodule-update
- $(rbm) build release --target alpha --target browser-src --target mullvadbrowser
+ $(rbm) build release --target alpha --target browser-single-platform --target browser-src --target mullvadbrowser
mullvadbrowser-nightly: submodule-update
- $(rbm) build release --target nightly --target browser-all-desktop --target mullvadbrowser
-
-mullvadbrowser-nightly-desktop: submodule-update
- $(rbm) build release --target nightly --target browser-all-desktop --target mullvadbrowser
+ $(rbm) build release --target nightly --target browser-all --target mullvadbrowser
mullvadbrowser-nightly-linux-x86_64: submodule-update
- $(rbm) build release --target nightly --target browser-linux-x86_64 --target mullvadbrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-linux-x86_64 --target mullvadbrowser
mullvadbrowser-nightly-linux-x86_64-asan: submodule-update
- $(rbm) build release --target nightly --target browser-linux-x86_64-asan --target mullvadbrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-linux-x86_64-asan --target mullvadbrowser
mullvadbrowser-nightly-linux-aarch64: submodule-update
- $(rbm) build release --target nightly --target browser-linux-aarch64 --target mullvadbrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-linux-aarch64 --target mullvadbrowser
mullvadbrowser-nightly-windows-x86_64: submodule-update
- $(rbm) build release --target nightly --target browser-windows-x86_64 --target mullvadbrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-windows-x86_64 --target mullvadbrowser
mullvadbrowser-nightly-macos: submodule-update
- $(rbm) build release --target nightly --target browser-macos --target mullvadbrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-macos --target mullvadbrowser
mullvadbrowser-nightly-src: submodule-update
- $(rbm) build release --target nightly --target browser-src --target mullvadbrowser
+ $(rbm) build release --target nightly --target browser-single-platform --target browser-src --target mullvadbrowser
mullvadbrowser-testbuild: submodule-update
- $(rbm) build release --target testbuild --target browser-all-desktop --target mullvadbrowser
-
-mullvadbrowser-testbuild-desktop: submodule-update
- $(rbm) build release --target testbuild --target browser-all-desktop --target mullvadbrowser
+ $(rbm) build release --target testbuild --target browser-all --target mullvadbrowser
mullvadbrowser-testbuild-linux-x86_64: submodule-update
- $(rbm) build release --target testbuild --target browser-linux-x86_64 --target mullvadbrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-linux-x86_64 --target mullvadbrowser
mullvadbrowser-testbuild-linux-x86_64-asan: submodule-update
- $(rbm) build release --target testbuild --target browser-linux-x86_64-asan --target mullvadbrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-linux-x86_64-asan --target mullvadbrowser
mullvadbrowser-testbuild-linux-aarch64: submodule-update
- $(rbm) build release --target testbuild --target browser-linux-aarch64 --target mullvadbrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-linux-aarch64 --target mullvadbrowser
mullvadbrowser-testbuild-windows-x86_64: submodule-update
- $(rbm) build release --target testbuild --target browser-windows-x86_64 --target mullvadbrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-windows-x86_64 --target mullvadbrowser
mullvadbrowser-testbuild-macos: submodule-update
- $(rbm) build release --target testbuild --target browser-macos --target mullvadbrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-macos --target mullvadbrowser
mullvadbrowser-testbuild-macos-x86_64: submodule-update
- $(rbm) build release --target testbuild --target browser-macos-x86_64 --target mullvadbrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-macos-x86_64 --target mullvadbrowser
mullvadbrowser-testbuild-macos-aarch64: submodule-update
- $(rbm) build release --target testbuild --target browser-macos-aarch64 --target mullvadbrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-macos-aarch64 --target mullvadbrowser
mullvadbrowser-testbuild-src: submodule-update
- $(rbm) build release --target testbuild --target browser-src-testbuild --target mullvadbrowser
+ $(rbm) build release --target testbuild --target browser-single-platform --target browser-src-testbuild --target mullvadbrowser
mullvadbrowser-incrementals-release: submodule-update
$(rbm) build release --step update_responses_config --target release --target create_unsigned_incrementals --target mullvadbrowser
@@ -701,7 +655,7 @@ cargo_vendor-rcodesign: submodule-update
##################
submodule-update:
- git submodule update --init
+ @git submodule update --init
# requires tpo_user variable be set in rbm.local.conf
torbrowser-upload-sha256sums-release: submodule-update
=====================================
projects/release/build
=====================================
@@ -4,40 +4,40 @@
[% IF ENV.HOME %]export HOME="[% ENV.HOME %]"[% END %]
destdir="[% dest_dir _ '/' _ c("var/publish_dir") %]"
mkdir -p "$destdir"
-[% IF c("var/browser-android-armv7") -%]
+[% IF c("var/browser_platforms/android-armv7") -%]
mv [% c('input_files_by_name/android-armv7') %]/* "$destdir"/
[% END -%]
-[% IF c("var/browser-android-x86") -%]
+[% IF c("var/browser_platforms/android-x86") -%]
mv [% c('input_files_by_name/android-x86') %]/* "$destdir"/
[% END -%]
-[% IF c("var/browser-android-x86_64") -%]
+[% IF c("var/browser_platforms/android-x86_64") -%]
mv [% c('input_files_by_name/android-x86_64') %]/* "$destdir"/
[% END -%]
-[% IF c("var/browser-android-aarch64") -%]
+[% IF c("var/browser_platforms/android-aarch64") -%]
mv [% c('input_files_by_name/android-aarch64') %]/* "$destdir"/
[% END -%]
-[% IF c("var/browser-windows-i686") -%]
+[% IF c("var/browser_platforms/windows-i686") -%]
mv [% c('input_files_by_name/windows-i686') %]/* "$destdir"/
[% END -%]
-[% IF c("var/browser-windows-x86_64") -%]
+[% IF c("var/browser_platforms/windows-x86_64") -%]
mv [% c('input_files_by_name/windows-x86_64') %]/* "$destdir"/
[% END -%]
-[% IF c("var/browser-macos") -%]
+[% IF c("var/browser_platforms/macos") -%]
mv [% c('input_files_by_name/macos') %]/* "$destdir"/
[% END -%]
-[% IF c("var/browser-macos-x86_64") -%]
+[% IF c("var/browser_platforms/macos-x86_64") -%]
mv [% c('input_files_by_name/macos-x86_64') %]/* "$destdir"/
[% END -%]
-[% IF c("var/browser-macos-aarch64") -%]
+[% IF c("var/browser_platforms/macos-aarch64") -%]
mv [% c('input_files_by_name/macos-aarch64') %]/* "$destdir"/
[% END -%]
-[% IF c("var/browser-linux-i686") -%]
+[% IF c("var/browser_platforms/linux-i686") -%]
mv [% c('input_files_by_name/linux-i686') %]/* "$destdir"/
[% END -%]
-[% IF c("var/browser-linux-x86_64") -%]
+[% IF c("var/browser_platforms/linux-x86_64") -%]
mv [% c('input_files_by_name/linux-x86_64') %]/* "$destdir"/
[% END -%]
-[% IF c("var/browser-linux-aarch64") -%]
+[% IF c("var/browser_platforms/linux-aarch64") -%]
mv [% c('input_files_by_name/linux-aarch64') %]/* "$destdir"/
[% END -%]
[% IF c("var/linux-packages") || c("var/linux-packages-aarch64") -%]
=====================================
projects/release/config
=====================================
@@ -10,75 +10,69 @@ var:
targets:
browser-all:
- - browser-linux-x86_64
- - browser-linux-i686
- - browser-linux-aarch64
- - browser-windows-i686
- - browser-windows-x86_64
- - browser-macos
- - browser-android-armv7
- - browser-android-x86
- - browser-android-x86_64
- - browser-android-aarch64
- browser-src
- browser-all-target
- browser-all-desktop:
- - browser-linux-x86_64
- - browser-linux-i686
- - browser-linux-aarch64
- - browser-windows-i686
- - browser-windows-x86_64
- - browser-macos
- - browser-src
- - browser-all-target
- browser-all-android:
- - browser-android-armv7
- - browser-android-x86
- - browser-android-x86_64
- - browser-android-aarch64
+ browser-single-platform:
+ var:
+ browser_platforms:
+ is_android_release: 0
+ is_desktop_release: 0
browser-android-armv7:
var:
- browser-android-armv7: 1
+ browser_platforms:
+ android-armv7: 1
browser-android-x86:
var:
- browser-android-x86: 1
+ browser_platforms:
+ android-x86: 1
browser-android-x86_64:
var:
- browser-android-x86_64: 1
+ browser_platforms:
+ android-x86_64: 1
browser-android-aarch64:
var:
- browser-android-aarch64: 1
+ browser_platforms:
+ android-aarch64: 1
browser-linux-x86_64:
var:
- browser-linux-x86_64: 1
+ browser_platforms:
+ linux-x86_64: 1
linux-packages: '[% c("var/mullvad-browser") || c("var/tor-browser-linux-packages") %]'
browser-linux-x86_64-asan:
var:
- browser-linux-x86_64: 1
+ browser_platforms:
+ linux-x86_64: 1
asan-build: '-asan'
browser-linux-i686:
var:
- browser-linux-i686: '[% c("var/browser_type") != "mullvadbrowser" %]'
+ browser_platforms:
+ linux-i686: 1
linux-packages: '[% c("var/mullvad-browser") || c("var/tor-browser-linux-packages") %]'
browser-linux-aarch64:
var:
- browser-linux-aarch64: '[% ! c("var/browser-all-target") || c("var/testbuild") || c("var/nightly") %]'
+ browser_platforms:
+ linux-aarch64: 1
linux-packages-aarch64: '[% (! c("var/browser-all-target") || c("var/testbuild") || c("var/nightly")) && (c("var/mullvad-browser") || c("var/tor-browser-linux-packages")) %]'
browser-windows-i686:
var:
- browser-windows-i686: '[% c("var/browser_type") != "mullvadbrowser" %]'
+ browser_platforms:
+ windows-i686: '[% c("var/browser_type") != "mullvadbrowser" %]'
browser-windows-x86_64:
var:
- browser-windows-x86_64: 1
+ browser_platforms:
+ windows-x86_64: 1
browser-macos:
var:
- browser-macos: 1
+ browser_platforms:
+ macos: 1
browser-macos-x86_64:
var:
- browser-macos-x86_64: 1
+ browser_platforms:
+ macos-x86_64: 1
browser-macos-aarch64:
var:
- browser-macos-aarch64: 1
+ browser_platforms:
+ macos-aarch64: 1
browser-src:
var:
browser-src: '[% ! c("var/testbuild") %]'
@@ -93,8 +87,6 @@ targets:
- torbrowser
- release
- browser-all
- - browser-all-android
- - browser-all-desktop
noversiondir:
var:
@@ -156,7 +148,7 @@ input_files:
# Release
- name: android-armv7
project: browser
- enable: '[% c("var/browser-android-armv7") %]'
+ enable: '[% c("var/browser_platforms/android-armv7") %]'
target:
- '[% c("var/containers_target") %]'
- '[% c("var/build_target") %]'
@@ -164,7 +156,7 @@ input_files:
- name: android-x86
project: browser
- enable: '[% c("var/browser-android-x86") %]'
+ enable: '[% c("var/browser_platforms/android-x86") %]'
target:
- '[% c("var/containers_target") %]'
- '[% c("var/build_target") %]'
@@ -172,7 +164,7 @@ input_files:
- name: android-x86_64
project: browser
- enable: '[% c("var/browser-android-x86_64") %]'
+ enable: '[% c("var/browser_platforms/android-x86_64") %]'
target:
- '[% c("var/containers_target") %]'
- '[% c("var/build_target") %]'
@@ -180,7 +172,7 @@ input_files:
- name: android-aarch64
project: browser
- enable: '[% c("var/browser-android-aarch64") %]'
+ enable: '[% c("var/browser_platforms/android-aarch64") %]'
target:
- '[% c("var/containers_target") %]'
- '[% c("var/build_target") %]'
@@ -188,28 +180,28 @@ input_files:
- name: linux-x86_64
project: browser
- enable: '[% c("var/browser-linux-x86_64") %]'
+ enable: '[% c("var/browser_platforms/linux-x86_64") %]'
target:
- '[% c("var/build_target") %]'
- '[% c("var/browser_type") %]-linux-x86_64[% c("var/asan-build") %]'
- name: linux-i686
project: browser
- enable: '[% c("var/browser-linux-i686") %]'
+ enable: '[% c("var/browser_platforms/linux-i686") %]'
target:
- '[% c("var/build_target") %]'
- '[% c("var/browser_type") %]-linux-i686'
- name: linux-aarch64
project: browser
- enable: '[% c("var/browser-linux-aarch64") %]'
+ enable: '[% c("var/browser_platforms/linux-aarch64") %]'
target:
- '[% c("var/build_target") %]'
- '[% c("var/browser_type") %]-linux-aarch64'
- name: deb-packages
project: linux-packages
- enable: '[% c("var/linux-packages") %]'
+ enable: '[% c("var/browser_platforms/packages") %]'
# Add $browser_type-linux-x86_64 target for container config
target:
- '[% IF c("var/testbuild") %]testbuild[% END %]'
@@ -247,21 +239,21 @@ input_files:
- name: windows-i686
project: browser
- enable: '[% c("var/browser-windows-i686") %]'
+ enable: '[% c("var/browser_platforms/windows-i686") %]'
target:
- '[% c("var/build_target") %]'
- '[% c("var/browser_type") %]-windows-i686'
- name: windows-x86_64
project: browser
- enable: '[% c("var/browser-windows-x86_64") %]'
+ enable: '[% c("var/browser_platforms/windows-x86_64") %]'
target:
- '[% c("var/build_target") %]'
- '[% c("var/browser_type") %]-windows-x86_64'
- name: macos
project: browser
- enable: '[% c("var/browser-macos") %]'
+ enable: '[% c("var/browser_platforms/macos") %]'
target:
- '[% c("var/build_target") %]'
- '[% c("var/browser_type") %]-macos'
@@ -269,7 +261,7 @@ input_files:
# non-universal macos build
- name: macos-x86_64
project: browser
- enable: '[% c("var/browser-macos-x86_64") %]'
+ enable: '[% c("var/browser_platforms/macos-x86_64") %]'
target:
- '[% c("var/build_target") %]'
- '[% c("var/browser_type") %]-macos-x86_64'
@@ -277,7 +269,7 @@ input_files:
# non-universal macos build
- name: macos-aarch64
project: browser
- enable: '[% c("var/browser-macos-aarch64") %]'
+ enable: '[% c("var/browser_platforms/macos-aarch64") %]'
target:
- '[% c("var/build_target") %]'
- '[% c("var/browser_type") %]-macos-aarch64'
=====================================
rbm.conf
=====================================
@@ -79,6 +79,20 @@ var:
# to be reproducible, browser_release_date should always be in the past.
browser_release_date: '2025/02/10 18:18:25'
browser_release_date_timestamp: '[% USE date; date.format(c("var/browser_release_date"), "%s") %]'
+ browser_default_channel: alpha
+ browser_platforms:
+ is_android_release: '[% c("var/tor-browser") %]'
+ is_desktop_release: '1'
+ android-armv7: '[% c("var/browser_platforms/is_android_release") %]'
+ android-x86: '[% c("var/browser_platforms/is_android_release") %]'
+ android-x86_64: '[% c("var/browser_platforms/is_android_release") %]'
+ android-aarch64: '[% c("var/browser_platforms/is_android_release") %]'
+ linux-x86_64: '[% c("var/browser_platforms/is_desktop_release") %]'
+ linux-i686: '[% c("var/browser_platforms/is_desktop_release") && c("var/tor-browser") %]'
+ linux-aarch64: '[% c("var/browser_platforms/is_desktop_release") && ( c("var/testbuild") || c("var/nightly") ) %]'
+ windows-i686: '[% c("var/browser_platforms/is_desktop_release") && c("var/tor-browser") %]'
+ windows-x86_64: '[% c("var/browser_platforms/is_desktop_release") %]'
+ macos: '[% c("var/browser_platforms/is_desktop_release") %]'
updater_enabled: 1
build_mar: 1
torbrowser_incremental_from:
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.
1
0

[Git][tpo/applications/tor-browser][tor-browser-128.8.0esr-14.5-1] fixup! TB 7494: Create local home page for TBB.
by morgan (@morgan) 10 Mar '25
by morgan (@morgan) 10 Mar '25
10 Mar '25
morgan pushed to branch tor-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
dce8efc3 by Henry Wilkes at 2025-03-10T13:03:54+00:00
fixup! TB 7494: Create local home page for TBB.
TB 43489: Add a survey banner in about:tor.
- - - - -
8 changed files:
- browser/components/BrowserGlue.sys.mjs
- browser/components/abouttor/AboutTorChild.sys.mjs
- browser/components/abouttor/AboutTorParent.sys.mjs
- + browser/components/abouttor/content/1f44b-waving-hand.svg
- browser/components/abouttor/content/aboutTor.css
- browser/components/abouttor/content/aboutTor.html
- browser/components/abouttor/content/aboutTor.js
- browser/components/abouttor/jar.mn
Changes:
=====================================
browser/components/BrowserGlue.sys.mjs
=====================================
@@ -524,6 +524,7 @@ let JSWINDOWACTORS = {
DOMContentLoaded: {},
L10nMutationsFinished: {},
SubmitSearchOnionize: { wantUntrusted: true },
+ SurveyDismissed: { wantUntrusted: true },
},
},
=====================================
browser/components/abouttor/AboutTorChild.sys.mjs
=====================================
@@ -16,6 +16,10 @@ export class AboutTorChild extends JSWindowActorChild {
case "SubmitSearchOnionize":
this.sendAsyncMessage("AboutTor:SetSearchOnionize", !!event.detail);
break;
+ case "SurveyDismissed":
+ // event.detail is the survey version.
+ this.sendAsyncMessage("AboutTor:SurveyDismissed", event.detail);
+ break;
case "L10nMutationsFinished":
// Pass on chrome-only event for completed localization to content.
this.contentWindow.dispatchEvent(
=====================================
browser/components/abouttor/AboutTorParent.sys.mjs
=====================================
@@ -13,6 +13,8 @@ ChromeUtils.defineESModuleGetters(lazy, {
export class AboutTorParent extends JSWindowActorParent {
receiveMessage(message) {
const onionizePref = "torbrowser.homepage.search.onionize";
+ const surveyDismissVersionPref =
+ "torbrowser.homepage.survey.dismiss_version";
switch (message.name) {
case "AboutTor:GetInitialData":
return Promise.resolve({
@@ -20,10 +22,26 @@ export class AboutTorParent extends JSWindowActorParent {
messageData: lazy.AboutTorMessage.getNext(),
isStable: AppConstants.MOZ_UPDATE_CHANNEL === "release",
searchOnionize: Services.prefs.getBoolPref(onionizePref, false),
+ surveyDismissVersion: Services.prefs.getIntPref(
+ surveyDismissVersionPref,
+ 0
+ ),
});
case "AboutTor:SetSearchOnionize":
Services.prefs.setBoolPref(onionizePref, message.data);
break;
+ case "AboutTor:SurveyDismissed":
+ // The message.data contains the version of the current survey.
+ // Rather than introduce a new preference for each survey campaign we
+ // reuse the same integer preference and increase its value every time
+ // a new version of the survey is shown and dismissed by the user.
+ // I.e. if the preference value is 2, we will not show survey version 2
+ // but will show survey version 3 or higher when they are introduced.
+ // It should be safe to overwrite the value since we do not expect more
+ // than one active survey campaign at any given time, nor do we expect
+ // the version value to decrease.
+ Services.prefs.setIntPref(surveyDismissVersionPref, message.data);
+ break;
}
return undefined;
}
=====================================
browser/components/abouttor/content/1f44b-waving-hand.svg
=====================================
@@ -0,0 +1,3 @@
+<!-- FROM https://github.com/twitter/twemoji
+ - licensed under CC-BY 4.0: https://creativecommons.org/licenses/by/4.0/ -->
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#EF9645" d="M4.861 9.147c.94-.657 2.357-.531 3.201.166l-.968-1.407c-.779-1.111-.5-2.313.612-3.093 1.112-.777 4.263 1.312 4.263 1.312-.786-1.122-.639-2.544.483-3.331 1.122-.784 2.67-.513 3.456.611l10.42 14.72L25 31l-11.083-4.042L4.25 12.625c-.793-1.129-.519-2.686.611-3.478z"/><path fill="#FFDC5D" d="M2.695 17.336s-1.132-1.65.519-2.781c1.649-1.131 2.78.518 2.78.518l5.251 7.658c.181-.302.379-.6.6-.894L4.557 11.21s-1.131-1.649.519-2.78c1.649-1.131 2.78.518 2.78.518l6.855 9.997c.255-.208.516-.417.785-.622L7.549 6.732s-1.131-1.649.519-2.78c1.649-1.131 2.78.518 2.78.518l7.947 11.589c.292-.179.581-.334.871-.498L12.238 4.729s-1.131-1.649.518-2.78c1.649-1.131 2.78.518 2.78.518l7.854 11.454 1.194 1.742c-4.948 3.394-5.419 9.779-2.592 13.902.565.825 1.39.26 1.39.26-3.393-4.949-2.357-10.51 2.592-13.903L24.515 8.62s-.545-1.924 1.378-2.47c1.924-.545 2.47 1.379 2.47 1.379l1.685 5.004c.668 1.984 1.379 3.961 2.32 5.831 2.657 5.28 1.07 11.842-3.94 15.279-5.465 3.747-12.936 2.354-16.684-3.11L2.695 17.336z"/><g fill="#5DADEC"><path d="M12 32.042C8 32.042 3.958 28 3.958 24c0-.553-.405-1-.958-1s-1.042.447-1.042 1C1.958 30 6 34.042 12 34.042c.553 0 1-.489 1-1.042s-.447-.958-1-.958z"/><path d="M7 34c-3 0-5-2-5-5 0-.553-.447-1-1-1s-1 .447-1 1c0 4 3 7 7 7 .553 0 1-.447 1-1s-.447-1-1-1zM24 2c-.552 0-1 .448-1 1s.448 1 1 1c4 0 8 3.589 8 8 0 .552.448 1 1 1s1-.448 1-1c0-5.514-4-10-10-10z"/><path d="M29 .042c-.552 0-1 .406-1 .958s.448 1.042 1 1.042c3 0 4.958 2.225 4.958 4.958 0 .552.489 1 1.042 1s.958-.448.958-1C35.958 3.163 33 .042 29 .042z"/></g></svg>
=====================================
browser/components/abouttor/content/aboutTor.css
=====================================
@@ -13,6 +13,7 @@ body {
"tor-check tor-check tor-check" auto
". form ." min-content
"message message message" auto
+ "survey survey survey" auto
/* End space: unfilled.
* Reserve 150px for background image.
* NOTE: Since the body has "auto" height, the other "1fr" flex row will
@@ -58,20 +59,24 @@ body:not(.is-testing) #tor-browser-home-heading-testing {
#tor-check {
grid-area: tor-check;
- max-width: var(--form-max-width);
- box-sizing: border-box;
display: flex;
gap: 10px;
align-items: center;
padding-inline: 23px;
padding-block: 11px;
- border: 1px solid var(--in-content-box-border-color);
border-radius: 8px;
- background-color: var(--in-content-box-info-background);
margin-block-start: 0;
margin-block-end: 30px;
}
+.tor-home-box {
+ border: 1px solid var(--in-content-box-border-color);
+ background-color: var(--in-content-box-info-background);
+ max-width: var(--form-max-width);
+ width: -moz-available;
+ box-sizing: border-box;
+}
+
body:not(.show-tor-check) #tor-check {
display: none;
}
@@ -92,8 +97,7 @@ body:not(.show-tor-check) #tor-check {
grid-area: message;
font-weight: 400;
text-align: center;
- margin-block-start: 1.6em;
- margin-block-end: 1em;
+ margin-block: 1.6em;
}
.message-emoji {
@@ -173,6 +177,68 @@ body:not(.show-tor-check) #tor-check {
margin-inline-start: 0.5em;
}
+#survey {
+ grid-area: survey;
+ display: grid;
+ grid-template:
+ "icon heading close" min-content
+ "icon body close" auto
+ ". buttons buttons" min-content
+ / min-content 1fr min-content;
+ border-radius: 4px;
+ /* Remove 1px from padding for border. */
+ padding-block: 3px 11px;
+ padding-inline: 15px 3px;
+ gap: 8px;
+ margin-block-end: 1.6em;
+}
+
+body:not(.show-survey) #survey {
+ display: none;
+}
+
+#survey > * {
+ margin: 0;
+}
+
+#survey-icon {
+ grid-area: icon;
+ width: 24px;
+ height: 24px;
+ padding: 8px;
+ border-radius: 20px;
+}
+
+#survey-heading {
+ grid-area: heading;
+ font-size: inherit;
+}
+
+#survey-icon,
+#survey-heading {
+ margin-block-start: 8px;
+}
+
+#survey-body {
+ grid-area: body;
+ margin-block-end: 8px;
+}
+
+#survey-buttons {
+ grid-area: buttons;
+ display: flex;
+ gap: 8px;
+}
+
+#survey-buttons > * {
+ flex: 0 0 auto;
+ margin: 0;
+}
+
+#survey-close {
+ grid-area: close;
+}
+
@media not ((prefers-contrast) or (forced-colors)) {
/* Force the page to follow the same Tor theme, regardless of
* prefers-color-scheme. */
@@ -196,6 +262,13 @@ body:not(.show-tor-check) #tor-check {
body > :not(#search-form) {
/* Same as --in-content-page-color when "prefers-color-scheme: dark" */
color: var(--color-gray-05);
+ --button-text-color: currentColor;
+ --in-content-button-text-color: var(--button-text-color);
+ --in-content-button-text-color-hover: var(--button-text-color);
+ --in-content-button-text-color-active: var(--button-text-color);
+ --button-text-color-ghost: var(--button-text-color);
+ --button-text-color-ghost-hover: var(--button-text-color);
+ --button-text-color-ghost-active: var(--button-text-color);
--link-color: var(--tor-link-color-dark);
--link-color-hover: var(--tor-link-color-hover-dark);
--link-color-active: var(--tor-link-color-active-dark);
@@ -234,4 +307,20 @@ body:not(.show-tor-check) #tor-check {
#search-form.onionized-search #onionize-toggle {
color: var(--tor-link-color-light);
}
+
+ #survey {
+ background-color: #3d1559;
+ border-color: transparent;
+ }
+
+ #survey-icon {
+ background-color: #00000040;
+ }
+
+ #survey-launch {
+ color: var(--color-gray-100);
+ --in-content-primary-button-background: var(--tor-button-background-color-dark);
+ --in-content-primary-button-background-hover: var(--tor-button-background-color-hover-dark);
+ --in-content-primary-button-background-active: var(--tor-button-background-color-active-dark);
+ }
}
=====================================
browser/components/abouttor/content/aboutTor.html
=====================================
@@ -22,6 +22,10 @@
<link rel="localization" href="browser/newtab/newtab.ftl" />
<link rel="localization" href="toolkit/global/tor-browser.ftl" />
+ <script
+ type="module"
+ src="chrome://global/content/elements/moz-button.mjs"
+ ></script>
<script
type="module"
src="chrome://global/content/elements/moz-toggle.mjs"
@@ -44,7 +48,7 @@
data-l10n-id="tor-browser-home-heading-testing"
></span>
</h1>
- <p id="tor-check">
+ <p id="tor-check" class="tor-home-box">
<img
id="tor-check-icon"
alt=""
@@ -132,5 +136,26 @@
></a>
</span>
</p>
+ <!-- Survey element, initially used for tor-browser#43504. -->
+ <article id="survey" class="tor-home-box" aria-labelledby="survey-heading">
+ <img
+ id="survey-icon"
+ alt=""
+ src="chrome://browser/content/abouttor/1f44b-waving-hand.svg"
+ />
+ <h2 id="survey-heading"></h2>
+ <p id="survey-body"></p>
+ <div id="survey-buttons">
+ <button id="survey-launch" class="primary"></button>
+ <button id="survey-dismiss"></button>
+ </div>
+ <moz-button
+ id="survey-close"
+ type="icon ghost"
+ class="close"
+ size="16"
+ iconSrc="chrome://global/skin/icons/close.svg"
+ ></moz-button>
+ </article>
</body>
</html>
=====================================
browser/components/abouttor/content/aboutTor.js
=====================================
@@ -167,14 +167,241 @@ const MessageArea = {
},
};
+/**
+ * A reusable area for surveys.
+ *
+ * Initially used for tor-browser#43504.
+ */
+const SurveyArea = {
+ /**
+ * The current version of the survey.
+ *
+ * Should be increased every time we start a new survey campaign.
+ *
+ * @type {integer}
+ */
+ _version: 1,
+
+ /**
+ * The date to start showing the survey.
+ *
+ * @type {integer}
+ */
+ _startDate: Date.UTC(2025, 3, 14, 12), // 2025 April 14th, 12:00.
+
+ /**
+ * The date to stop showing the current survey.
+ *
+ * @type {integer}
+ */
+ _endDate: Date.UTC(2025, 3, 28), // 2025 April 28th, 00:00.
+
+ /**
+ * The survey URL.
+ *
+ * @type {string}
+ */
+ _urlBase: "https://survey.torproject.org/index.php/923269",
+
+ /**
+ * @typedef {object} SurveyLocaleData
+ *
+ * Locale-specific data for the survey.
+ *
+ * @property {string[]} browserLocales - The browser locales this should match
+ * with. The first locale should match the locale of the strings.
+ * @property {string} urlCode - The language code to pass to the survey URL.
+ * @property {string} dir - The direction of the locale.
+ * @property {object} strings - The strings to use for the survey banner.
+ */
+
+ /**
+ * The data for the selected locale.
+ *
+ * @type {SurveyLocaleData}
+ */
+ _localeData: null,
+
+ /**
+ * The data for each locale that is supported.
+ *
+ * The first entry is the default.
+ *
+ * @type {SurveyLocaleData[]}
+ */
+ _localeDataSet: [
+ {
+ browserLocales: ["en-US"],
+ dir: "ltr",
+ urlCode: "en",
+ strings: {
+ heading: "We’d love your feedback",
+ body: "Help us improve Tor Browser by completing this 10-minute survey.",
+ launch: "Launch the survey",
+ dismiss: "Not now",
+ close: "Close",
+ },
+ },
+ {
+ browserLocales: ["es-ES"],
+ dir: "ltr",
+ urlCode: "es",
+ strings: {
+ heading: "Danos tu opinión",
+ body: "Ayúdanos a mejorar el Navegador Tor completando esta encuesta de 10 minutos.",
+ launch: "Iniciar la encuesta",
+ dismiss: "Más adelante",
+ close: "Cerrar",
+ },
+ },
+ {
+ browserLocales: ["ru"],
+ dir: "ltr",
+ urlCode: "ru",
+ strings: {
+ heading: "Мы будем рады вашим отзывам",
+ body: "Помогите нам улучшить браузер Tor, пройдя 10-минутный опрос.",
+ launch: "Начать опрос",
+ dismiss: "Не сейчас",
+ close: "Закрыть",
+ },
+ },
+ {
+ browserLocales: ["fr"],
+ dir: "ltr",
+ urlCode: "fr",
+ strings: {
+ heading: "Nous serions ravis d’avoir votre avis !",
+ body: "Aidez-nous à améliorer le navigateur Tor en répondant à cette enquête de 10 minutes.",
+ launch: "Lancer l'enquête",
+ dismiss: "Pas maintenant",
+ close: "Fermer",
+ },
+ },
+ {
+ // Also show this pt-BR banner for the pt-PT browser locale.
+ browserLocales: ["pt-BR", "pt-PT"],
+ dir: "ltr",
+ urlCode: "pt-BR",
+ strings: {
+ heading: "Adoraríamos ouvir sua opinião",
+ body: "Ajude-nos a melhorar o Navegador Tor respondendo a esta pesquisa de 10 minutos.",
+ launch: "Iniciar a pesquisa",
+ dismiss: "Mais tarde",
+ close: "Fechar",
+ },
+ },
+ ],
+
+ /**
+ * Initialize the survey area.
+ */
+ init() {
+ document.getElementById("survey-launch").addEventListener("click", () => {
+ if (!this._localeData) {
+ return;
+ }
+ const url = new URL(this._urlBase);
+ url.searchParams.append("lang", this._localeData.urlCode);
+ open(url.href);
+ });
+ document.getElementById("survey-close").addEventListener("click", () => {
+ this._hide();
+ });
+ document.getElementById("survey-dismiss").addEventListener("click", () => {
+ this._hide();
+ });
+ },
+
+ /**
+ * Permanently hide this survey.
+ */
+ _hide() {
+ document.body.classList.remove("show-survey");
+ // Move focus to the search input.
+ document.getElementById("search-input").focus();
+
+ dispatchEvent(
+ new CustomEvent("SurveyDismissed", {
+ // We pass in the current survey version to record the *latest*
+ // version that the user has dismissed. This will overwrite any
+ // previous versions.
+ detail: this._version,
+ bubbles: true,
+ })
+ );
+ },
+
+ /**
+ * Decide whether to show the survey.
+ *
+ * @param {integer} dismissVersion - The latest version of survey that the
+ * user has already dismissed.
+ * @param {boolean} isStable - Whether this is the stable release of Tor
+ * Browser.
+ */
+ potentiallyShow(dismissVersion, isStable) {
+ const now = Date.now();
+ if (
+ now < this._startDate ||
+ now >= this._endDate ||
+ // The user has already dismissed this version of the survey before:
+ dismissVersion >= this._version ||
+ !isStable
+ ) {
+ // Don't show the survey.
+ return;
+ }
+
+ // Determine the survey locale based on the about:tor locale.
+ // NOTE: We do not user document.l10n to translate the survey banner.
+ // Instead we only translate the banner into a limited set of locales that
+ // match the languages that the survey itself supports. This should match
+ // the language of the survey when it is opened by the user.
+ const pageLocale = document.documentElement.getAttribute("lang");
+ for (const localeData of this._localeDataSet) {
+ if (localeData.browserLocales.includes(pageLocale)) {
+ this._localeData = localeData;
+ break;
+ }
+ }
+ if (!this._localeData) {
+ // Show the default en-US banner.
+ this._localeData = this._localeDataSet[0];
+ }
+
+ // Make sure the survey's lang and dir attributes match the chosen locale.
+ const surveyEl = document.getElementById("survey");
+ surveyEl.setAttribute("lang", this._localeData.browserLocales[0]);
+ surveyEl.setAttribute("dir", this._localeData.dir);
+
+ const { heading, body, launch, dismiss, close } = this._localeData.strings;
+
+ document.getElementById("survey-heading").textContent = heading;
+ document.getElementById("survey-body").textContent = body;
+ document.getElementById("survey-launch").textContent = launch;
+ document.getElementById("survey-dismiss").textContent = dismiss;
+ document.getElementById("survey-close").setAttribute("title", close);
+
+ document.body.classList.add("show-survey");
+ },
+};
+
window.addEventListener("DOMContentLoaded", () => {
SearchWidget.init();
MessageArea.init();
+ SurveyArea.init();
});
window.addEventListener("InitialData", event => {
- const { torConnectEnabled, isStable, searchOnionize, messageData } =
- event.detail;
+ const {
+ torConnectEnabled,
+ isStable,
+ searchOnionize,
+ messageData,
+ surveyDismissVersion,
+ } = event.detail;
SearchWidget.setOnionizeState(!!searchOnionize);
MessageArea.setMessageData(messageData, !!isStable, !!torConnectEnabled);
+ SurveyArea.potentiallyShow(surveyDismissVersion, isStable);
});
=====================================
browser/components/abouttor/jar.mn
=====================================
@@ -3,6 +3,7 @@ browser.jar:
content/browser/abouttor/aboutTor.js (content/aboutTor.js)
content/browser/abouttor/aboutTor.html (content/aboutTor.html)
content/browser/abouttor/dax-logo.svg (content/dax-logo.svg)
+ content/browser/abouttor/1f44b-waving-hand.svg (content/1f44b-waving-hand.svg)
content/browser/abouttor/1f4e3-megaphone.svg (content/1f4e3-megaphone.svg)
content/browser/abouttor/26a1-high-voltage.svg (content/26a1-high-voltage.svg)
content/browser/abouttor/2728-sparkles.svg (content/2728-sparkles.svg)
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/dce8efc…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/dce8efc…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-128.8.0esr-14.5-1] fixup! TB 31286: Implementation of bridge, proxy, and firewall settings in...
by henry (@henry) 10 Mar '25
by henry (@henry) 10 Mar '25
10 Mar '25
henry pushed to branch tor-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
4b55145d by Henry Wilkes at 2025-03-10T11:17:32+00:00
fixup! TB 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection
TB 43547: Removing the last bridge sets the source to Invalid instead.
- - - - -
1 changed file:
- browser/components/torpreferences/content/connectionPane.js
Changes:
=====================================
browser/components/torpreferences/content/connectionPane.js
=====================================
@@ -739,9 +739,16 @@ const gBridgeGrid = {
}
strings.splice(index, 1);
- TorSettings.changeSettings({
- bridges: { source, bridge_strings: strings },
- });
+ if (strings.length) {
+ TorSettings.changeSettings({
+ bridges: { source, bridge_strings: strings },
+ });
+ } else {
+ // Remove all bridges and disable.
+ TorSettings.changeSettings({
+ bridges: { source: TorBridgeSource.Invalid },
+ });
+ }
});
},
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4b55145…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4b55145…
You're receiving this email because of your account on gitlab.torproject.org.
1
0