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

Keyboard Shortcuts

Thread View

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

tbb-commits

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

  • 1 participants
  • 20323 discussions
[Git][tpo/applications/mullvad-browser-update-responses][main] 4 commits: alpha: new version, 14.5a4 (linux-x86_64)
by boklm (@boklm) 12 Mar '25

12 Mar '25
boklm pushed to branch main at The Tor Project / Applications / mullvad-browser-update-responses Commits: 76dc90bb by Nicolas Vigier at 2025-03-12T17:09:29+01:00 alpha: new version, 14.5a4 (linux-x86_64) - - - - - 3f0625ea by Nicolas Vigier at 2025-03-12T17:09:29+01:00 alpha: new version, 14.5a4 (macos) - - - - - 3bb21bd6 by Nicolas Vigier at 2025-03-12T17:09:29+01:00 alpha: new version, 14.5a4 (windows-x86_64) - - - - - b8494994 by Nicolas Vigier at 2025-03-12T17:09:29+01:00 alpha: new version, 14.5a4 - - - - - 35 changed files: - update_1/alpha/.htaccess - − update_1/alpha/14.0a10-14.5a3-linux-x86_64-ALL.xml - − update_1/alpha/14.0a10-14.5a3-macos-ALL.xml - − update_1/alpha/14.0a10-14.5a3-windows-x86_64-ALL.xml - − update_1/alpha/14.5a1-14.5a3-linux-x86_64-ALL.xml - − update_1/alpha/14.5a1-14.5a3-macos-ALL.xml - − update_1/alpha/14.5a1-14.5a3-windows-x86_64-ALL.xml - − update_1/alpha/14.5a2-14.5a3-linux-x86_64-ALL.xml - − update_1/alpha/14.5a2-14.5a3-macos-ALL.xml - − update_1/alpha/14.5a2-14.5a3-windows-x86_64-ALL.xml - − update_1/alpha/14.5a3-linux-x86_64-ALL.xml - − update_1/alpha/14.5a3-macos-ALL.xml - − update_1/alpha/14.5a3-windows-x86_64-ALL.xml - update_1/alpha/download-linux-x86_64.json - update_1/alpha/download-macos.json - update_1/alpha/download-windows-x86_64.json - update_1/alpha/downloads.json - + update_1/alpha/linux-x86_64/.htaccess - + update_1/alpha/linux-x86_64/14.5a1-14.5a4-linux-x86_64.xml - + update_1/alpha/linux-x86_64/14.5a2-14.5a4-linux-x86_64.xml - + update_1/alpha/linux-x86_64/14.5a3-14.5a4-linux-x86_64.xml - + update_1/alpha/linux-x86_64/14.5a4-linux-x86_64.xml - update_1/alpha/no-update.xml → update_1/alpha/linux-x86_64/no-update.xml - + update_1/alpha/macos/.htaccess - + update_1/alpha/macos/14.5a1-14.5a4-macos.xml - + update_1/alpha/macos/14.5a2-14.5a4-macos.xml - + update_1/alpha/macos/14.5a3-14.5a4-macos.xml - + update_1/alpha/macos/14.5a4-macos.xml - + update_1/alpha/macos/no-update.xml - + update_1/alpha/windows-x86_64/.htaccess - + update_1/alpha/windows-x86_64/14.5a1-14.5a4-windows-x86_64.xml - + update_1/alpha/windows-x86_64/14.5a2-14.5a4-windows-x86_64.xml - + update_1/alpha/windows-x86_64/14.5a3-14.5a4-windows-x86_64.xml - + update_1/alpha/windows-x86_64/14.5a4-windows-x86_64.xml - + update_1/alpha/windows-x86_64/no-update.xml The diff was not included because it is too large. View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser-update-respo… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser-update-respo… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.8.0esr-14.5-1] 3 commits: fixup! [android] TBA strings
by morgan (@morgan) 12 Mar '25

