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

Keyboard Shortcuts

Thread View

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

tbb-commits

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

March 2026

  • 1 participants
  • 119 discussions
[Git][tpo/applications/tor-browser-build][maint-15.0] 2 commits: Bug 41758: Rename deploy-legacy to redeploy-update_responses-release signing script
by boklm (@boklm) 25 Mar '26

25 Mar '26
boklm pushed to branch maint-15.0 at The Tor Project / Applications / tor-browser-build Commits: 34dab7b6 by Nicolas Vigier at 2026-03-25T14:03:10+01:00 Bug 41758: Rename deploy-legacy to redeploy-update_responses-release signing script - - - - - b468cef7 by Nicolas Vigier at 2026-03-25T14:03:15+01:00 Bug 41758: Remove references to legacy versions in redeploy-update_responses-release Also add a comment at the top explaining what the script is doing. - - - - - 1 changed file: - tools/signing/deploy-legacy → tools/signing/redeploy-update_responses-release Changes: ===================================== tools/signing/deploy-legacy → tools/signing/redeploy-update_responses-release ===================================== @@ -1,4 +1,8 @@ #!/bin/bash +# +# This script can be used to re-deploy update_responses files for a +# release that was already published. +# set -e SIGNING_PROJECTNAME=torbrowser script_dir=$(cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd) @@ -6,11 +10,7 @@ TBB_DIR="$script_dir/../.." source "$script_dir/functions" source "$script_dir/set-config.update-responses" TOR_BROWSER_VERSION=$(rbm_showconf var/torbrowser_version) -TOR_BROWSER_LEGACY_VERSION=$(rbm_showconf var/torbrowser_legacy_version) -ESR_LEGACY_VERSION=$(rbm_showconf var/torbrowser_legacy_platform_version) echo "TOR_BROWSER_VERSION ${TOR_BROWSER_VERSION}" -echo "TOR_BROWSER_LEGACY_VERSION ${TOR_BROWSER_LEGACY_VERSION}" -echo "ESR_LEGACY_VERSION: ${ESR_LEGACY_VERSION}" read -p "Continue with update response for these versions (y/N) " -n 1 -r echo @@ -34,7 +34,7 @@ rm -Rf update_3/release tar -C update_3 -xf update-responses-release-${TOR_BROWSER_VERSION}.tar rm update-responses-release-${TOR_BROWSER_VERSION}.tar git add update_3/release -git commit -m "release: new version, ${TOR_BROWSER_LEGACY_VERSION}" +git commit -m "[redeploy] release: new version, ${TOR_BROWSER_VERSION}" git push echo "Update responses commit, for you to review:" View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] 2 commits: Bug 41758: Rename deploy-legacy to redeploy-update_responses-release signing script
by boklm (@boklm) 25 Mar '26

25 Mar '26
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 39a555dd by Nicolas Vigier at 2026-03-25T12:24:51+01:00 Bug 41758: Rename deploy-legacy to redeploy-update_responses-release signing script - - - - - d43aecc4 by Nicolas Vigier at 2026-03-25T12:29:33+01:00 Bug 41758: Remove references to legacy versions in redeploy-update_responses-release Also add a comment at the top explaining what the script is doing. - - - - - 1 changed file: - tools/signing/deploy-legacy → tools/signing/redeploy-update_responses-release Changes: ===================================== tools/signing/deploy-legacy → tools/signing/redeploy-update_responses-release ===================================== @@ -1,4 +1,8 @@ #!/bin/bash +# +# This script can be used to re-deploy update_responses files for a +# release that was already published. +# set -e SIGNING_PROJECTNAME=torbrowser script_dir=$(cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd) @@ -6,11 +10,7 @@ TBB_DIR="$script_dir/../.." source "$script_dir/functions" source "$script_dir/set-config.update-responses" TOR_BROWSER_VERSION=$(rbm_showconf var/torbrowser_version) -TOR_BROWSER_LEGACY_VERSION=$(rbm_showconf var/torbrowser_legacy_version) -ESR_LEGACY_VERSION=$(rbm_showconf var/torbrowser_legacy_platform_version) echo "TOR_BROWSER_VERSION ${TOR_BROWSER_VERSION}" -echo "TOR_BROWSER_LEGACY_VERSION ${TOR_BROWSER_LEGACY_VERSION}" -echo "ESR_LEGACY_VERSION: ${ESR_LEGACY_VERSION}" read -p "Continue with update response for these versions (y/N) " -n 1 -r echo @@ -34,7 +34,7 @@ rm -Rf update_3/release tar -C update_3 -xf update-responses-release-${TOR_BROWSER_VERSION}.tar rm update-responses-release-${TOR_BROWSER_VERSION}.tar git add update_3/release -git commit -m "release: new version, ${TOR_BROWSER_LEGACY_VERSION}" +git commit -m "[redeploy] release: new version, ${TOR_BROWSER_VERSION}" git push echo "Update responses commit, for you to review:" View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] TB 44752 [android]: Remove new expanded toolbar option
by Dan Ballard (@dan) 25 Mar '26

