henry pushed to branch tor-browser-150.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 9862e418 by Henry Wilkes at 2026-04-23T10:12:04+01:00 TB 44361: Notification for dropped support for 32-bit Linux. - - - - - 21a8e3a0 by Henry Wilkes at 2026-04-23T10:14:09+01:00 fixup! Tor Browser strings TB 44361: Strings for dropped support notification. - - - - - 4 changed files: - browser/base/content/browser-main.js - + browser/base/content/droppedSupportNotification.js - browser/base/jar.mn - toolkit/locales/en-US/toolkit/global/tor-browser.ftl Changes: ===================================== browser/base/content/browser-main.js ===================================== @@ -31,6 +31,7 @@ Services.scriptloader.loadSubScript("chrome://browser/content/places/places-menupopup.js", this); Services.scriptloader.loadSubScript("chrome://browser/content/search/autocomplete-popup.js", this); Services.scriptloader.loadSubScript("chrome://browser/content/search/searchbar.js", this); + Services.scriptloader.loadSubScript("chrome://browser/content/droppedSupportNotification.js", this); Services.scriptloader.loadSubScript("chrome://browser/content/languageNotification.js", this); if (AIWindow.isOpeningAIWindow(window)) { ChromeUtils.importESModule("chrome://browser/content/urlbar/SmartbarInput.mjs", { global: "current" }); ===================================== browser/base/content/droppedSupportNotification.js ===================================== @@ -0,0 +1,69 @@ +"use strict"; + +// Show a prompt that a user's system will no longer be supported. +window.addEventListener("load", () => { + let labelId; + + if ( + AppConstants.platform === "linux" && + Services.appinfo.XPCOMABI === "x86-gcc3" + ) { + labelId = "dropped-support-notification-linux-32-bit"; + // TODO: switch to the expired label for the final version 15 release. + // labelId = "dropped-support-notification-linux-32-bit-expired"; + } + + const dismissedPref = + "browser.dropped_support_notification_v16.dismiss_version"; + + if (!labelId) { + // Avoid setting any preferences for supported versions, and clean up any + // old values if the user ported their profile. + Services.prefs.clearUserPref(dismissedPref); + return; + } + + if ( + Services.prefs.getStringPref(dismissedPref, "") === + AppConstants.BASE_BROWSER_VERSION + ) { + // Already dismissed since the last update. + return; + } + + let locale = Services.locale.appLocaleAsBCP47; + if (locale === "ja-JP-macos") { + // Convert quirk-locale to the locale used for tor project. + locale = "ja"; + } + // NOTE: The support page only covers a subset of locales. But they should + // redirect to the default en-US page if the locale is not supported. + // Locales that have support pages. + // NOTE: /es-ES/ will redirect to /es/. + const link = `https://support.torproject.org/${locale}/tor-browser/security/legacy-os/`; + + const buttons = [ + { + "l10n-id": "notification-learnmore-default-label", + link, + }, + { + "l10n-id": "dropped-support-notification-dismiss-button", + callback: () => { + Services.prefs.setStringPref( + dismissedPref, + AppConstants.BASE_BROWSER_VERSION + ); + }, + }, + ]; + + gNotificationBox.appendNotification( + "dropped-support-notification", + { + label: { "l10n-id": labelId }, + priority: gNotificationBox.PRIORITY_WARNING_HIGH, + }, + buttons + ); +}); ===================================== browser/base/jar.mn ===================================== @@ -106,4 +106,5 @@ browser.jar: content/browser/spotlight.js (content/spotlight.js) * content/browser/default-bookmarks.html (content/default-bookmarks.html) + content/browser/droppedSupportNotification.js (content/droppedSupportNotification.js) content/browser/languageNotification.js (content/languageNotification.js) ===================================== toolkit/locales/en-US/toolkit/global/tor-browser.ftl ===================================== @@ -728,6 +728,19 @@ onion-site-saved-keys-dialog-remove-all-button = Remove all onion-site-saved-keys-dialog-fetch-keys-error-message = Unable to retrieve keys from Tor onion-site-saved-keys-dialog-remove-keys-error-message = Unable to remove key +## Notification for dropped support for 32-bit Linux. + +# Shown before support has ended. +# "{ -brand-product-name }" will be replaced with the localized name of the browser, e.g. "Tor Browser". +# "16.0" refers to the browser versions number: Tor Browser 16.0. +# "32-bit" and "64-bit" refer to CPU types: en.wikipedia.org/wiki/32-bit_computing . +dropped-support-notification-linux-32-bit = The next major version of { -brand-product-name } (16.0) will no longer support 32-bit Linux. Please install { -brand-product-name } on a 64-bit Linux operating system to continue receiving important security updates. +# Shown after support has ended. +# "{ -brand-product-name }" will be replaced with the localized name of the browser, e.g. "Tor Browser". +# "32-bit" and "64-bit" refer to CPU types: en.wikipedia.org/wiki/32-bit_computing . +dropped-support-notification-linux-32-bit-expired = { -brand-product-name } no longer supports 32-bit Linux. Please install { -brand-product-name } on a 64-bit Linux operating system to continue receiving important security updates. +dropped-support-notification-dismiss-button = Got it + ## Year end campaign. yec-donate-button = Donate now View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/eee64c5... -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/eee64c5... 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
participants (1)
-
henry (@henry)