12 Mar '25
morgan pushed to branch tor-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: 29cda346 by Henry Wilkes at 2025-03-12T13:22:23+00:00 fixup! [android] TBA strings TB 43490: Use lower case "n" for "Tor network". TB 43091: Also drop unused strings: preferences_tor_network_settings, tor_bootstrap_quick_start_disabled, tor_bootstrap_quick_start_enabled. - - - - - 31e3f408 by Henry Wilkes at 2025-03-12T13:22:23+00:00 fixup! Tor Browser strings TB 43490: Use lower case "n" for "Tor network". - - - - - b3637248 by Henry Wilkes at 2025-03-12T13:22:23+00:00 fixup! Add TorStrings module for localization TB 43490: Use lower case "n" for "Tor network". - - - - - 4 changed files: - mobile/android/fenix/app/src/main/res/values/torbrowser_strings.xml - toolkit/locales/en-US/toolkit/global/tor-browser.ftl - toolkit/modules/TorStrings.sys.mjs - toolkit/torbutton/chrome/locale/en-US/settings.properties Changes: ===================================== mobile/android/fenix/app/src/main/res/values/torbrowser_strings.xml ===================================== @@ -16,8 +16,6 @@ <string name="tor_bootstrap_connecting">Connecting</string> <string name="tor_bootstrap_connecting_failed">Connecting Failed</string> <string name="tor_bootstrap_quick_start_label">Quick Start</string> - <string name="tor_bootstrap_quick_start_disabled">Enable Quick Start to connect automatically in the future</string> - <string name="tor_bootstrap_quick_start_enabled">%s will connect automatically to the Tor Network in the future</string> <string name="tor_bootstrap_swipe_for_logs">Swipe to the left to see Tor logs</string> <string name="tor_initializing_log">Initializing Tor Log</string> @@ -34,13 +32,12 @@ <string name="library_new_circuit">New circuit</string> <string name="preferences_tor_connection_settings_title">Connection</string> - <string name="preferences_tor_network_settings">Tor Network</string> - <string name="preferences_tor_network_settings_explanation">Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world.</string> + <string name="preferences_tor_network_settings_explanation">Tor Browser routes your traffic over the Tor network, run by thousands of volunteers around the world.</string> <string name="preferences_tor_network_settings_bridge_config">Config Bridge</string> <string name="preferences_tor_network_settings_bridge_config_description">Use a Bridge to connect to Tor</string> <string name="preferences_tor_network_settings_bridge_config_description_builtin_transport_enabled">You’re using a built-in bridge to connect to Tor</string> <string name="preferences_tor_network_settings_bridge_config_description_user_provided_enabled">You provided a bridge to connect to Tor</string> - <string name="preferences_tor_network_settings_bridge_config_explanation">Bridges are unlisted relays that make it more difficult to block connections to the Tor Network. Because of how certain countries try to block Tor, certain bridges work in certain countries but not others.</string> + <string name="preferences_tor_network_settings_bridge_config_explanation">Bridges are unlisted relays that make it more difficult to block connections to the Tor network. Because of how certain countries try to block Tor, certain bridges work in certain countries but not others.</string> <string name="preferences_tor_network_settings_bridge_config_toggle">Use a Bridge</string> <string name="preferences_tor_network_settings_bridge_config_toggle_description">Config a bridge to connect to Tor</string> <string name="preferences_tor_network_settings_bridge_config_builtin_bridge_obfs4">obfs4</string> ===================================== toolkit/locales/en-US/toolkit/global/tor-browser.ftl ===================================== @@ -54,7 +54,7 @@ tor-connection-settings-heading = Connection tor-connection-settings-category = .tooltiptext = { tor-connection-settings-heading } # -brand-short-name refers to 'Tor Browser', localized. -tor-connection-overview = { -brand-short-name } routes your traffic over the Tor Network, run by thousands of volunteers around the world. +tor-connection-overview = { -brand-short-name } routes your traffic over the Tor network, run by thousands of volunteers around the world. tor-connection-browser-learn-more-link = Learn more tor-connection-automatic-heading = Connect automatically tor-connection-automatic-description = Automatically connect to the Tor network at launch using your current connection settings. @@ -94,7 +94,7 @@ tor-connection-network-status-connect-button = Connect ## Tor Bridges Settings. tor-bridges-heading = Bridges -tor-bridges-overview = Bridges help you securely access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another. +tor-bridges-overview = Bridges help you securely access the Tor network in places where Tor is blocked. Depending on where you are, one bridge may work better than another. tor-bridges-learn-more-link = Learn more # Toggle button for enabling and disabling the use of bridges. @@ -480,8 +480,8 @@ about-dialog-help-out = Want to help? <label data-l10n-name="donate-link">Donate # Link text for the Tor Project support page. about-dialog-questions-link = Questions? -# Link text for the Tor Project page for Tor Network relay operators. -about-dialog-grow-tor-network-link = Help the Tor Network Grow! +# Link text for the Tor Project page for Tor network relay operators. +about-dialog-grow-tor-network-link = Help the Tor network Grow! # Link text for the Tor Browser license page (about:license). about-dialog-browser-license-link = Licensing Information ===================================== toolkit/modules/TorStrings.sys.mjs ===================================== @@ -69,7 +69,7 @@ const Loader = { const strings = { // Message box torPreferencesDescription: - "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world.", + "Tor Browser routes your traffic over the Tor network, run by thousands of volunteers around the world.", // Quickstart quickstartCheckbox: "Always connect automatically", bridgeLocation: "Your location", ===================================== toolkit/torbutton/chrome/locale/en-US/settings.properties ===================================== @@ -6,7 +6,7 @@ # Still used in TorConnect. # Message box -settings.torPreferencesDescription=Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world. +settings.torPreferencesDescription=Tor Browser routes your traffic over the Tor network, run by thousands of volunteers around the world. settings.quickstartCheckbox=Always connect automatically View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/3005b6… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/3005b6… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.8.0esr-14.5-1] fixup! Adding issue and merge request templates
by morgan (@morgan) 12 Mar '25

