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 -----
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2018 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2017 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2016 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2015 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2014 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
tbb-commits@lists.torproject.org

  • 1 participants
  • 20633 discussions
[Git][tpo/applications/tor-browser-build][main] Bug 41718: Updated Noto Emoji to v2.051.
by Pier Angelo Vendrame (@pierov) 09 Feb '26

09 Feb '26
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 04871e60 by Pier Angelo Vendrame at 2026-02-05T14:53:57+01:00 Bug 41718: Updated Noto Emoji to v2.051. Also, cleaned up a few URLs of other fonts. Since we check the hash of the downloaded files, we can include the tag in GitHub URLs. - - - - - 1 changed file: - projects/fonts/config Changes: ===================================== projects/fonts/config ===================================== @@ -1,12 +1,14 @@ # vim: filetype=yaml sw=2 +# Version needs to be updated whenever we change the list of Noto fonts without +# changing var/noto_git_hash. version: '4' filename: "[% project %]-[% c('version') %]-[% c('var/platform') %]-[% c('var/build_id') %].tar.[% c('compress_tar') %]" container: # We just copy files around, no need to use a container. use_container: 0 var: - # noto-monthly-release-24.9.1 - noto_git_hash: eeb71fdda20300eb0891badeed5e64850e2cbc64 + # noto-monthly-release-2026.02.01 + noto_git_hash: 0dd6225462349adf863bf50d1a69ead98342e14d # Use this way so that the script that downloads the fonts can access the # lists of all the targets. noto_fonts_common: @@ -175,26 +177,25 @@ input_files: - URL: https://github.com/notofonts/noto-fonts/raw/71d0a9e78ae4257499cabd4a8ad3e5e… sha256sum: cf264a22292950ca1679b2ade07e9e6ecb26c649ab70975d0e113f979efa827a enable: '[% c("var/linux") %]' - # Noto Sans CJK Version 2.004 - - URL: https://github.com/googlefonts/noto-cjk/raw/523d033d6cb47f4a80c58a35753646f… + - URL: https://github.com/googlefonts/noto-cjk/raw/Sans2.004/Sans/SubsetOTF/JP/Not… sha256sum: dff723ba59d57d136764a04b9b2d03205544f7cd785a711442d6d2d085ac5073 enable: '[% c("var/linux") %]' - - URL: https://github.com/googlefonts/noto-cjk/raw/523d033d6cb47f4a80c58a35753646f… + - URL: https://github.com/googlefonts/noto-cjk/raw/Sans2.004/Sans/SubsetOTF/KR/Not… sha256sum: 69975a0ac8472717870aefeab0a4d52739308d90856b9955313b2ad5e0148d68 enable: '[% c("var/linux") %]' - - URL: https://github.com/googlefonts/noto-cjk/raw/523d033d6cb47f4a80c58a35753646f… + - URL: https://github.com/googlefonts/noto-cjk/raw/Sans2.004/Sans/SubsetOTF/SC/Not… sha256sum: faa6c9df652116dde789d351359f3d7e5d2285a2b2a1f04a2d7244df706d5ea9 enable: '[% c("var/linux") %]' - - URL: https://github.com/googlefonts/noto-cjk/raw/523d033d6cb47f4a80c58a35753646f… + - URL: https://github.com/googlefonts/noto-cjk/raw/Sans2.004/Sans/SubsetOTF/TC/Not… sha256sum: 5bab0cb3c1cf89dde07c4a95a4054b195afbcfe784d69d75c340780712237537 enable: '[% c("var/linux") %]' - - URL: https://github.com/googlefonts/noto-emoji/raw/b3e3051a088047d19fd4d49b1c3ac… - sha256sum: 3ed77810c203e1a67735dc19d395f32c23f2d7c0c3696690f4f78e15e57ab816 + - URL: https://github.com/googlefonts/noto-emoji/raw/v2.051/fonts/NotoColorEmoji.t… + sha256sum: 72a635cb3d2f3524c51620cdde406b217204e8a6a06c6a096ff8ed4b5fd6e27b enable: '[% c("var/linux") %]' - URL: https://github.com/stipub/stixfonts/raw/v2.13b171/fonts/static_otf/STIXTwoM… sha256sum: 3a5f3f26f40d5698b3c62dd085d48d6663696a3f80825aab8b553d5097518e8c name: stix enable: '[% c("var/have_stix") %]' - - URL: 'https://github.com/mcfnlp/Pyidaungsu/raw/refs/heads/master/Pyidaungsu2.5.3/…' + - URL: 'https://github.com/mcfnlp/Pyidaungsu/raw/refs/heads/ff1cd8dfe8c451244329d7a…' sha256sum: df7106c15da76f6a24c10821b43da51f54961f6bc6791fb1fcf21c6c60bb2e10 name: Pyidaungsu View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/0… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/0… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-147.0a1-16.0-2] fixup! BB 43564: Modify ./mach bootstrap for Base Browser
by brizental (@brizental) 06 Feb '26

06 Feb '26
brizental pushed to branch base-browser-147.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: f5d1594c by Beatriz Rizental at 2026-02-06T17:10:35-03:00 fixup! BB 43564: Modify ./mach bootstrap for Base Browser - - - - - 1 changed file: - build/moz.configure/bootstrap.configure Changes: ===================================== build/moz.configure/bootstrap.configure ===================================== @@ -198,7 +198,7 @@ def bootstrap_path(path, **kwargs): path_prefix = path_parts.pop(0) # Small hack because extensions are inside the browser folder. - if path_parts[0] in ("noscript", ): + if path_parts[0] in ("noscript",): path_prefix = "browser" def try_tbb_bootstrap(exists): View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/f5d1594… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/f5d1594… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-147.0a1-16.0-2] 2 commits: fixup! TB 42247: Android helpers for the TorProvider
by clairehurst (@clairehurst) 05 Feb '26