25 Mar '26
Dan Ballard pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: a7c83cd7 by clairehurst at 2026-03-24T16:56:31-06:00 TB 44752 [android]: Remove new expanded toolbar option - - - - - 4 changed files: - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/CustomizationFragment.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt - mobile/android/fenix/app/src/main/res/values/preference_keys.xml - mobile/android/fenix/app/src/main/res/xml/customization_preferences.xml Changes: ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/CustomizationFragment.kt ===================================== @@ -64,7 +64,6 @@ class CustomizationFragment : PreferenceFragmentCompat() { val tabletAndTabStripEnabled = Settings(requireContext()).isTabStripEnabled updateToolbarCategoryBasedOnTabStrip(tabletAndTabStripEnabled) setupTabStripCategory() - setupToolbarLayout() updateToolbarShortcut() // if tab strip is enabled, swipe toolbar to switch tabs should not be enabled so the @@ -189,8 +188,6 @@ class CustomizationFragment : PreferenceFragmentCompat() { Position.TOP.name, ), ) - - updateToolbarLayoutIcons() } val bottomPreference = requirePreference<RadioButtonPreference>(R.string.pref_key_toolbar_bottom) @@ -200,8 +197,6 @@ class CustomizationFragment : PreferenceFragmentCompat() { Position.BOTTOM.name, ), ) - - updateToolbarLayoutIcons() } val toolbarPosition = requireContext().settings().toolbarPosition @@ -221,35 +216,10 @@ class CustomizationFragment : PreferenceFragmentCompat() { val enabled = newValue as Boolean context.settings().isTabStripEnabled = enabled updateToolbarCategoryBasedOnTabStrip(enabled) - setupToolbarLayout() true } } - private fun setupToolbarLayout() { - val settings = requireContext().settings() - (requirePreference(R.string.pref_key_customization_category_toolbar_layout) as PreferenceCategory).apply { - isVisible = settings.shouldUseComposableToolbar && - settings.toolbarRedesignEnabled && isTallWindow() && !isWideWindow() - } - - val layoutToggle = requirePreference<ToggleRadioButtonPreference>(R.string.pref_key_toolbar_expanded) - layoutToggle.setOnToggleChanged { - updateToolbarShortcut() - } - updateToolbarLayoutIcons() - } - - private fun updateToolbarLayoutIcons() { - (requirePreference(R.string.pref_key_toolbar_expanded) as ToggleRadioButtonPreference).apply { - if (requireContext().settings().shouldUseBottomToolbar) { - updateIcon(R.drawable.ic_toolbar_bottom_expanded, R.drawable.ic_toolbar_bottom_simple) - } else { - updateIcon(R.drawable.ic_toolbar_top_expanded, R.drawable.ic_toolbar_top_simple) - } - } - } - private fun setupGesturesCategory(isSwipeToolbarToSwitchTabsVisible: Boolean) { requirePreference<SwitchPreference>(R.string.pref_key_website_pull_to_refresh).apply { isVisible = FeatureFlags.PULL_TO_REFRESH_ENABLED @@ -280,7 +250,6 @@ class CustomizationFragment : PreferenceFragmentCompat() { override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) - setupToolbarLayout() updateToolbarShortcut() } ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt ===================================== @@ -1463,11 +1463,7 @@ class Settings( persistDefaultIfNotExists = true, ) - var shouldUseExpandedToolbar by booleanPreference( - key = appContext.getPreferenceKey(R.string.pref_key_toolbar_expanded), - default = false, - persistDefaultIfNotExists = true, - ) + var shouldUseExpandedToolbar = false var shouldShowToolbarCustomization by booleanPreference( key = appContext.getPreferenceKey(R.string.pref_key_enable_toolbar_customization), @@ -2238,10 +2234,7 @@ class Settings( /** * Indicates if the user has access to the toolbar redesign option in settings. */ - var toolbarRedesignEnabled by booleanPreference( - appContext.getPreferenceKey(R.string.pref_key_enable_toolbar_redesign), - default = { FxNimbus.features.toolbarRedesignOption.value().showOptions }, - ) + var toolbarRedesignEnabled = false /** * Indicates if the search bar CFR should be displayed to the user. ===================================== mobile/android/fenix/app/src/main/res/values/preference_keys.xml ===================================== @@ -181,7 +181,6 @@ <string name="pref_key_toolbar_bottom" translatable="false">pref_key_toolbar_bottom</string> <string name="pref_key_toolbar_tab_swipe_cfr">pref_key_should_show_tab_swipe_cfr</string> <string name="pref_key_toolbar_has_shown_tab_swipe_cfr">pref_key_has_shown_tab_swipe_cfr</string> - <string name="pref_key_toolbar_expanded" translatable="false">pref_key_toolbar_expanded</string> <!-- App icon settings--> <string name="pref_key_app_icon">pref_key_app_icon</string> @@ -211,7 +210,6 @@ <string name="pref_key_recent_tabs" translatable="false">pref_key_recent_tabs</string> <string name="pref_key_customization_bookmarks" translatable="false">pref_key_recent_bookmarks</string> <string name="pref_key_customization_category_toolbar" translatable="false">pref_key_customization_category_toolbar</string> - <string name="pref_key_customization_category_toolbar_layout" translatable="false">pref_key_customization_category_toolbar_layout</string> <string name="pref_key_customization_category_app_icon" translatable="false">pref_key_customization_category_app_icon</string> <string name="pref_key_customization_category_toolbar_shortcut" translatable="false">pref_key_customization_category_toolbar_shortcut</string> <string name="pref_key_toolbar_simple_shortcut" translatable="false">pref_key_toolbar_simple_shortcut</string> ===================================== mobile/android/fenix/app/src/main/res/xml/customization_preferences.xml ===================================== @@ -69,19 +69,6 @@ android:title="@string/preference_tab_strip_show" /> </androidx.preference.PreferenceCategory> - <androidx.preference.PreferenceCategory - android:layout="@layout/preference_cat_style" - android:title="@string/preferences_toolbar_layout" - android:key="@string/pref_key_customization_category_toolbar_layout" - android:visible="false" - app:iconSpaceReserved="false"> - <org.mozilla.fenix.settings.ToggleRadioButtonPreference - android:key="@string/pref_key_toolbar_expanded" - app:sharedPreferenceKey="pref_key_toolbar_expanded" - app:falseOptionTitle="@string/preference_simple_toolbar" - app:trueOptionTitle="@string/preference_expanded_toolbar" /> - </androidx.preference.PreferenceCategory> - <!-- Toolbar shortcut picker --> <androidx.preference.PreferenceCategory android:key="@string/pref_key_customization_category_toolbar_shortcut" View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/a7c83cd… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/a7c83cd… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] fixup! [android] Implement Android-native Connection Assist UI
by Dan Ballard (@dan) 24 Mar '26

24 Mar '26
Dan Ballard pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 220e1670 by clairehurst at 2026-03-24T15:42:28-06:00 fixup! [android] Implement Android-native Connection Assist UI - - - - - 1 changed file: - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistViewModel.kt Changes: ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistViewModel.kt ===================================== @@ -39,24 +39,23 @@ class TorConnectionAssistViewModel( private fun loadAndUnloadDummyPage() { viewModelScope.launch(Dispatchers.IO) { - // Load local url (it just needs to begin with "about:" to get past filter) to initialize the browser, - // Domain fronting needs Services.io.getProtocolHandler("http")... to actually work, and it - // does not till the browser/engine is initialized, and this is so far the easiest way to do that. - // Load early here so that it is ready when needed if we get to the step where DF is invoked - // Then later remove it so it doesn't show for the user - components.useCases.tabsUseCases.addTab.invoke("about:") + // Load made up local url to initialize the browser. + // Domain fronting needs Services.io.getProtocolHandler("http")... to actually work + // It does not work until the browser/engine is initialized and we found this is so far + // the easiest way to do that. + // Load early here so that it is ready when needed if we get to the step where domain + // fronting is invoked. Remove after it so it doesn't show for the user + components.useCases.tabsUseCases.addTab.invoke("about:dummyPage") // removeTabs doesn't work without a delay. Thread.sleep(500) // Remove loaded URL so it is never visible to the user components.useCases.tabsUseCases.removeTabs.invoke( components.core.store.state.tabs.filter { - it.getUrl() == "about:" || it.getUrl() == "about:blank" + it.getUrl() == "about:dummyPage" }.map { it.id }, ) - // recentlyClosedTabsStorage.value.removeAllTabs() doesn't seem to work, - // so instead we collect and iteratively remove all tabs from recent history. - // Nothing should ever show up in history so we remove everything, - // including old "about:" tabs that may have stacked up. + // Collect and iteratively remove all tabs from recent history. + // Nothing should ever show up in history so it is safe to just remove everything, components.core.recentlyClosedTabsStorage.value.getTabs() .collect { tabs: List<TabState> -> for (tab in tabs) { View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/220e167… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/220e167… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] 2 commits: fixup! [android] Modify build system
by Dan Ballard (@dan) 24 Mar '26

24 Mar '26
Dan Ballard pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 2d0e34d5 by clairehurst at 2026-03-24T14:33:48-06:00 fixup! [android] Modify build system - - - - - 6f660c9d by clairehurst at 2026-03-24T14:33:48-06:00 fixup! [android] Disable features and functionality - - - - - 4 changed files: - mobile/android/android-components/components/feature/accounts/build.gradle - mobile/android/android-components/components/feature/search/build.gradle - mobile/android/fenix/app/build.gradle - mobile/android/focus-android/app/build.gradle Changes: ===================================== mobile/android/android-components/components/feature/accounts/build.gradle ===================================== @@ -13,7 +13,7 @@ apply plugin: 'kotlin-android' android { androidResources { - ignoreAssetsPattern '!<dir>extensions' + ignoreAssetsPattern = '!<dir>extensions' } namespace = 'mozilla.components.feature.accounts' ===================================== mobile/android/android-components/components/feature/search/build.gradle ===================================== @@ -13,7 +13,7 @@ apply plugin: 'kotlin-android' android { androidResources { - ignoreAssetsPattern '!<dir>extensions:!search_telemetry_v2.json:!amazon*:!azerdict*:!baidu*:!bing*:!ceneje*:!coccoc*:!daum*:!ebay*:!ecosia*:!faclair*:!google*:!gulesider*:!leo*:!mapy*:!mercadolibre*:!odpiralni*:!pazaruvaj*:!prisjakt*:!qwant*:!rakuten*:!salidzinilv*:!seznam*:!vatera*:!wikipedia-*:!wiktionary*:!yahoo*:!yandex*' + ignoreAssetsPattern = '!<dir>extensions:!search_telemetry_v2.json:!amazon*:!azerdict*:!baidu*:!bing*:!ceneje*:!coccoc*:!daum*:!ebay*:!ecosia*:!faclair*:!google*:!gulesider*:!leo*:!mapy*:!mercadolibre*:!odpiralni*:!pazaruvaj*:!prisjakt*:!qwant*:!rakuten*:!salidzinilv*:!seznam*:!vatera*:!wikipedia-*:!wiktionary*:!yahoo*:!yandex*' } sourceSets { ===================================== mobile/android/fenix/app/build.gradle ===================================== @@ -56,17 +56,7 @@ def getBuildId() { return file("${gradle.mozconfig.topobjdir}/buildid.h").getText('utf-8').split()[2] } -def obtainTestBuildType() { - def result = "debug"; - if (project.hasProperty("testBuildType")) { - result = project.getProperties().get("testBuildType") - } - result -} - android { - testBuildType obtainTestBuildType() - project.maybeConfigForJetpackBenchmark(it) if (project.hasProperty("testBuildType")) { // Allowing to configure the test build type via command line flag (./gradlew -PtestBuildType=beta ..) @@ -325,10 +315,7 @@ android.applicationVariants.configureEach { variant -> System.setProperty("nimbusFml", gradle.mozconfig.substs.NIMBUS_FML) } - def disableTor = false - if (project.hasProperty("disableTor")) { - disableTor = project.getProperty("disableTor") - } + def disableTor = providers.gradleProperty("disableTor").getOrElse(false) project.logger.debug("----------------------------------------------") project.logger.debug("Variant name: " + variant.name) @@ -336,7 +323,7 @@ android.applicationVariants.configureEach { variant -> project.logger.debug("Build type: " + variant.buildType.name) project.logger.debug("Flavor: " + variant.flavorName) project.logger.debug("Telemetry enabled: " + !isDebugOrDCD) - project.logger.debug("nimbusFml: " + System.getProperty("nimbusFml")) + project.logger.debug("nimbusFml: " + providers.gradleProperty("nimbusFml").getOrNull()) project.logger.debug("Tor is disabled: " + disableTor) buildConfigField "boolean", "DISABLE_TOR", "$disableTor" ===================================== mobile/android/focus-android/app/build.gradle ===================================== @@ -286,7 +286,6 @@ dependencies { implementation project(':components:feature-webcompat-reporter') implementation project(':components:lib-auth') implementation project(':components:lib-crash') - implementation project(':components:lib-crash-sentry') implementation project(':components:lib-publicsuffixlist') implementation project(':components:lib-state') implementation project(":components:service-glean") @@ -337,7 +336,6 @@ dependencies { implementation libs.mozilla.glean implementation libs.play.review implementation libs.play.review.ktx - implementation libs.sentry debugImplementation libs.leakcanary View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/cf77da… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/cf77da… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] fixup! TB 40933: Add tor-launcher functionality
by clairehurst (@clairehurst) 24 Mar '26

24 Mar '26
clairehurst pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: cf77da36 by clairehurst at 2026-03-24T13:25:45-06:00 fixup! TB 40933: Add tor-launcher functionality - - - - - 1 changed file: - toolkit/components/tor-launcher/TorProcessAndroid.sys.mjs Changes: ===================================== toolkit/components/tor-launcher/TorProcessAndroid.sys.mjs ===================================== @@ -99,7 +99,7 @@ export class TorProcessAndroid { type: TorOutgoingEvents.stop, handle: this.#processHandle, }); - logger.debug("Sent the start event."); + logger.debug("Sent the stop event."); this.#processHandle = null; lazy.EventDispatcher.instance.unregisterListener( this, View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/cf77da3… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/cf77da3… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-149.0a1-16.0-2] fixup! BB 44045: Disable ML features.
by henry (@henry) 24 Mar '26

24 Mar '26
henry pushed to branch mullvad-browser-149.0a1-16.0-2 at The Tor Project / Applications / Mullvad Browser Commits: ebe580ec by Henry Wilkes at 2026-03-24T18:15:45+00:00 fixup! BB 44045: Disable ML features. TB 44780: Drop AIFeature dependency for TranslationsFeature. The AIFeature.sys.mjs is not in the build. - - - - - 1 changed file: - toolkit/components/translations/TranslationsFeature.sys.mjs Changes: ===================================== toolkit/components/translations/TranslationsFeature.sys.mjs ===================================== @@ -2,7 +2,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -import { AIFeature } from "chrome://global/content/ml/AIFeature.sys.mjs"; +// AIFeature.sys.mjs is not available. tor-browser#44780. import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs"; /** @@ -45,7 +45,10 @@ XPCOMUtils.defineLazyPreferenceGetter( /** * AIFeature implementation for translations. */ -export class TranslationsFeature extends AIFeature { +// NOTE: The AIFeature class is not available. +// At the time of implementation, TranslationsFeature overwrites the entire +// AIFeature class so we can drop the `extends AIFeature`. tor-browser#44780. +export class TranslationsFeature { /** * Feature identifier for translations. * View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/ebe… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/ebe… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] fixup! BB 44045: Disable ML features.
by henry (@henry) 24 Mar '26

24 Mar '26
henry pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: db4c2720 by Henry Wilkes at 2026-03-24T18:12:59+00:00 fixup! BB 44045: Disable ML features. TB 44780: Drop AIFeature dependency for TranslationsFeature. The AIFeature.sys.mjs is not in the build. - - - - - 1 changed file: - toolkit/components/translations/TranslationsFeature.sys.mjs Changes: ===================================== toolkit/components/translations/TranslationsFeature.sys.mjs ===================================== @@ -2,7 +2,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -import { AIFeature } from "chrome://global/content/ml/AIFeature.sys.mjs"; +// AIFeature.sys.mjs is not available. tor-browser#44780. import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs"; /** @@ -45,7 +45,10 @@ XPCOMUtils.defineLazyPreferenceGetter( /** * AIFeature implementation for translations. */ -export class TranslationsFeature extends AIFeature { +// NOTE: The AIFeature class is not available. +// At the time of implementation, TranslationsFeature overwrites the entire +// AIFeature class so we can drop the `extends AIFeature`. tor-browser#44780. +export class TranslationsFeature { /** * Feature identifier for translations. * View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/db4c272… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/db4c272… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-149.0a1-16.0-2] BB 43243 [android]: Keep processing pending inits after failure
by brizental (@brizental) 24 Mar '26

24 Mar '26
brizental pushed to branch mullvad-browser-149.0a1-16.0-2 at The Tor Project / Applications / Mullvad Browser Commits: f8742cad by Beatriz Rizental at 2026-03-24T15:04:38-03:00 BB 43243 [android]: Keep processing pending inits after failure This is in the process of being uplifted. Bug 2021618: bugzilla.mozilla.org/show_bug.cgi?id=2021618 Differential Revision: https://phabricator.services.mozilla.com/D286669 - - - - - 3 changed files: - mobile/shared/modules/geckoview/DelayedInit.sys.mjs - + mobile/shared/modules/geckoview/test/xpcshell/test_DelayedInit.js - mobile/shared/modules/geckoview/test/xpcshell/xpcshell.toml Changes: ===================================== mobile/shared/modules/geckoview/DelayedInit.sys.mjs ===================================== @@ -96,7 +96,11 @@ var Impl = { return false; } this.complete = true; - this.fn.call(); + try { + this.fn.call(); + } catch (e) { + console.error("Error running init", e); + } this.fn = null; return true; }, ===================================== mobile/shared/modules/geckoview/test/xpcshell/test_DelayedInit.js ===================================== @@ -0,0 +1,48 @@ +/* Any copyright is dedicated to the Public Domain. +http://creativecommons.org/publicdomain/zero/1.0/ */ +"use strict"; + +const { DelayedInit } = ChromeUtils.importESModule( + "resource://gre/modules/DelayedInit.sys.mjs" +); + +add_task(async function test_delayed_init_continues_queue_on_failure() { + const results = []; + const waitMs = 0; + + DelayedInit.schedule( + () => { + results.push("first"); + }, + null, + null, + waitMs + ); + + DelayedInit.schedule( + () => { + results.push("second"); + throw new Error("Deliberate error for testing"); + }, + null, + null, + waitMs + ); + + DelayedInit.schedule( + () => { + results.push("third"); + }, + null, + null, + waitMs + ); + + await new Promise(resolve => ChromeUtils.idleDispatch(resolve)); + + Assert.deepEqual( + results, + ["first", "second", "third"], + "Queue processes all inits even when one fails" + ); +}); ===================================== mobile/shared/modules/geckoview/test/xpcshell/xpcshell.toml ===================================== @@ -7,6 +7,8 @@ prefs = "browser.crashReports.onDemand=true" ["test_ChildCrashHandler.js"] +["test_DelayedInit.js"] + ["test_GeckoViewAppConstants.js"] ["test_RemoteSettingsCrashPull.js"] View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/f87… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/f87… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-149.0a1-16.0-2] 2 commits: BB 43243 [android]: Start GeckoEngineSession early when Marionette enabled
by brizental (@brizental) 24 Mar '26

24 Mar '26
brizental pushed to branch mullvad-browser-149.0a1-16.0-2 at The Tor Project / Applications / Mullvad Browser Commits: d6edcc3d by Beatriz Rizental at 2026-03-24T15:02:29-03:00 BB 43243 [android]: Start GeckoEngineSession early when Marionette enabled This is in the process of being uplifted. Bug 2021884: https://bugzilla.mozilla.org/show_bug.cgi?id=2021884 Differential Revision: https://phabricator.services.mozilla.com/D286676 - - - - - 4e336f51 by Beatriz Rizental at 2026-03-24T15:02:30-03:00 BB 43243: Modify mozharness scripts for Base Browser - - - - - 4 changed files: - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt - testing/mozharness/configs/android/android14-x86_64.py - testing/mozharness/configs/android/android_common.py - testing/mozharness/scripts/android_emulator_unittest.py Changes: ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt ===================================== @@ -498,6 +498,12 @@ open class FenixApplication : Application(), Provider, ThemeProvider { logElapsedTime(logger, "Starting Relay feature integration") { components.relayFeatureIntegration.start() } + + // If running Marionette tests a GeckoEngineSession needs to be + // started and that must happen on the main thread. + logElapsedTime(logger, "Maybe setup Marionette") { + maybeSetupMarionette() + } } } @@ -666,6 +672,13 @@ open class FenixApplication : Application(), Provider, ThemeProvider { FxNimbus.initialize { nimbus } } + private fun maybeSetupMarionette() { + // If Marionette is enabled, start a GeckoEngineSession immediatelly. + if (System.getenv("MOZ_MARIONETTE") == "1") { + components.core.engine.speculativeCreateSession(components.appStore.state.mode.isPrivate) + } + } + /** * Initiate Megazord sequence! Megazord Battle Mode! * ===================================== testing/mozharness/configs/android/android14-x86_64.py ===================================== @@ -11,8 +11,9 @@ config = { "emulator_avd_name": "mozemulator-android34-x86_64", "emulator_process_name": "qemu-system-x86_64", "emulator_extra_args": [ - "-gpu", - "on", + "-no-window", + "-no-audio", + "-no-boot-anim", "-skip-adb-auth", "-verbose", "-show-kernel", ===================================== testing/mozharness/configs/android/android_common.py ===================================== @@ -315,6 +315,19 @@ config = { "--deviceSerial=%(device_serial)s", ], }, + "marionette": { + "run_filename": "runtests.py", + "testsdir": "marionette/harness/marionette_harness", + "install": True, + "options": [ + "-vv", + "--address=127.0.0.1:2828", + "--app=fennec", + ], + "tests": [ + "%(abs_marionette_manifest_dir)s/unit-tests.toml", + ], + }, }, # end suite_definitions "structured_suites": [ "mochitest-media", ===================================== testing/mozharness/scripts/android_emulator_unittest.py ===================================== @@ -7,15 +7,18 @@ import copy import datetime import json import os +import socket import subprocess import sys +import tempfile +import time # load modules from parent dir here = os.path.abspath(os.path.dirname(__file__)) sys.path.insert(1, os.path.dirname(here)) from mozharness.base.log import WARNING -from mozharness.base.script import BaseScript, PreScriptAction +from mozharness.base.script import BaseScript, PostScriptAction, PreScriptAction from mozharness.mozilla.automation import TBPL_RETRY from mozharness.mozilla.mozbase import MozbaseMixin from mozharness.mozilla.testing.android import AndroidMixin @@ -26,7 +29,7 @@ from mozharness.mozilla.testing.codecoverage import ( from mozharness.mozilla.testing.testbase import TestingMixin, testing_config_options SUITE_DEFAULT_E10S = ["geckoview-junit", "mochitest", "reftest"] -SUITE_NO_E10S = ["cppunittest", "gtest", "jittest", "xpcshell"] +SUITE_NO_E10S = ["cppunittest", "gtest", "jittest", "xpcshell", "marionette"] SUITE_REPEATABLE = ["mochitest", "reftest", "xpcshell"] @@ -178,6 +181,15 @@ class AndroidEmulatorTest( "times in which case the test must contain at least one of the given tags.", }, ], + [ + ["--package-name"], + { + "action": "store", + "default": None, + "dest": "package_name", + "help": "The Android package name for the app being installed.", + }, + ], ] + copy.deepcopy(testing_config_options) + copy.deepcopy(code_coverage_config_options) @@ -228,6 +240,7 @@ class AndroidEmulatorTest( self.enable_isolated_zygote_process = c.get("enable_isolated_zygote_process") self.extra_prefs = c.get("extra_prefs") self.test_tags = c.get("test_tags") + self.package_name = c.get("package_name") or self.query_package_name() def query_abs_dirs(self): if self.abs_dirs: @@ -329,6 +342,16 @@ class AndroidEmulatorTest( "error_summary_file": error_summary_file, "xpcshell_extra": c.get("xpcshell_extra", ""), "gtest_dir": os.path.join(dirs["abs_test_install_dir"], "gtest"), + "abs_marionette_manifest_dir": os.path.join( + dirs["abs_test_install_dir"], + "marionette", + "tests", + "testing", + "marionette", + "harness", + "marionette_harness", + "tests", + ), } user_paths = self._get_mozharness_test_paths(self.test_suite) @@ -345,7 +368,7 @@ class AndroidEmulatorTest( if "%(app)" in option: # only query package name if requested - cmd.extend([option % {"app": self.query_package_name()}]) + cmd.extend([option % {"app": self.package_name}]) else: option = option % str_format_values if option: @@ -409,6 +432,7 @@ class AndroidEmulatorTest( self.config["suite_definitions"][self.test_suite].get("tests"), None, try_tests, + str_format_values=str_format_values, ) ) @@ -449,6 +473,7 @@ class AndroidEmulatorTest( }, ), ("xpcshell", {"xpcshell": "xpcshell"}), + ("marionette", {"marionette": "marionette"}), ] suites = [] for category, all_suites in all: @@ -473,6 +498,61 @@ class AndroidEmulatorTest( # in the base class, this checks for mozinstall, but we don't use it pass + def _configure_marionette_virtualenv(self, action): + dirs = self.query_abs_dirs() + requirements = os.path.join( + dirs["abs_test_install_dir"], "config", "marionette_requirements.txt" + ) + if not os.path.isfile(requirements): + self.fatal(f"Could not find marionette requirements file: {requirements}") + + self.register_virtualenv_module(requirements=[requirements]) + + def _marionette_setup(self): + adb = self.query_exe("adb") + + self.run_command([adb, "forward", "tcp:2828", "tcp:2828"]) + + with tempfile.NamedTemporaryFile(suffix=".yaml") as tmp_file: + tmp_file.write( + b"""args: +- --marionette +- --remote-allow-system-access +""" + ) + tmp_file.flush() + + remote_path = f"/data/local/tmp/{self.package_name}-geckoview-config.yaml" + self.run_command([adb, "push", tmp_file.name, remote_path]) + + self.run_command([ + adb, + "shell", + "am", + "start", + "-S", + "-W", + "-n", + f"{self.package_name}/org.mozilla.gecko.BrowserApp", + ]) + + # Wait for Marionette to be ready + for attempt in range(5): + try: + self.info( + f"Checking Marionette on 127.0.0.1:2828 (attempt {attempt + 1}/5)" + ) + socket.create_connection(("127.0.0.1", 2828), 10).close() + self.info("Marionette is reachable") + break + except OSError: + if attempt == 4: + self.fatal( + "Timed out waiting for 127.0.0.1:2828 to become reachable" + ) + self.info("Marionette not reachable yet, retrying in 10s") + time.sleep(10) + @PreScriptAction("create-virtualenv") def pre_create_virtualenv(self, action): dirs = self.query_abs_dirs() @@ -488,6 +568,9 @@ class AndroidEmulatorTest( if requirements: self.register_virtualenv_module(requirements=[requirements]) + if ("marionette", "marionette") in suites: + self._configure_marionette_virtualenv(action) + def download_and_extract(self): """ Download and extract product APK, tests.zip, and host utils. @@ -525,6 +608,9 @@ class AndroidEmulatorTest( for per_test_suite, suite in suites: self.test_suite = suite + if self.test_suite == "marionette": + self._marionette_setup() + try: cwd = self._query_tests_dir(self.test_suite) except Exception: @@ -594,6 +680,19 @@ class AndroidEmulatorTest( % (suite_category, suite, tbpl_status), ) + @PostScriptAction("run-tests") + def marionette_teardown(self, *args, **kwargs): + if ("marionette", "marionette") in self._query_suites(): + adb = self.query_exe("adb") + self.run_command([adb, "shell", "am", "force-stop", self.package_name]) + self.run_command([adb, "uninstall", self.package_name]) + self.run_command([ + adb, + "shell", + "rm", + f"/data/local/tmp/{self.package_name}-geckoview-config.yaml", + ]) + if __name__ == "__main__": test = AndroidEmulatorTest() View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/43… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/43… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
  • ← Newer
  • 1
  • 2
  • 3
  • 4
  • ...
  • 12
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.