12 Mar '25
morgan pushed to branch tor-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: 3005b634 by Pier Angelo Vendrame at 2025-03-12T11:07:44+01:00 fixup! Adding issue and merge request templates Change the uplift section in the MR template to upstream, and add information about backporting as well. - - - - - 1 changed file: - .gitlab/merge_request_templates/default.md Changes: ===================================== .gitlab/merge_request_templates/default.md ===================================== @@ -48,8 +48,11 @@ - [ ] **Localization**: typos and other localization changes that should be also in the release branch - [ ] **Other**: please explain -### Uplifting +### Upstream - [ ] Patchset is a candidate for uplift to Firefox +- [ ] Patchset is a backport from Firefox + - Bugzilla link: + - Upstream commit: ### Issue Tracking - [ ] Link resolved issues with appropriate [Release Prep issue](https://gitlab.torproject.org/groups/tpo/applications/-/issues/?sort… for changelog generation View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/3005b63… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/3005b63… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-115.21.0esr-13.5-1] fixup! Bug 7494: Create local home page for TBB.
by morgan (@morgan) 11 Mar '25

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

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

11 Mar '25
morgan pushed to branch tor-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: 65026e41 by Henry Wilkes at 2025-03-11T18:34:13+00:00 fixup! TB 40597: Implement TorSettings module TB 42550: Move straight to FinalError when the user selects a specific region. Also fix the `simulateMoatResponse` value for the censorship levels. Although it does not change the overall outcome (bootstrap fails) it does change *how* it fails. - - - - - 1 changed file: - toolkit/modules/TorConnect.sys.mjs Changes: ===================================== toolkit/modules/TorConnect.sys.mjs ===================================== @@ -1227,7 +1227,10 @@ export const TorConnect = { bootstrapOptions.simulateCensorship = true; bootstrapOptions.simulateMoatResponse = { country: "fi", - settings: [{}, {}], + bridgesList: [ + { source: 0, builtin_type: "obfs4" }, + { source: 0, builtin_type: "snowflake" }, + ], }; } } else if (censorshipLevel === 3) { @@ -1235,7 +1238,7 @@ export const TorConnect = { bootstrapOptions.simulateCensorship = true; bootstrapOptions.simulateMoatResponse = { country: null, - settings: [], + bridgesList: [], }; } }, @@ -1412,20 +1415,20 @@ export const TorConnect = { this._setStage(TorConnectStage.ChooseRegion); return; case TorConnectStage.ChooseRegion: - // TODO: Uncomment for behaviour in tor-browser#42550. - /* - if (regionCode !== "automatic") { - // Not automatic. Go straight to the final error. - this._setStage(TorConnectStage.FinalError); + if (regionCode === "automatic") { + // The automatic region failed. + if (bootstrapAttempt.detectedRegion) { + this._setStage(TorConnectStage.ConfirmRegion); + } else { + this._setStage(TorConnectStage.RegionNotFound); + } return; } - */ - if (regionCode !== "automatic" || bootstrapAttempt.detectedRegion) { - this._setStage(TorConnectStage.ConfirmRegion); - return; - } - this._setStage(TorConnectStage.RegionNotFound); - return; + // Else, not automatic. Go straight to the final error since the user + // is unlikely to succeed re-selecting the same region and it would be + // unexpected for the user to select a different region. + // See tor-browser#42550. + break; } this._setStage(TorConnectStage.FinalError); return; View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/65026e4… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/65026e4… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser] Pushed new tag mullvad-browser-128.8.0esr-14.5-1-build1
by clairehurst (@clairehurst) 11 Mar '25

11 Mar '25
clairehurst pushed new tag mullvad-browser-128.8.0esr-14.5-1-build1 at The Tor Project / Applications / Mullvad Browser -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/mullv… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build] Pushed new tag mb-14.5a4-build1
by morgan (@morgan) 11 Mar '25