05 Feb '26
clairehurst pushed to branch tor-browser-147.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 5eb4ba41 by Dan Ballard at 2026-02-05T13:09:54-07:00 fixup! TB 42247: Android helpers for the TorProvider Bug 43645: wiring in proper call to shutdown the tor process - - - - - c9a70495 by Dan Ballard at 2026-02-05T13:09:54-07:00 fixup! TB 41878: [android] Add standalone Tor Bootstrap Bug 43645: wire in call to shutdown tor process onDestroy - - - - - 4 changed files: - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorController.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorControllerGV.kt - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorAndroidIntegration.java Changes: ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt ===================================== @@ -184,6 +184,7 @@ import mozilla.components.browser.engine.gecko.GeckoEngine import org.mozilla.fenix.compose.core.Action import org.mozilla.fenix.compose.snackbar.SnackbarState import org.mozilla.fenix.compose.snackbar.Snackbar +import org.mozilla.fenix.tor.TorController import org.mozilla.fenix.tor.UrlQuickLoadViewModel import org.mozilla.geckoview.TorAndroidIntegration.BootstrapStateChangeListener import org.mozilla.geckoview.TorConnectStage @@ -1586,6 +1587,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity { // If we don't manually stop the service, the persistent "close tabs" notification sometimes does not clear applicationContext.stopService(Intent(applicationContext, PrivateNotificationService::class.java)) finishAndRemoveTask() + components.torController.shutdown() exitProcess(0) } } ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorController.kt ===================================== @@ -38,4 +38,5 @@ interface TorController { fun initiateTorBootstrap(lifecycleScope: LifecycleCoroutineScope? = null, withDebugLogging: Boolean = false) fun stopTor() + fun shutdown() } ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorControllerGV.kt ===================================== @@ -176,6 +176,10 @@ class TorControllerGV( getTorIntegration().cancelBootstrap() } + override fun shutdown() { + getTorIntegration().shutdown() + } + // TorEventsBootstrapStateChangeListener override fun onBootstrapStageChange(stage: TorConnectStage) { Log.d(TAG, "onBootstrapStageChange(stage = $stage)") ===================================== mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorAndroidIntegration.java ===================================== @@ -105,8 +105,8 @@ public class TorAndroidIntegration implements BundleEventListener { registerListener(); } - /* package */ synchronized void shutdown() { - // FIXME: It seems this never gets called + // To be called when the app is shutting down only + public synchronized void shutdown() { if (mTorProcess != null) { mTorProcess.shutdown(); mTorProcess = null; @@ -332,7 +332,7 @@ public class TorAndroidIntegration implements BundleEventListener { Log.i(TAG, "[tor-" + mHandle + "] " + line); } } catch (IOException e) { - Log.e(TAG, "Failed to read stdout of the tor process " + mHandle, e); + Log.e(TAG, "Failed to read stdout of the tor process " + mHandle + " (expected when program is exiting)", e); } Log.d(TAG, "Exiting the stdout loop for process " + mHandle); final GeckoBundle data = new GeckoBundle(2); View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/cd8bcb… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/cd8bcb… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-147.0a1-16.0-2] 2 commits: fixup! Temporary changes to about:torconnect for Android.
by clairehurst (@clairehurst) 05 Feb '26

05 Feb '26
clairehurst pushed to branch tor-browser-147.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 12387757 by clairehurst at 2026-02-05T12:20:55-07:00 fixup! Temporary changes to about:torconnect for Android. This reverts commit aed2663396d9fe060829290ac9e64774131ac1c3. - - - - - cd8bcb6e by clairehurst at 2026-02-05T12:20:55-07:00 fixup! [android] Implement Android-native Connection Assist UI - - - - - 9 changed files: - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.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/preferences.xml - toolkit/components/torconnect/content/aboutTorConnect.css - toolkit/components/torconnect/content/aboutTorConnect.html - toolkit/components/torconnect/content/aboutTorConnect.js Changes: ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt ===================================== @@ -185,7 +185,6 @@ import org.mozilla.fenix.compose.core.Action import org.mozilla.fenix.compose.snackbar.SnackbarState import org.mozilla.fenix.compose.snackbar.Snackbar import org.mozilla.fenix.tor.UrlQuickLoadViewModel -import org.mozilla.geckoview.TorAndroidIntegration import org.mozilla.geckoview.TorAndroidIntegration.BootstrapStateChangeListener import org.mozilla.geckoview.TorConnectStage import kotlin.system.exitProcess @@ -197,7 +196,7 @@ import kotlin.system.exitProcess * - browser screen */ @SuppressWarnings("TooManyFunctions", "LargeClass", "LongMethod") -open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity, TorAndroidIntegration.BootstrapStateChangeListener { +open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity { @VisibleForTesting internal lateinit var binding: ActivityHomeBinding lateinit var themeManager: ThemeManager @@ -611,14 +610,6 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity, TorAn onBackPressedCallback = onBackPressedCallback, ) - if (settings().useHtmlConnectionUi) { - val engine = components.core.engine - if (engine is GeckoEngine) { - val torIntegration = engine.getTorIntegrationController() - torIntegration.registerBootstrapStateChangeListener(this) - } - } - StartupTimeline.onActivityCreateEndHome(this) // DO NOT MOVE ANYTHING BELOW HERE. } @@ -1388,20 +1379,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity, TorAn @VisibleForTesting internal fun navigateToHome(navController: NavController) { - // if (this is ExternalAppBrowserActivity) { - // return - // } - - if (!settings().useHtmlConnectionUi) { - navController.navigate(NavGraphDirections.actionStartupTorConnectionAssist()) - } else { - navController.navigate(NavGraphDirections.actionStartupHome()) - openToBrowserAndLoad( - searchTermOrURL = "about:torconnect", - newTab = true, - from = BrowserDirection.FromHome, - ) - } + navController.navigate(NavGraphDirections.actionStartupTorConnectionAssist()) } final override fun attachBaseContext(base: Context) { @@ -1610,14 +1588,4 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity, TorAn finishAndRemoveTask() exitProcess(0) } - - override fun onBootstrapStageChange(stage: TorConnectStage) { - if (stage.isBootstrapped) { - if (settings().useHtmlConnectionUi) { - components.useCases.tabsUseCases.removeAllTabs() - navHost.navController.navigate(NavGraphDirections.actionStartupHome()) - } - } - } - override fun onBootstrapProgress(progress: Double, hasWarnings: Boolean) = Unit } ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt ===================================== @@ -1954,10 +1954,6 @@ abstract class BaseBrowserFragment : @Suppress("DEPRECATION") it.announceForAccessibility(selectedTab.toDisplayTitle()) - if (getCurrentTab()?.content?.url == "about:torconnect") { - // FIXME: view is not available anymore. - // browserToolbarView.view.visibility = View.GONE - } } } else { view?.let { view -> initializeUI(view) } @@ -1991,26 +1987,6 @@ abstract class BaseBrowserFragment : ), ) } - - handleBetaHtmlTorConnect() - } - - private fun handleBetaHtmlTorConnect() { - val currentTab = getCurrentTab() ?: return - if (currentTab.content.url == "about:torconnect") { - if (!requireActivity().settings().useHtmlConnectionUi) { - requireContext().components.useCases.tabsUseCases.removeTab(currentTab.id) - (requireActivity() as HomeActivity).navigateToHome( - findNavController(), - ) - } else { - // This just makes it not flash (be visible for a split second) before handleTabSelected() hides it again - // FIXME: view is not available anymore. - // browserToolbarView.view.visibility = View.GONE - } - } else if (currentTab.content.url == "about:tor") { - requireContext().components.useCases.tabsUseCases.removeTab(currentTab.id) - } } private fun evaluateMessagesForMicrosurvey(components: Components) = ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt ===================================== @@ -10,7 +10,6 @@ import android.os.Bundle import android.os.Handler import android.os.Looper import android.os.StrictMode -import android.util.Log import android.view.LayoutInflater import android.view.View import android.widget.Toast @@ -31,7 +30,6 @@ import androidx.preference.SwitchPreference import androidx.recyclerview.widget.RecyclerView import com.google.android.material.dialog.MaterialAlertDialogBuilder import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay import kotlinx.coroutines.launch import mozilla.components.browser.state.state.selectedOrDefaultSearchEngine @@ -732,20 +730,6 @@ class SettingsFragment : PreferenceFragmentCompat(), UserInteractionHandler { @VisibleForTesting internal fun setupHomepagePreference(settings: Settings) { - /*with(requirePreference<Preference>(R.string.pref_key_home)) { - summary = when { - settings.alwaysOpenTheHomepageWhenOpeningTheApp -> - getString(R.string.opening_screen_homepage_summary) - - settings.openHomepageAfterFourHoursOfInactivity -> - getString(R.string.opening_screen_after_four_hours_of_inactivity_summary) - - settings.alwaysOpenTheLastTabWhenOpeningTheApp -> - getString(R.string.opening_screen_last_tab_summary) - - else -> null - } - }*/ } @VisibleForTesting @@ -804,11 +788,6 @@ class SettingsFragment : PreferenceFragmentCompat(), UserInteractionHandler { } } - requirePreference<Preference>(R.string.pref_key_use_html_connection_ui).apply { - onPreferenceChangeListener = object : SharedPreferenceUpdater() {} - isVisible = Config.channel != ReleaseChannel.Release - } - requirePreference<Preference>(R.string.pref_key_tor_logs).apply { setOnPreferenceClickListener { val directions = ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt ===================================== @@ -2899,11 +2899,6 @@ class Settings( return sharedPreferences.getBoolean(cleanupPreferenceKey, false) } - var useHtmlConnectionUi by booleanPreference( - key = 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, ===================================== mobile/android/fenix/app/src/main/res/values/preference_keys.xml ===================================== @@ -538,7 +538,6 @@ <string name="pref_key_tor_network_settings_explanation" translatable="false">pref_key_tor_network_settings_explanation</string> <string name="pref_key_tor_network_settings_bridge_config" translatable="false">pref_key_tor_network_settings_bridge_config</string> <string name="pref_key_tor_logs" translatable="false">pref_key_tor_logs</string> - <string name="pref_key_use_html_connection_ui" translatable="false">pref_key_use_html_connection_ui</string> <!-- Changing the pref_key should reset it to off for users that had it enabled --> <string name="pref_key_about_config_shortcut" translatable="false">pref_key_about_config_shortcut</string> <string name="pref_key_tor_network_settings_bridge_config_explanation" translatable="false">pref_key_tor_network_settings_bridge_config_explanation</string> <string name="pref_key_tor_network_settings_bridge_config_toggle" translatable="false">pref_key_tor_network_settings_bridge_config_toggle</string> ===================================== mobile/android/fenix/app/src/main/res/xml/preferences.xml ===================================== @@ -181,13 +181,6 @@ android:title="@string/tor_connect_automatically_label" app:iconSpaceReserved="false" /> - <SwitchPreference - android:defaultValue="false" - android:key="@string/pref_key_use_html_connection_ui" - android:summary="Recommended only for debugging" - android:title="Enable HTML connection UI" - app:iconSpaceReserved="false" /> - <Preference android:key="@string/pref_key_tor_logs" app:iconSpaceReserved="false" ===================================== toolkit/components/torconnect/content/aboutTorConnect.css ===================================== @@ -4,11 +4,6 @@ @import url("chrome://global/skin/tor-colors.css"); @import url("chrome://global/skin/onion-pattern.css"); -html { - width: 100%; - height: 100%; -} - body:not(.loaded) { /* Keep blank whilst loading. */ display: none; @@ -275,147 +270,3 @@ body.aboutTorConnect .title.location { background-image: url("chrome://global/content/torconnect/connection-location.svg"); stroke: var(--icon-color-warning); } - -/* Android-specific CSS, to be removed when we use only the native UI. */ -:root { - --android-dark-accents-buttons: #9059ff; - --android-dark-background-secondary: #e1e0e7; - --android-dark-text-primary: #fbfbfe; - --android-light-text-primary: #15141a; -} - -[hidden="true"] { - display: none !important; -} - -body.android { - width: 100%; - height: 100%; - box-sizing: border-box; - margin: 0; - padding: 0 24px !important; - color: var(--android-dark-text-primary); - background: linear-gradient(194deg, #692e9d -0.93%, #393270 48.91%); - font: menu; - font-size: var(--font-size-small); - display: flex; -} - -.android #connectPageContainer { - max-width: none; - display: flex; - flex-direction: column; - flex: 1; -} - -.android #breadcrumbs { - display: none; -} - -.android #text-container { - display: flex; - flex-direction: column; - flex: 1; -} - -.android .title { - background-position: left 0; - background-repeat: no-repeat; - background-size: 40px; - padding-top: 64px; - font-size: var(--font-size-xlarge); - line-height: 28px; -} - -.android h1 { - font-weight: var(--font-weight); - font-size: inherit; - margin: 0 0 16px 0; -} - -.android p { - margin: 0; - padding-bottom: 8px; - line-height: 20px; -} - -.android #quickstartContainer { - margin-top: 24px; -} - -.android .button-container { - display: flex; - flex: 1; - flex-direction: column; -} - -.android #locationDropdown { - width: 100%; - max-width: none; - margin: 0; -} - -.android select { - background: transparent; - border: none; - /* stylelint-disable-next-line stylelint-plugin-mozilla/use-border-color-tokens */ - border-bottom: 1px solid var(--android-dark-text-primary); - color: var(--android-dark-text-primary); - display: block; - width: 100%; - margin-top: 10px; - padding: 8px; -} - -.android #buttonPadding { - flex: 1; -} - -body:not(.android) #connectButtonContainer { - /* Use the .button-container context */ - display: contents; -} - -.android #connectButtonContainer { - width: 100%; - padding-bottom: 18px; - display: grid; -} - -/* Be sure not to match the togglee */ -.android #connectButtonContainer button { - display: block; - width: 100%; - margin: 4px 0; - padding: 11px 30px; - font-size: var(--font-size-small); - font-weight: var(--font-weight); - border: none; - border-radius: var(--border-radius-small); -} - -.android #connectButton, -.android #tryBridgeButton, -.android #configureButton.primary { - color: var(--android-dark-text-primary); - background-color: var(--android-dark-accents-buttons); -} - -.android #configureButton { - order: 1; -} - -.android #restartButton { - order: 2; -} - -.android #restartButton, -.android #cancelButton, -.android #configureButton { - color: var(--android-light-text-primary); - background-color: var(--android-dark-background-secondary); -} - -.android .onion-pattern-container { - display: none; -} ===================================== toolkit/components/torconnect/content/aboutTorConnect.html ===================================== @@ -6,7 +6,6 @@ http-equiv="Content-Security-Policy" content="default-src chrome:; object-src 'none'" /> - <meta name="viewport" content="width=device-width" /> <link rel="stylesheet" href="chrome://global/content/torconnect/aboutTorConnect.css" @@ -65,7 +64,11 @@ <moz-toggle id="quickstartToggle"></moz-toggle> </div> - <div class="button-container"> + <div id="connectButtonContainer" class="button-container"> + <button id="restartButton" hidden="true"></button> + <button id="configureButton" hidden="true"></button> + <button id="cancelButton" hidden="true"></button> + <button id="connectButton" hidden="true" class="tor-button"></button> <label id="locationDropdownLabel" for="countries"></label> <form id="locationDropdown" hidden="true"> <select id="regions-select"> @@ -74,22 +77,11 @@ <optgroup id="full-regions-option-group"></optgroup> </select> </form> - <span id="buttonPadding"></span> - <span id="connectButtonContainer"> - <button id="restartButton" hidden="true"></button> - <button id="configureButton" hidden="true"></button> - <button id="cancelButton" hidden="true"></button> - <button - id="connectButton" - hidden="true" - class="tor-button" - ></button> - <button - id="tryBridgeButton" - hidden="true" - class="tor-button" - ></button> - </span> + <button + id="tryBridgeButton" + hidden="true" + class="tor-button" + ></button> </div> </div> </div> ===================================== toolkit/components/torconnect/content/aboutTorConnect.js ===================================== @@ -66,7 +66,7 @@ class AboutTorConnect { connect: "button#connectButton", tryBridge: "button#tryBridgeButton", locationDropdownLabel: "#locationDropdownLabel", - locationDropdown: "#locationDropdown", + locationDropdown: "form#locationDropdown", locationDropdownSelect: "#regions-select", }, }); @@ -757,9 +757,6 @@ class AboutTorConnect { } initElements(direction) { - const isAndroid = navigator.userAgent.includes("Android"); - document.body.classList.toggle("android", isAndroid); - document.documentElement.setAttribute("dir", direction); this.elements.connectToTorLink.addEventListener("click", () => { View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/e2e816… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/e2e816… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-147.0a1-16.0-2] 2 commits: Bug 2013390: Test file extension before testing zip and tarfiles.r=ahal
by brizental (@brizental) 05 Feb '26

05 Feb '26
brizental pushed to branch tor-browser-147.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: bd2b83d9 by Beatriz Rizental at 2026-02-05T19:38:10+01:00 Bug 2013390: Test file extension before testing zip and tarfiles.r=ahal The tarfile check specifically has been returning false positives on DMG files. Differential Revision: https://phabricator.services.mozilla.com/D281070 - - - - - e2e81683 by Beatriz Rizental at 2026-02-05T19:38:10+01:00 Bug 2013358: Drop Python <3.13 requirement from manifestparser.r=ahal Differential Revision: https://phabricator.services.mozilla.com/D281036 - - - - - 2 changed files: - testing/mozbase/manifestparser/setup.py - testing/mozbase/mozinstall/mozinstall/mozinstall.py Changes: ===================================== testing/mozbase/manifestparser/setup.py ===================================== @@ -25,6 +25,7 @@ setup( "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ], # Get strings from http://pypi.python.org/pypi?%3Aaction=list_classifiers keywords="mozilla manifests", @@ -39,5 +40,5 @@ setup( [console_scripts] manifestparser = manifestparser.cli:main """, - python_requires=">=3.8, <3.13", + python_requires=">=3.8", ) ===================================== testing/mozbase/mozinstall/mozinstall/mozinstall.py ===================================== @@ -121,12 +121,12 @@ def install(src, dest): if src.lower().endswith(".msix"): # MSIX packages _are_ ZIP files, so we need to look for them first. install_dir = _install_msix(src) - elif zipfile.is_zipfile(src) or tarfile.is_tarfile(src): - install_dir = mozfile.extract(src, dest)[0] elif src.lower().endswith(".dmg"): install_dir = _install_dmg(src, dest) elif src.lower().endswith(".exe"): install_dir = _install_exe(src, dest) + elif zipfile.is_zipfile(src) or tarfile.is_tarfile(src): + install_dir = mozfile.extract(src, dest)[0] else: raise InvalidSource(f"{src} is not a valid installer file") View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/ffe41b… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/ffe41b… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-147.0a1-16.0-2] fixup! BB 42683: Create script to generate issue triage csv file from bugzilla query and git logs
by Pier Angelo Vendrame (@pierov) 05 Feb '26

05 Feb '26
Pier Angelo Vendrame pushed to branch base-browser-147.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: f54e79d0 by Pier Angelo Vendrame at 2026-02-05T19:14:32+01:00 fixup! BB 42683: Create script to generate issue triage csv file from bugzilla query and git logs Delete the script that has been moved to tor-browser-build:tools/browser. - - - - - 1 changed file: - − tools/torbrowser/generate-bugzilla-triage-csv.sh Changes: ===================================== tools/torbrowser/generate-bugzilla-triage-csv.sh deleted ===================================== @@ -1,239 +0,0 @@ -#!/usr/bin/env bash - -# prints to stderr -function echoerr() { echo "$@" 1>&2; } - -# help dialog -if [ "$#" -lt 5 ]; then - echoerr "Usage: $0 ff-version begin-commit end-commit gitlab-audit-issue reviewers..." - echoerr "" - echoerr "Writes a CSV to stdout of Bugzilla issues to triage for a particular Firefox version. This" - echoerr "script performs a union of the labeled Bugzilla issues in Mozilla's issue tracker and the" - echoerr "labeled commits in the provided commit range" - echoerr - echoerr " ff-version rapid-release Firefox version to audit" - echoerr " begin-commit starting gecko-dev commit of this Firefox version" - echoerr " end-commit ending gecko-dev commit of this Firefox version" - echoerr " gitlab-audit-issue tor-browser-spec Gitlab issue number for this audit" - echoerr " reviewers... space-separated list of reviewers responsible for this audit" - echoerr "" - echoerr "Example:" - echoerr "" - echoerr "$0 116 FIREFOX_ESR_115_BASE FIREFOX_116_0_3_RELEASE 40064 richard pierov henry" - exit 1 -fi - -# set -x -set -e - - -# Ensure various required tools are available -function check_exists() { - local cmd=$1 - if ! which ${cmd} > /dev/null ; then - echoerr "missing ${cmd} dependency" - exit 1 - fi -} - -check_exists git -check_exists jq -check_exists mktemp -check_exists perl -check_exists printf -check_exists sed -check_exists sort -check_exists touch -check_exists uniq -check_exists wget - -# Assign arguments to named variables -firefox_version=$1 -git_begin=$2 -git_end=$3 -audit_issue=$4 -reviewers="${@:5}" - -# Check valid Firefox version -if ! [[ "${firefox_version}" =~ ^[1-9][0-9]{2}$ ]]; then - echoerr "invalid Firefox version (probably)" - exit 1 -fi - -# Check valid Gitlab issue number -if ! [[ "${audit_issue}" =~ ^[1-9][0-9]{4}$ ]]; then - echoerr "invalid gitlab audit issue number (probably)" - exit 1 -fi - -# -# Encoding/Decoding Functions -# - -# escape " and \ -function json_escape() { - local input="$1" - echo "${input}" | sed 's/["\]/\\"/g' -} - - -# un-escape \" -function jq_unescape() { - local input="$1" - echo "${input}" | sed 's/\\"/"/g' -} - -# change quotes to double-quotes -function csv_escape() { - local input="$1" - echo "${input}" | sed 's/"/""/g' -} - -# we need to urlencode the strings used in the new issue link -function url_encode() { - local input="$1" - echo "${input}" | perl -MURI::Escape -wlne 'print uri_escape $_' -} - - -# -# Create temp json files -# -git_json=$(mktemp -t git-audit-${firefox_version}-XXXXXXXXXXX.json) -bugzilla_json=$(mktemp -t bugzilla-audit-${firefox_version}-XXXXXXXXXXX.json) -union_json=$(mktemp -t union-audit-${firefox_version}-XXXXXXXXXXX.json) -touch "${git_json}" -touch "${bugzilla_json}" -touch "${union_json}" - -function json_cleanup { - rm -f "${git_json}" - rm -f "${bugzilla_json}" - rm -f "${union_json}" -} -trap json_cleanup EXIT - -# -# Generate Git Commit Triage List -# - -# Try and extract bug id and summary from git log -# Mozilla's commits are not always 100% consistently named, so this -# regex is a bit flexible to handle various inputs such as: -# "Bug 1234 -", "Bug 1234:", "Bug Bug 1234 -", "[Bug 1234] -", " bug 1234 -". -sed_extract_id_summary="s/^[[ ]*[bug –-]+ ([1-9][0-9]*)[]:\., –-]*(.*)\$/\\1 \\2/pI" - -# Generate a json array of objects in the same format as bugzilla: {id: number, summary: string} -printf "[\n" >> "${git_json}" - -first_object=true -git log --format='%s' $git_begin..$git_end \ -| sed -En "${sed_extract_id_summary}" \ -| sort -h \ -| uniq \ -| while IFS= read -r line; do - read -r id summary <<< "${line}" - summary=$(json_escape "${summary}") - - # json does not allow trailing commas - if [[ "${first_object}" = true ]]; then - first_object=false - else - printf ",\n" >> "${git_json}" - fi - - printf " { \"id\": %s, \"summary\": \"%s\" }" ${id} "${summary}" >> "${git_json}" -done -printf "\n]\n" >> "${git_json}" - -# -# Download Bugzilla Triage List -# - -# search for: -# + Product is NOT "Thunderbird,Calander,Chat Core,MailNews Core" (&f1=product&n1=1&o1=anyexact&v1=Thunderbird%2CCalendar%2CChat%20Core%2CMailNews%20Core). AND -# + Target Milestone contains "${firefox_version}" (115 Branch or Firefox 115) (&f2=target_milestone&o2=substring&v2=${firefox_version}). -# "&limit=0" shows all matching bugs. - -query_tail="&f1=product&n1=1&o1=anyexact&v1=Thunderbird%2CCalendar%2CChat%20Core%2CMailNews%20Core&f2=target_milestone&o2=substring&v2=${firefox_version}&limit=0" - -bugzilla_query="https://bugzilla.mozilla.org/buglist.cgi?${query_tail}" -bugzilla_json_query="https://bugzilla.mozilla.org/rest/bug?include_fields=id,component,summary${…" - -wget "${bugzilla_json_query}" -O ${bugzilla_json} - - -# -# Create Union of these two sets of issues -# - -# bugzilla array is actually on a root object: { bugs: [...] } -jq -s '[ (.[0].bugs)[], (.[1])[] ] | group_by(.id) | map(.[0])' "${bugzilla_json}" "${git_json}" > "${union_json}" - -# -# Generate Triage CSV -# - -echo "\"Review\",,\"Bugzilla Component\",\"Bugzilla Bug\"" - -jq '. | sort_by([.component, .id])[] | "\(.id)|\(.component)|\(.summary)"' ${union_json} \ -| while IFS='|' read -r id component summary; do - - # bugzilla info - id="${id:1}" - component="${component:0}" - summary="${summary:0:-1}" - summary=$(jq_unescape "${summary}") - # short summary for gitlab issue title - [[ ${#summary} -gt 80 ]] && summary_short="${summary:0:77}..." || summary_short="${summary}" - - # filter out some issue types that we never care about - skip_issue=false - - # skip `[wpt-sync] Sync PR` - if [[ "${summary}" =~ ^\[wpt-sync\]\ Sync\ PR.*$ ]]; then - skip_issue=true - # skip `Crash in [@` and variants - elif [[ "${summary}" =~ ^Crash[esin\ ]*\ \[\@.*$ ]]; then - skip_issue=true - # skip `Assertion failuire: ` - elif [[ "${summary}" =~ ^Assertion\ failure:\ .*$ ]]; then - skip_issue=true - # skip `Hit MOZ_CRASH` - elif [[ "${summary}" =~ ^Hit\ MOZ_CRASH.*$ ]]; then - skip_issue=true - fi - - if [[ "${skip_issue}" = true ]]; then - echoerr "Skipped Bugzilla ${id}: ${summary_short}" - else - csv_summary=$(csv_escape "${summary}") - csv_component=$(csv_escape "${component}") - - # parent issue - bugzilla_url="https://bugzilla.mozilla.org/show_bug.cgi?id=${id}" - # review issue title - new_issue_title=$(url_encode "Review Mozilla ${id}: ${summary_short}") - # review issue description + labeling (14.0 stable, FF128-esr, Next) - new_issue_description=$(url_encode "### Bugzilla: ${bugzilla_url}")%0A$(url_encode "/label ~\"14.0 stable\" ~FF128-esr ~Next")%0A$(url_encode "/relate tpo/applications/tor-browser-spec#${audit_issue}")%0A%0A$(url_encode "<!-- briefly describe why this issue needs further review -->")%0A - # url which create's new issue with title and description pre-populated - new_issue_url="https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/new?iss…" - - # this link will start the creation of a new gitlab issue to review - create_issue=$(csv_escape "=HYPERLINK(\"${new_issue_url}\", \"New Issue\")") - bugzilla_link=$(csv_escape "=HYPERLINK(\"${bugzilla_url}\", \"Bugzilla ${id}: ${csv_summary}\")") - - echo "FALSE,\"${create_issue}\",\"${csv_component}\",\"${bugzilla_link}\"," - fi -done - -echo -echo "\"Triaged by:\"" -for reviewer in $reviewers; do - reviewer=$(csv_escape "${reviewer}") - echo "\"FALSE\",\"${reviewer}\"" -done -echo - -bugzilla_query="=HYPERLINK(\"${bugzilla_query}\", \"Bugzilla query\")" -echo \"$(csv_escape "${bugzilla_query}")\" View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/f54e79d… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/f54e79d… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-147.0a1-16.0-2] fixup! BB 42683: Create script to generate issue triage csv file from bugzilla query and git logs
by Pier Angelo Vendrame (@pierov) 05 Feb '26

05 Feb '26
Pier Angelo Vendrame pushed to branch mullvad-browser-147.0a1-16.0-2 at The Tor Project / Applications / Mullvad Browser Commits: 6e6f9b68 by Pier Angelo Vendrame at 2026-02-05T19:13:47+01:00 fixup! BB 42683: Create script to generate issue triage csv file from bugzilla query and git logs Delete the script that has been moved to tor-browser-build:tools/browser. - - - - - 1 changed file: - − tools/torbrowser/generate-bugzilla-triage-csv.sh Changes: ===================================== tools/torbrowser/generate-bugzilla-triage-csv.sh deleted ===================================== @@ -1,239 +0,0 @@ -#!/usr/bin/env bash - -# prints to stderr -function echoerr() { echo "$@" 1>&2; } - -# help dialog -if [ "$#" -lt 5 ]; then - echoerr "Usage: $0 ff-version begin-commit end-commit gitlab-audit-issue reviewers..." - echoerr "" - echoerr "Writes a CSV to stdout of Bugzilla issues to triage for a particular Firefox version. This" - echoerr "script performs a union of the labeled Bugzilla issues in Mozilla's issue tracker and the" - echoerr "labeled commits in the provided commit range" - echoerr - echoerr " ff-version rapid-release Firefox version to audit" - echoerr " begin-commit starting gecko-dev commit of this Firefox version" - echoerr " end-commit ending gecko-dev commit of this Firefox version" - echoerr " gitlab-audit-issue tor-browser-spec Gitlab issue number for this audit" - echoerr " reviewers... space-separated list of reviewers responsible for this audit" - echoerr "" - echoerr "Example:" - echoerr "" - echoerr "$0 116 FIREFOX_ESR_115_BASE FIREFOX_116_0_3_RELEASE 40064 richard pierov henry" - exit 1 -fi - -# set -x -set -e - - -# Ensure various required tools are available -function check_exists() { - local cmd=$1 - if ! which ${cmd} > /dev/null ; then - echoerr "missing ${cmd} dependency" - exit 1 - fi -} - -check_exists git -check_exists jq -check_exists mktemp -check_exists perl -check_exists printf -check_exists sed -check_exists sort -check_exists touch -check_exists uniq -check_exists wget - -# Assign arguments to named variables -firefox_version=$1 -git_begin=$2 -git_end=$3 -audit_issue=$4 -reviewers="${@:5}" - -# Check valid Firefox version -if ! [[ "${firefox_version}" =~ ^[1-9][0-9]{2}$ ]]; then - echoerr "invalid Firefox version (probably)" - exit 1 -fi - -# Check valid Gitlab issue number -if ! [[ "${audit_issue}" =~ ^[1-9][0-9]{4}$ ]]; then - echoerr "invalid gitlab audit issue number (probably)" - exit 1 -fi - -# -# Encoding/Decoding Functions -# - -# escape " and \ -function json_escape() { - local input="$1" - echo "${input}" | sed 's/["\]/\\"/g' -} - - -# un-escape \" -function jq_unescape() { - local input="$1" - echo "${input}" | sed 's/\\"/"/g' -} - -# change quotes to double-quotes -function csv_escape() { - local input="$1" - echo "${input}" | sed 's/"/""/g' -} - -# we need to urlencode the strings used in the new issue link -function url_encode() { - local input="$1" - echo "${input}" | perl -MURI::Escape -wlne 'print uri_escape $_' -} - - -# -# Create temp json files -# -git_json=$(mktemp -t git-audit-${firefox_version}-XXXXXXXXXXX.json) -bugzilla_json=$(mktemp -t bugzilla-audit-${firefox_version}-XXXXXXXXXXX.json) -union_json=$(mktemp -t union-audit-${firefox_version}-XXXXXXXXXXX.json) -touch "${git_json}" -touch "${bugzilla_json}" -touch "${union_json}" - -function json_cleanup { - rm -f "${git_json}" - rm -f "${bugzilla_json}" - rm -f "${union_json}" -} -trap json_cleanup EXIT - -# -# Generate Git Commit Triage List -# - -# Try and extract bug id and summary from git log -# Mozilla's commits are not always 100% consistently named, so this -# regex is a bit flexible to handle various inputs such as: -# "Bug 1234 -", "Bug 1234:", "Bug Bug 1234 -", "[Bug 1234] -", " bug 1234 -". -sed_extract_id_summary="s/^[[ ]*[bug –-]+ ([1-9][0-9]*)[]:\., –-]*(.*)\$/\\1 \\2/pI" - -# Generate a json array of objects in the same format as bugzilla: {id: number, summary: string} -printf "[\n" >> "${git_json}" - -first_object=true -git log --format='%s' $git_begin..$git_end \ -| sed -En "${sed_extract_id_summary}" \ -| sort -h \ -| uniq \ -| while IFS= read -r line; do - read -r id summary <<< "${line}" - summary=$(json_escape "${summary}") - - # json does not allow trailing commas - if [[ "${first_object}" = true ]]; then - first_object=false - else - printf ",\n" >> "${git_json}" - fi - - printf " { \"id\": %s, \"summary\": \"%s\" }" ${id} "${summary}" >> "${git_json}" -done -printf "\n]\n" >> "${git_json}" - -# -# Download Bugzilla Triage List -# - -# search for: -# + Product is NOT "Thunderbird,Calander,Chat Core,MailNews Core" (&f1=product&n1=1&o1=anyexact&v1=Thunderbird%2CCalendar%2CChat%20Core%2CMailNews%20Core). AND -# + Target Milestone contains "${firefox_version}" (115 Branch or Firefox 115) (&f2=target_milestone&o2=substring&v2=${firefox_version}). -# "&limit=0" shows all matching bugs. - -query_tail="&f1=product&n1=1&o1=anyexact&v1=Thunderbird%2CCalendar%2CChat%20Core%2CMailNews%20Core&f2=target_milestone&o2=substring&v2=${firefox_version}&limit=0" - -bugzilla_query="https://bugzilla.mozilla.org/buglist.cgi?${query_tail}" -bugzilla_json_query="https://bugzilla.mozilla.org/rest/bug?include_fields=id,component,summary${…" - -wget "${bugzilla_json_query}" -O ${bugzilla_json} - - -# -# Create Union of these two sets of issues -# - -# bugzilla array is actually on a root object: { bugs: [...] } -jq -s '[ (.[0].bugs)[], (.[1])[] ] | group_by(.id) | map(.[0])' "${bugzilla_json}" "${git_json}" > "${union_json}" - -# -# Generate Triage CSV -# - -echo "\"Review\",,\"Bugzilla Component\",\"Bugzilla Bug\"" - -jq '. | sort_by([.component, .id])[] | "\(.id)|\(.component)|\(.summary)"' ${union_json} \ -| while IFS='|' read -r id component summary; do - - # bugzilla info - id="${id:1}" - component="${component:0}" - summary="${summary:0:-1}" - summary=$(jq_unescape "${summary}") - # short summary for gitlab issue title - [[ ${#summary} -gt 80 ]] && summary_short="${summary:0:77}..." || summary_short="${summary}" - - # filter out some issue types that we never care about - skip_issue=false - - # skip `[wpt-sync] Sync PR` - if [[ "${summary}" =~ ^\[wpt-sync\]\ Sync\ PR.*$ ]]; then - skip_issue=true - # skip `Crash in [@` and variants - elif [[ "${summary}" =~ ^Crash[esin\ ]*\ \[\@.*$ ]]; then - skip_issue=true - # skip `Assertion failuire: ` - elif [[ "${summary}" =~ ^Assertion\ failure:\ .*$ ]]; then - skip_issue=true - # skip `Hit MOZ_CRASH` - elif [[ "${summary}" =~ ^Hit\ MOZ_CRASH.*$ ]]; then - skip_issue=true - fi - - if [[ "${skip_issue}" = true ]]; then - echoerr "Skipped Bugzilla ${id}: ${summary_short}" - else - csv_summary=$(csv_escape "${summary}") - csv_component=$(csv_escape "${component}") - - # parent issue - bugzilla_url="https://bugzilla.mozilla.org/show_bug.cgi?id=${id}" - # review issue title - new_issue_title=$(url_encode "Review Mozilla ${id}: ${summary_short}") - # review issue description + labeling (14.0 stable, FF128-esr, Next) - new_issue_description=$(url_encode "### Bugzilla: ${bugzilla_url}")%0A$(url_encode "/label ~\"14.0 stable\" ~FF128-esr ~Next")%0A$(url_encode "/relate tpo/applications/tor-browser-spec#${audit_issue}")%0A%0A$(url_encode "<!-- briefly describe why this issue needs further review -->")%0A - # url which create's new issue with title and description pre-populated - new_issue_url="https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/new?iss…" - - # this link will start the creation of a new gitlab issue to review - create_issue=$(csv_escape "=HYPERLINK(\"${new_issue_url}\", \"New Issue\")") - bugzilla_link=$(csv_escape "=HYPERLINK(\"${bugzilla_url}\", \"Bugzilla ${id}: ${csv_summary}\")") - - echo "FALSE,\"${create_issue}\",\"${csv_component}\",\"${bugzilla_link}\"," - fi -done - -echo -echo "\"Triaged by:\"" -for reviewer in $reviewers; do - reviewer=$(csv_escape "${reviewer}") - echo "\"FALSE\",\"${reviewer}\"" -done -echo - -bugzilla_query="=HYPERLINK(\"${bugzilla_query}\", \"Bugzilla query\")" -echo \"$(csv_escape "${bugzilla_query}")\" View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/6e6… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/6e6… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-147.0a1-16.0-2] fixup! BB 42683: Create script to generate issue triage csv file from bugzilla query and git logs
by Pier Angelo Vendrame (@pierov) 05 Feb '26

05 Feb '26
Pier Angelo Vendrame pushed to branch tor-browser-147.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: ffe41bf4 by Pier Angelo Vendrame at 2026-02-05T19:11:01+01:00 fixup! BB 42683: Create script to generate issue triage csv file from bugzilla query and git logs Delete the script that has been moved to tor-browser-build:tools/browser. - - - - - 1 changed file: - − tools/torbrowser/generate-bugzilla-triage-csv.sh Changes: ===================================== tools/torbrowser/generate-bugzilla-triage-csv.sh deleted ===================================== @@ -1,239 +0,0 @@ -#!/usr/bin/env bash - -# prints to stderr -function echoerr() { echo "$@" 1>&2; } - -# help dialog -if [ "$#" -lt 5 ]; then - echoerr "Usage: $0 ff-version begin-commit end-commit gitlab-audit-issue reviewers..." - echoerr "" - echoerr "Writes a CSV to stdout of Bugzilla issues to triage for a particular Firefox version. This" - echoerr "script performs a union of the labeled Bugzilla issues in Mozilla's issue tracker and the" - echoerr "labeled commits in the provided commit range" - echoerr - echoerr " ff-version rapid-release Firefox version to audit" - echoerr " begin-commit starting gecko-dev commit of this Firefox version" - echoerr " end-commit ending gecko-dev commit of this Firefox version" - echoerr " gitlab-audit-issue tor-browser-spec Gitlab issue number for this audit" - echoerr " reviewers... space-separated list of reviewers responsible for this audit" - echoerr "" - echoerr "Example:" - echoerr "" - echoerr "$0 116 FIREFOX_ESR_115_BASE FIREFOX_116_0_3_RELEASE 40064 richard pierov henry" - exit 1 -fi - -# set -x -set -e - - -# Ensure various required tools are available -function check_exists() { - local cmd=$1 - if ! which ${cmd} > /dev/null ; then - echoerr "missing ${cmd} dependency" - exit 1 - fi -} - -check_exists git -check_exists jq -check_exists mktemp -check_exists perl -check_exists printf -check_exists sed -check_exists sort -check_exists touch -check_exists uniq -check_exists wget - -# Assign arguments to named variables -firefox_version=$1 -git_begin=$2 -git_end=$3 -audit_issue=$4 -reviewers="${@:5}" - -# Check valid Firefox version -if ! [[ "${firefox_version}" =~ ^[1-9][0-9]{2}$ ]]; then - echoerr "invalid Firefox version (probably)" - exit 1 -fi - -# Check valid Gitlab issue number -if ! [[ "${audit_issue}" =~ ^[1-9][0-9]{4}$ ]]; then - echoerr "invalid gitlab audit issue number (probably)" - exit 1 -fi - -# -# Encoding/Decoding Functions -# - -# escape " and \ -function json_escape() { - local input="$1" - echo "${input}" | sed 's/["\]/\\"/g' -} - - -# un-escape \" -function jq_unescape() { - local input="$1" - echo "${input}" | sed 's/\\"/"/g' -} - -# change quotes to double-quotes -function csv_escape() { - local input="$1" - echo "${input}" | sed 's/"/""/g' -} - -# we need to urlencode the strings used in the new issue link -function url_encode() { - local input="$1" - echo "${input}" | perl -MURI::Escape -wlne 'print uri_escape $_' -} - - -# -# Create temp json files -# -git_json=$(mktemp -t git-audit-${firefox_version}-XXXXXXXXXXX.json) -bugzilla_json=$(mktemp -t bugzilla-audit-${firefox_version}-XXXXXXXXXXX.json) -union_json=$(mktemp -t union-audit-${firefox_version}-XXXXXXXXXXX.json) -touch "${git_json}" -touch "${bugzilla_json}" -touch "${union_json}" - -function json_cleanup { - rm -f "${git_json}" - rm -f "${bugzilla_json}" - rm -f "${union_json}" -} -trap json_cleanup EXIT - -# -# Generate Git Commit Triage List -# - -# Try and extract bug id and summary from git log -# Mozilla's commits are not always 100% consistently named, so this -# regex is a bit flexible to handle various inputs such as: -# "Bug 1234 -", "Bug 1234:", "Bug Bug 1234 -", "[Bug 1234] -", " bug 1234 -". -sed_extract_id_summary="s/^[[ ]*[bug –-]+ ([1-9][0-9]*)[]:\., –-]*(.*)\$/\\1 \\2/pI" - -# Generate a json array of objects in the same format as bugzilla: {id: number, summary: string} -printf "[\n" >> "${git_json}" - -first_object=true -git log --format='%s' $git_begin..$git_end \ -| sed -En "${sed_extract_id_summary}" \ -| sort -h \ -| uniq \ -| while IFS= read -r line; do - read -r id summary <<< "${line}" - summary=$(json_escape "${summary}") - - # json does not allow trailing commas - if [[ "${first_object}" = true ]]; then - first_object=false - else - printf ",\n" >> "${git_json}" - fi - - printf " { \"id\": %s, \"summary\": \"%s\" }" ${id} "${summary}" >> "${git_json}" -done -printf "\n]\n" >> "${git_json}" - -# -# Download Bugzilla Triage List -# - -# search for: -# + Product is NOT "Thunderbird,Calander,Chat Core,MailNews Core" (&f1=product&n1=1&o1=anyexact&v1=Thunderbird%2CCalendar%2CChat%20Core%2CMailNews%20Core). AND -# + Target Milestone contains "${firefox_version}" (115 Branch or Firefox 115) (&f2=target_milestone&o2=substring&v2=${firefox_version}). -# "&limit=0" shows all matching bugs. - -query_tail="&f1=product&n1=1&o1=anyexact&v1=Thunderbird%2CCalendar%2CChat%20Core%2CMailNews%20Core&f2=target_milestone&o2=substring&v2=${firefox_version}&limit=0" - -bugzilla_query="https://bugzilla.mozilla.org/buglist.cgi?${query_tail}" -bugzilla_json_query="https://bugzilla.mozilla.org/rest/bug?include_fields=id,component,summary${…" - -wget "${bugzilla_json_query}" -O ${bugzilla_json} - - -# -# Create Union of these two sets of issues -# - -# bugzilla array is actually on a root object: { bugs: [...] } -jq -s '[ (.[0].bugs)[], (.[1])[] ] | group_by(.id) | map(.[0])' "${bugzilla_json}" "${git_json}" > "${union_json}" - -# -# Generate Triage CSV -# - -echo "\"Review\",,\"Bugzilla Component\",\"Bugzilla Bug\"" - -jq '. | sort_by([.component, .id])[] | "\(.id)|\(.component)|\(.summary)"' ${union_json} \ -| while IFS='|' read -r id component summary; do - - # bugzilla info - id="${id:1}" - component="${component:0}" - summary="${summary:0:-1}" - summary=$(jq_unescape "${summary}") - # short summary for gitlab issue title - [[ ${#summary} -gt 80 ]] && summary_short="${summary:0:77}..." || summary_short="${summary}" - - # filter out some issue types that we never care about - skip_issue=false - - # skip `[wpt-sync] Sync PR` - if [[ "${summary}" =~ ^\[wpt-sync\]\ Sync\ PR.*$ ]]; then - skip_issue=true - # skip `Crash in [@` and variants - elif [[ "${summary}" =~ ^Crash[esin\ ]*\ \[\@.*$ ]]; then - skip_issue=true - # skip `Assertion failuire: ` - elif [[ "${summary}" =~ ^Assertion\ failure:\ .*$ ]]; then - skip_issue=true - # skip `Hit MOZ_CRASH` - elif [[ "${summary}" =~ ^Hit\ MOZ_CRASH.*$ ]]; then - skip_issue=true - fi - - if [[ "${skip_issue}" = true ]]; then - echoerr "Skipped Bugzilla ${id}: ${summary_short}" - else - csv_summary=$(csv_escape "${summary}") - csv_component=$(csv_escape "${component}") - - # parent issue - bugzilla_url="https://bugzilla.mozilla.org/show_bug.cgi?id=${id}" - # review issue title - new_issue_title=$(url_encode "Review Mozilla ${id}: ${summary_short}") - # review issue description + labeling (14.0 stable, FF128-esr, Next) - new_issue_description=$(url_encode "### Bugzilla: ${bugzilla_url}")%0A$(url_encode "/label ~\"14.0 stable\" ~FF128-esr ~Next")%0A$(url_encode "/relate tpo/applications/tor-browser-spec#${audit_issue}")%0A%0A$(url_encode "<!-- briefly describe why this issue needs further review -->")%0A - # url which create's new issue with title and description pre-populated - new_issue_url="https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/new?iss…" - - # this link will start the creation of a new gitlab issue to review - create_issue=$(csv_escape "=HYPERLINK(\"${new_issue_url}\", \"New Issue\")") - bugzilla_link=$(csv_escape "=HYPERLINK(\"${bugzilla_url}\", \"Bugzilla ${id}: ${csv_summary}\")") - - echo "FALSE,\"${create_issue}\",\"${csv_component}\",\"${bugzilla_link}\"," - fi -done - -echo -echo "\"Triaged by:\"" -for reviewer in $reviewers; do - reviewer=$(csv_escape "${reviewer}") - echo "\"FALSE\",\"${reviewer}\"" -done -echo - -bugzilla_query="=HYPERLINK(\"${bugzilla_query}\", \"Bugzilla query\")" -echo \"$(csv_escape "${bugzilla_query}")\" View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ffe41bf… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ffe41bf… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-147.0a1-16.0-2] fixup! MB 1: Mullvad Browser branding
by Pier Angelo Vendrame (@pierov) 05 Feb '26

05 Feb '26
Pier Angelo Vendrame pushed to branch mullvad-browser-147.0a1-16.0-2 at The Tor Project / Applications / Mullvad Browser Commits: a6a3a657 by Pier Angelo Vendrame at 2026-02-03T12:03:21+01:00 fixup! MB 1: Mullvad Browser branding BB 44050: Use net.mullvad rather than org.mozilla for D-bus. - - - - - 2 changed files: - toolkit/components/remote/nsDBusRemoteClient.cpp - toolkit/components/remote/nsDBusRemoteServer.cpp Changes: ===================================== toolkit/components/remote/nsDBusRemoteClient.cpp ===================================== @@ -77,7 +77,7 @@ bool nsDBusRemoteClient::GetRemoteDestinationName(const char* aProgram, mozilla::XREAppData::SanitizeNameForDBus(profileName); aDestinationName = - nsPrintfCString("org.mozilla.%s.%s", aProgram, profileName.get()); + nsPrintfCString("net.mullvad.%s.%s", aProgram, profileName.get()); if (aDestinationName.Length() > DBUS_MAXIMUM_NAME_LENGTH) aDestinationName.Truncate(DBUS_MAXIMUM_NAME_LENGTH); @@ -91,7 +91,7 @@ bool nsDBusRemoteClient::GetRemoteDestinationName(const char* aProgram, if (!sDBusValidateBusName(aDestinationName.get(), nullptr)) { // We don't have a valid busName yet - try to create a default one. aDestinationName = - nsPrintfCString("org.mozilla.%s.%s", aProgram, "default"); + nsPrintfCString("net.mullvad.%s.%s", aProgram, "default"); if (!sDBusValidateBusName(aDestinationName.get(), nullptr)) { // We failed completelly to get a valid bus name - just quit // to prevent crash at dbus_bus_request_name(). @@ -122,7 +122,7 @@ nsresult nsDBusRemoteClient::DoSendDBusCommandLine(const char* aProfile, } nsAutoCString pathName; - pathName = nsPrintfCString("/org/mozilla/%s/Remote", appName.get()); + pathName = nsPrintfCString("/net/mullvad/%s/Remote", appName.get()); static auto sDBusValidatePathName = (bool (*)(const char*, DBusError*))dlsym( RTLD_DEFAULT, "dbus_validate_path"); @@ -133,7 +133,7 @@ nsresult nsDBusRemoteClient::DoSendDBusCommandLine(const char* aProfile, } nsAutoCString remoteInterfaceName; - remoteInterfaceName = nsPrintfCString("org.mozilla.%s", appName.get()); + remoteInterfaceName = nsPrintfCString("net.mullvad.%s", appName.get()); LOG(" DBus destination: %s\n", destinationName.get()); LOG(" DBus path: %s\n", pathName.get()); ===================================== toolkit/components/remote/nsDBusRemoteServer.cpp ===================================== @@ -28,7 +28,7 @@ static const char* introspect_template = "1.0//EN\"\n" "\"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd\">\n" "<node>\n" - " <interface name=\"org.mozilla.%s\">\n" + " <interface name=\"net.mullvad.%s\">\n" " <method name=\"OpenURL\">\n" " <arg name=\"url\" direction=\"in\" type=\"ay\"/>\n" " </method>\n" @@ -38,7 +38,7 @@ static const char* introspect_template = bool nsDBusRemoteServer::HandleOpenURL(const gchar* aInterfaceName, const gchar* aMethodName, Span<const gchar> aParam) { - nsPrintfCString ourInterfaceName("org.mozilla.%s", mAppName.get()); + nsPrintfCString ourInterfaceName("net.mullvad.%s", mAppName.get()); if ((strcmp("OpenURL", aMethodName) != 0) || (strcmp(ourInterfaceName.get(), aInterfaceName) != 0)) { @@ -131,7 +131,7 @@ static const GDBusInterfaceVTable gInterfaceVTable = { HandleMethodCall, HandleGetProperty, HandleSetProperty}; void nsDBusRemoteServer::OnBusAcquired(GDBusConnection* aConnection) { - mPathName = nsPrintfCString("/org/mozilla/%s/Remote", mAppName.get()); + mPathName = nsPrintfCString("/net/mullvad/%s/Remote", mAppName.get()); static auto sDBusValidatePathName = (bool (*)(const char*, DBusError*))dlsym( RTLD_DEFAULT, "dbus_validate_path"); if (!sDBusValidatePathName || @@ -205,7 +205,7 @@ nsresult nsDBusRemoteServer::Startup(const char* aAppName, mozilla::XREAppData::SanitizeNameForDBus(profileName); - nsPrintfCString busName("org.mozilla.%s.%s", mAppName.get(), + nsPrintfCString busName("net.mullvad.%s.%s", mAppName.get(), profileName.get()); if (busName.Length() > DBUS_MAXIMUM_NAME_LENGTH) { busName.Truncate(DBUS_MAXIMUM_NAME_LENGTH); @@ -220,7 +220,7 @@ nsresult nsDBusRemoteServer::Startup(const char* aAppName, // We don't have a valid busName yet - try to create a default one. if (!sDBusValidateBusName(busName.get(), nullptr)) { - busName = nsPrintfCString("org.mozilla.%s.%s", mAppName.get(), "default"); + busName = nsPrintfCString("net.mullvad.%s.%s", mAppName.get(), "default"); if (!sDBusValidateBusName(busName.get(), nullptr)) { // We failed completelly to get a valid bus name - just quit // to prevent crash at dbus_bus_request_name(). View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/a6a… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/a6a… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-147.0a1-16.0-2] fixup! TB 2176: Rebrand Firefox to TorBrowser
by Pier Angelo Vendrame (@pierov) 05 Feb '26

05 Feb '26
Pier Angelo Vendrame pushed to branch tor-browser-147.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 1d7f3225 by Pier Angelo Vendrame at 2026-02-05T14:41:51+00:00 fixup! TB 2176: Rebrand Firefox to TorBrowser BB 44050: Use org.torproject rather than org.mozilla for D-bus. - - - - - 2 changed files: - toolkit/components/remote/nsDBusRemoteClient.cpp - toolkit/components/remote/nsDBusRemoteServer.cpp Changes: ===================================== toolkit/components/remote/nsDBusRemoteClient.cpp ===================================== @@ -77,7 +77,7 @@ bool nsDBusRemoteClient::GetRemoteDestinationName(const char* aProgram, mozilla::XREAppData::SanitizeNameForDBus(profileName); aDestinationName = - nsPrintfCString("org.mozilla.%s.%s", aProgram, profileName.get()); + nsPrintfCString("org.torproject.%s.%s", aProgram, profileName.get()); if (aDestinationName.Length() > DBUS_MAXIMUM_NAME_LENGTH) aDestinationName.Truncate(DBUS_MAXIMUM_NAME_LENGTH); @@ -91,7 +91,7 @@ bool nsDBusRemoteClient::GetRemoteDestinationName(const char* aProgram, if (!sDBusValidateBusName(aDestinationName.get(), nullptr)) { // We don't have a valid busName yet - try to create a default one. aDestinationName = - nsPrintfCString("org.mozilla.%s.%s", aProgram, "default"); + nsPrintfCString("org.torproject.%s.%s", aProgram, "default"); if (!sDBusValidateBusName(aDestinationName.get(), nullptr)) { // We failed completelly to get a valid bus name - just quit // to prevent crash at dbus_bus_request_name(). @@ -122,7 +122,7 @@ nsresult nsDBusRemoteClient::DoSendDBusCommandLine(const char* aProfile, } nsAutoCString pathName; - pathName = nsPrintfCString("/org/mozilla/%s/Remote", appName.get()); + pathName = nsPrintfCString("/org/torproject/%s/Remote", appName.get()); static auto sDBusValidatePathName = (bool (*)(const char*, DBusError*))dlsym( RTLD_DEFAULT, "dbus_validate_path"); @@ -133,7 +133,7 @@ nsresult nsDBusRemoteClient::DoSendDBusCommandLine(const char* aProfile, } nsAutoCString remoteInterfaceName; - remoteInterfaceName = nsPrintfCString("org.mozilla.%s", appName.get()); + remoteInterfaceName = nsPrintfCString("org.torproject.%s", appName.get()); LOG(" DBus destination: %s\n", destinationName.get()); LOG(" DBus path: %s\n", pathName.get()); ===================================== toolkit/components/remote/nsDBusRemoteServer.cpp ===================================== @@ -28,7 +28,7 @@ static const char* introspect_template = "1.0//EN\"\n" "\"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd\">\n" "<node>\n" - " <interface name=\"org.mozilla.%s\">\n" + " <interface name=\"org.torproject.%s\">\n" " <method name=\"OpenURL\">\n" " <arg name=\"url\" direction=\"in\" type=\"ay\"/>\n" " </method>\n" @@ -38,7 +38,7 @@ static const char* introspect_template = bool nsDBusRemoteServer::HandleOpenURL(const gchar* aInterfaceName, const gchar* aMethodName, Span<const gchar> aParam) { - nsPrintfCString ourInterfaceName("org.mozilla.%s", mAppName.get()); + nsPrintfCString ourInterfaceName("org.torproject.%s", mAppName.get()); if ((strcmp("OpenURL", aMethodName) != 0) || (strcmp(ourInterfaceName.get(), aInterfaceName) != 0)) { @@ -131,7 +131,7 @@ static const GDBusInterfaceVTable gInterfaceVTable = { HandleMethodCall, HandleGetProperty, HandleSetProperty}; void nsDBusRemoteServer::OnBusAcquired(GDBusConnection* aConnection) { - mPathName = nsPrintfCString("/org/mozilla/%s/Remote", mAppName.get()); + mPathName = nsPrintfCString("/org/torproject/%s/Remote", mAppName.get()); static auto sDBusValidatePathName = (bool (*)(const char*, DBusError*))dlsym( RTLD_DEFAULT, "dbus_validate_path"); if (!sDBusValidatePathName || @@ -205,7 +205,7 @@ nsresult nsDBusRemoteServer::Startup(const char* aAppName, mozilla::XREAppData::SanitizeNameForDBus(profileName); - nsPrintfCString busName("org.mozilla.%s.%s", mAppName.get(), + nsPrintfCString busName("org.torproject.%s.%s", mAppName.get(), profileName.get()); if (busName.Length() > DBUS_MAXIMUM_NAME_LENGTH) { busName.Truncate(DBUS_MAXIMUM_NAME_LENGTH); @@ -220,7 +220,8 @@ nsresult nsDBusRemoteServer::Startup(const char* aAppName, // We don't have a valid busName yet - try to create a default one. if (!sDBusValidateBusName(busName.get(), nullptr)) { - busName = nsPrintfCString("org.mozilla.%s.%s", mAppName.get(), "default"); + busName = + nsPrintfCString("org.torproject.%s.%s", mAppName.get(), "default"); if (!sDBusValidateBusName(busName.get(), nullptr)) { // We failed completelly to get a valid bus name - just quit // to prevent crash at dbus_bus_request_name(). View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/1d7f322… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/1d7f322… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • ...
  • 2064
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.