11 Mar '25
morgan pushed new tag mb-14.5a4-build1 at The Tor Project / Applications / tor-browser-build -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/tree/mb-… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build] Pushed new tag tbb-14.5a4-build1
by morgan (@morgan) 11 Mar '25

11 Mar '25
morgan pushed new tag tbb-14.5a4-build1 at The Tor Project / Applications / tor-browser-build -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/tree/tbb… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Bug 41369,41370: Prepare Tor+Mullvad Browser 14.5a4
by morgan (@morgan) 11 Mar '25

11 Mar '25
morgan pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 136839a7 by Morgan at 2025-03-11T17:29:48+00:00 Bug 41369,41370: Prepare Tor+Mullvad Browser 14.5a4 - - - - - 9 changed files: - projects/browser/Bundle-Data/Docs-MB/ChangeLog.txt - projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt - projects/firefox/config - projects/geckoview/config - projects/go/config - projects/openssl/config - projects/translation/config - projects/zstd/config - rbm.conf Changes: ===================================== projects/browser/Bundle-Data/Docs-MB/ChangeLog.txt ===================================== @@ -1,3 +1,27 @@ +Mullvad Browser 14.5a4 - March 12 2025 + * All Platforms + * Updated Firefox to 128.8.0esr + * Bug 393: Rebase Mullvad Browser Alpha onto 128.8.0esr [mullvad-browser] + * Bug 395: Set Mullvad Leta as default search engine [mullvad-browser] + * Bug 404: Incorrect information in `about:rights` [mullvad-browser] + * Bug 43205: newwin / letterboxing rounding with subpixels is off [tor-browser] + * Bug 43551: Backport Mozilla Bug 1924070 - modify H.264 extradata to match sample conversion code.... [tor-browser] + * Linux + * Bug 394: Missing package when try to install Mullvad Browser in Debian Trixie [mullvad-browser] + * Bug 30970: Different window borders in XFCE can lead to different, not rounded window sizes [tor-browser] + * Build System + * All Platforms + * Bug 40799: Remove legacy locale iteration in build and signing scripts [tor-browser-build] + * Bug 41040: Add configuration to rbm.conf to select channel and platforms [tor-browser-build] + * Bug 41363: Change update-response generation script to create one commit per OS+arch tuple [tor-browser-build] + * Bug 41374: Remove support for migrate_archs and migrate_langs in update_responses [tor-browser-build] + * Bug 41380: Update kick-devmole script to use Mullvad's new GitHub action [tor-browser-build] + * Bug 41381: Usability improvements for the browser commit tagging script [tor-browser-build] + * Bug 41382: Replace gitlab templates ReleasePrep label references with Apps::Type::ReleasePreparation [tor-browser-build] + * Bug 41383: Add clairehurst to list of accepted firefox/geckoview signers [tor-browser-build] + * Bug 41389: Remove need to update set-config.tbb-version [tor-browser-build] + * Bug 40082: With `fetch: if_needed`, rbm is doing a git fetch when it shouldn't, when using a fixed commit [rbm] + Mullvad Browser 14.5a3 - February 10 2025 * All Platforms * Updated Firefox to 128.7.0esr ===================================== projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt ===================================== @@ -1,3 +1,59 @@ +Tor Browser 14.5a4 - March 12 2025 + * All Platforms + * Updated OpenSSL to 3.0.16 + * Bug 43446: Change the Tor Browser name between releases [tor-browser] + * Bug 43463: Include moat circumvention countries in the build (tor-browser part) [tor-browser] + * Bug 43487: Rebase Tor Browser Alpha onto 128.8.0esr [tor-browser] + * Bug 43529: AutoBootstrapAttempt cancel does not await BootstrapAttempt.cancel [tor-browser] + * Bug 43524: Enable new locales: be, bg and pt-PT [tor-browser] + * Bug 43551: Backport Mozilla Bug 1924070 - modify H.264 extradata to match sample conversion code.... [tor-browser] + * Windows + macOS + Linux + * Updated Firefox to 128.8.0esr + * Bug 40473: Tor logs do not update in about:preferences#tor as new logs come in [tor-browser] + * Bug 43205: newwin / letterboxing rounding with subpixels is off [tor-browser] + * Bug 43328: Improve tor log dialog [tor-browser] + * Bug 43465: Show the urlbar Connect button during a bootstrap or final error [tor-browser] + * Bug 43469: Rename "Quickstart" toggle as "Connect automatically" (Desktop) [tor-browser] + * Bug 43502: Move openTorConnect and getRedirectUrl to TorConnectParent [tor-browser] + * Bug 43504: Implement User Survey UX (Desktop) [tor-browser] + * Bug 43547: Cannot remove the final bridge [tor-browser] + * Linux + * Bug 30970: Different window borders in XFCE can lead to different, not rounded window sizes [tor-browser] + * Android + * Updated GeckoView to 128.8.0esr + * Updated Zstandard to 1.5.7 + * Bug 43329: Remove remaining traces of the old Bootstrap on Android [tor-browser] + * Bug 43408: Access TorConnect.quickstart separately from TorSettings.getSettings on Android [tor-browser] + * Bug 43480: Split up TorConnectionAssistViewModel for better readibility and performance. [tor-browser] + * Bug 43498: Uplift tor-browser#43129: about:neterror cannot display SVG on Android with Security Level Safest [tor-browser] + * Bug 43528: Improper handling of TorBootstrapChangeListener in HomeActivity [tor-browser] + * Build System + * All Platforms + * Updated Go to 1.23.7 + * Bug 41040: Add configuration to rbm.conf to select channel and platforms [tor-browser-build] + * Bug 41121: Use the official Go binaries for bootstrapping [tor-browser-build] + * Bug 41372: Handle branding names in tor-browser-build [tor-browser-build] + * Bug 41379: Include moat circumvention countries in the build (tor-browser-build part) [tor-browser-build] + * Bug 41380: Update kick-devmole script to use Mullvad's new GitHub action [tor-browser-build] + * Bug 41381: Usability improvements for the browser commit tagging script [tor-browser-build] + * Bug 41382: Replace gitlab templates ReleasePrep label references with Apps::Type::ReleasePreparation [tor-browser-build] + * Bug 41383: Add clairehurst to list of accepted firefox/geckoview signers [tor-browser-build] + * Bug 41384: OpenSSL hash files have changed format [tor-browser-build] + * Bug 41389: Remove need to update set-config.tbb-version [tor-browser-build] + * Bug 40082: With `fetch: if_needed`, rbm is doing a git fetch when it shouldn't, when using a fixed commit [rbm] + * Windows + macOS + Linux + * Bug 40799: Remove legacy locale iteration in build and signing scripts [tor-browser-build] + * Bug 41363: Change update-response generation script to create one commit per OS+arch tuple [tor-browser-build] + * Bug 41374: Remove support for migrate_archs and migrate_langs in update_responses [tor-browser-build] + * Windows + Linux + Android + * Bug 41386: Upgrade Go to 1.23 for Windows, Linux, and Android [tor-browser-build] + * Linux + * Bug 41337: Remove libstdc++ from Linux tor-expert-bundle [tor-browser-build] + * Android + * Bug 42669: Remove dependency on Application-Services [tor-browser] + * Bug 43518: Verify existence of localProperties.dependencySubstitutions.geckoviewTopsrcdir before substituting [tor-browser] + * Bug 41387: Fix Golang toolchain breakage for lyrebird: linkname [tor-browser-build] + Tor Browser 14.5a3 - February 10 2025 * All Platforms * Bug 41065: navigator.storage "best effort" + "persistent" leak partitionSize/totalSpace entropy [tor-browser] ===================================== projects/firefox/config ===================================== @@ -20,7 +20,7 @@ var: browser_series: '14.5' browser_rebase: 1 browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]' - browser_build: 1 + browser_build: 2 branding_directory_prefix: 'tb' copyright_year: '[% exec("git show -s --format=%ci " _ c("git_hash") _ "^{commit}", { exec_noco => 1 }).remove("-.*") %]' nightly_updates_publish_dir: '[% c("var/nightly_updates_publish_dir_prefix") %]nightly-[% c("var/osname") %]' ===================================== projects/geckoview/config ===================================== @@ -22,7 +22,7 @@ var: browser_series: '14.5' browser_rebase: 1 browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]' - browser_build: 1 + browser_build: 2 gitlab_project: https://gitlab.torproject.org/tpo/applications/tor-browser git_commit: '[% exec("git rev-parse " _ c("git_hash") _ "^{commit}", { exec_noco => 1 }) %]' deps: ===================================== projects/go/config ===================================== @@ -1,11 +1,11 @@ # vim: filetype=yaml sw=2 -version: '1.23.6' +version: '1.23.7' filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]' container: use_container: 1 var: - source_sha256: 039c5b04e65279daceee8a6f71e70bd05cf5b801782b6f77c6e19e2ed0511222 + source_sha256: 7cfabd46b73eb4c26b19d69515dd043d7183a6559acccd5cfdb25eb6b266a458 no_crosscompile: 1 setup: | mkdir -p /var/tmp/dist ===================================== projects/openssl/config ===================================== @@ -1,5 +1,5 @@ # vim: filetype=yaml sw=2 -version: 3.0.15 +version: 3.0.16 filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]' container: use_container: 1 @@ -36,5 +36,5 @@ input_files: - name: '[% c("var/compiler") %]' project: '[% c("var/compiler") %]' - URL: 'https://github.com/openssl/openssl/releases/download/openssl-[% c("version") %]/openssl-[% c("version") %].tar.gz' - sha256sum: 23c666d0edf20f14249b3d8f0368acaee9ab585b09e1de82107c66e1f3ec9533 + sha256sum: 57e03c50feab5d31b152af2b764f10379aecd8ee92f16c985983ce4a99f7ef86 name: openssl ===================================== projects/translation/config ===================================== @@ -12,19 +12,19 @@ compress_tar: 'gz' steps: base-browser: base-browser: '[% INCLUDE build %]' - git_hash: 93eddbd3888852c09e130d536fb3c9bd7e4e6f57 + git_hash: 292c09a35bcda153068e77a35107baf034929067 targets: nightly: git_hash: 'base-browser' tor-browser: tor-browser: '[% INCLUDE build %]' - git_hash: e7a334a4adb16e506515940e81f41964ef16af76 + git_hash: f969264d8ca95f8d75a8dfcd61b78cb7f7e5f385 targets: nightly: git_hash: 'tor-browser' mullvad-browser: mullvad-browser: '[% INCLUDE build %]' - git_hash: 6a1ef41c664a5185e25ca2c4bbf5d7447bd888a7 + git_hash: ceaea33b0fa3ad7cf0f563392185bc9e8519079f targets: nightly: git_hash: 'mullvad-browser' @@ -32,7 +32,7 @@ steps: fenix: '[% INCLUDE build %]' # We need to bump the commit before releasing but just pointing to a branch # might cause too much rebuidling of the Firefox part. - git_hash: e4f5825b1125e2c8c2aa8d4fdaa7e002d8f2934a + git_hash: 16ce780d14da56fd304d2bde886848a6ca19d512 compress_tar: 'zst' targets: nightly: ===================================== projects/zstd/config ===================================== @@ -1,7 +1,7 @@ # vim: filetype=yaml sw=2 -version: 1.5.6 +version: 1.5.7 git_url: https://github.com/facebook/zstd.git -git_hash: 794ea1b0afca0f020f4e57b6732332231fb23c70 +git_hash: f8745da6ff1ad1e7bab384bd1f9d742439278e99 filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]' container: ===================================== rbm.conf ===================================== @@ -73,11 +73,11 @@ buildconf: git_signtag_opt: '-s' var: - torbrowser_version: '14.5a3' + torbrowser_version: '14.5a4' torbrowser_build: 'build1' # This should be the date of when the build is started. For the build # to be reproducible, browser_release_date should always be in the past. - browser_release_date: '2025/02/10 18:18:25' + browser_release_date: '2025/03/11 16:46:53' browser_release_date_timestamp: '[% USE date; date.format(c("var/browser_release_date"), "%s") %]' browser_default_channel: alpha browser_platforms: @@ -96,10 +96,9 @@ var: updater_enabled: 1 build_mar: 1 torbrowser_incremental_from: + - 14.5a3 - 14.5a2 - 14.5a1 - - '[% IF c("var/mullvad-browser") %]14.0a10[% END %]' - - '[% IF c("var/tor-browser") %]14.0a9[% END %]' mar_channel_id: '[% c("var/projectname") %]-torproject-[% c("var/channel") %]' # By default, we sort the list of installed packages. This allows sharing View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/1… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/1… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • ...
  • 2033
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.