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][mullvad-browser-128.8.0esr-14.5-1] 3 commits: fixup! MB 1: Mullvad Browser branding
by Pier Angelo Vendrame (@pierov) 19 Mar '25

19 Mar '25
Pier Angelo Vendrame pushed to branch mullvad-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Mullvad Browser Commits: b086d25d by Pier Angelo Vendrame at 2025-03-19T18:39:52+01:00 fixup! MB 1: Mullvad Browser branding MB 412: Link the release page in the about dialog and clean brand-related preferences. - - - - - 4ac981eb by Pier Angelo Vendrame at 2025-03-19T18:41:32+01:00 fixup! MB 112: Updater customization for Mullvad Browser MB 412: Link the release page in the about dialog and clean brand-related preferences. - - - - - 979f4ea4 by Pier Angelo Vendrame at 2025-03-19T18:43:08+01:00 fixup! MB 38: Mullvad Browser configuration MB 412: Link the release page in the about dialog and clean brand-related preferences. - - - - - 4 changed files: - browser/app/profile/000-mullvad-browser.js - browser/branding/mb-alpha/pref/firefox-branding.js - browser/branding/mb-nightly/pref/firefox-branding.js - browser/branding/mb-release/pref/firefox-branding.js Changes: ===================================== browser/app/profile/000-mullvad-browser.js ===================================== @@ -15,9 +15,6 @@ pref("doh-rollout.provider-list", "[{\"UIName\":\"Mullvad\",\"autoDefault\":true // mullvad-browser#122: Audit DoH heuristics pref("doh-rollout.disable-heuristics", true); -// mullvad-browser#37: Customization for the about dialog -pref("app.releaseNotesURL.aboutDialog", "about:blank"); - // mullvad-browser#87: Windows and Linux need additional work to make the // default browser choice working. // We are shipping only the portable versions for the initial release anyway, so @@ -40,9 +37,5 @@ pref("app.update.notifyDuringDownload", true); pref("app.update.url.manual", "https://mullvad.net/download/browser"); pref("app.update.url.details", "https://mullvad.net/download/browser"); pref("app.update.badgeWaitTime", 0); -pref("app.releaseNotesURL", "https://github.com/mullvad/mullvad-browser/releases"); -// disables the 'What's New?' link in the about dialog, otherwise we need to -// duplicate logic for generating the url to the github releases page -pref("app.releaseNotesURL.aboutDialog", "about:blank"); // point to our feedback url rather than Mozilla's pref("app.feedback.baseURL", "https://mullvad.net/help/tag/browser/"); ===================================== browser/branding/mb-alpha/pref/firefox-branding.js ===================================== @@ -5,31 +5,23 @@ // This file contains branding-specific prefs. pref("startup.homepage_override_url", ""); -pref("startup.homepage_welcome_url", "about:welcome"); -pref("startup.homepage_welcome_url.additional", ""); -// Interval: Time between checks for a new version (in seconds) -pref("app.update.interval", 43200); // 12 hours -// Give the user x seconds to react before showing the big UI. default=192 hours -pref("app.update.promptWaitTime", 691200); // app.update.url.manual: URL user can browse to manually if for some reason // all update installation attempts fail. // app.update.url.details: a default value for the "More information about this // update" link supplied in the "An update is available" page of the update // wizard. -pref("app.update.url.manual", "https://www.mozilla.org/%LOCALE%/firefox/new?reason=manual-update"); -pref("app.update.url.details", "https://www.mozilla.org/%LOCALE%/firefox/notes"); -pref("app.releaseNotesURL", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/releasenotes/?utm_source…"); -pref("app.releaseNotesURL.aboutDialog", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/releasenotes/?utm_source…"); +pref("app.update.url.manual", "https://mullvad.net/download/browser#alpha"); +pref("app.update.url.details", "https://mullvad.net/download/browser#alpha"); +pref("app.releaseNotesURL", "https://github.com/mullvad/mullvad-browser/releases/tag/%BB_VERSION%"); +pref("app.releaseNotesURL.aboutDialog", "https://github.com/mullvad/mullvad-browser/releases/tag/%BB_VERSION%"); +// Interval: Time between checks for a new version (in seconds) +pref("app.update.interval", 43200); // 12 hours // The number of days a binary is permitted to be old // without checking for an update. This assumes that // app.update.checkInstallTime is true. pref("app.update.checkInstallTime.days", 63); -// Give the user x seconds to reboot before showing a badge on the hamburger -// button. default=4 days -pref("app.update.badgeWaitTime", 345600); - // Number of usages of the web console. // If this is less than 5, then pasting code into the web console is disabled pref("devtools.selfxss.count", 0); ===================================== browser/branding/mb-nightly/pref/firefox-branding.js ===================================== @@ -5,31 +5,23 @@ // This file contains branding-specific prefs. pref("startup.homepage_override_url", ""); -pref("startup.homepage_welcome_url", "about:welcome"); -pref("startup.homepage_welcome_url.additional", ""); -// Interval: Time between checks for a new version (in seconds) -pref("app.update.interval", 43200); // 12 hours -// Give the user x seconds to react before showing the big UI. default=192 hours -pref("app.update.promptWaitTime", 691200); // app.update.url.manual: URL user can browse to manually if for some reason // all update installation attempts fail. // app.update.url.details: a default value for the "More information about this // update" link supplied in the "An update is available" page of the update // wizard. -pref("app.update.url.manual", "https://www.mozilla.org/%LOCALE%/firefox/new?reason=manual-update"); -pref("app.update.url.details", "https://www.mozilla.org/%LOCALE%/firefox/notes"); -pref("app.releaseNotesURL", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/releasenotes/?utm_source…"); -pref("app.releaseNotesURL.aboutDialog", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/releasenotes/?utm_source…"); +pref("app.update.url.manual", "https://nightlies.tbb.torproject.org/"); +pref("app.update.url.details", "https://nightlies.tbb.torproject.org/"); +pref("app.releaseNotesURL", "about:blank"); +pref("app.releaseNotesURL.aboutDialog", "about:blank"); +// Interval: Time between checks for a new version (in seconds) +pref("app.update.interval", 14400); // 4 hours // The number of days a binary is permitted to be old // without checking for an update. This assumes that // app.update.checkInstallTime is true. -pref("app.update.checkInstallTime.days", 63); - -// Give the user x seconds to reboot before showing a badge on the hamburger -// button. default=4 days -pref("app.update.badgeWaitTime", 345600); +pref("app.update.checkInstallTime.days", 2); // Number of usages of the web console. // If this is less than 5, then pasting code into the web console is disabled -pref("devtools.selfxss.count", 0); +pref("devtools.selfxss.count", 5); ===================================== browser/branding/mb-release/pref/firefox-branding.js ===================================== @@ -5,31 +5,23 @@ // This file contains branding-specific prefs. pref("startup.homepage_override_url", ""); -pref("startup.homepage_welcome_url", "about:welcome"); -pref("startup.homepage_welcome_url.additional", ""); -// Interval: Time between checks for a new version (in seconds) -pref("app.update.interval", 43200); // 12 hours -// Give the user x seconds to react before showing the big UI. default=192 hours -pref("app.update.promptWaitTime", 691200); // app.update.url.manual: URL user can browse to manually if for some reason // all update installation attempts fail. // app.update.url.details: a default value for the "More information about this // update" link supplied in the "An update is available" page of the update // wizard. -pref("app.update.url.manual", "https://www.mozilla.org/%LOCALE%/firefox/new?reason=manual-update"); -pref("app.update.url.details", "https://www.mozilla.org/%LOCALE%/firefox/notes"); -pref("app.releaseNotesURL", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/releasenotes/?utm_source…"); -pref("app.releaseNotesURL.aboutDialog", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/releasenotes/?utm_source…"); +pref("app.update.url.manual", "https://mullvad.net/download/browser"); +pref("app.update.url.details", "https://mullvad.net/download/browser"); +pref("app.releaseNotesURL", "https://github.com/mullvad/mullvad-browser/releases/tag/%BB_VERSION%"); +pref("app.releaseNotesURL.aboutDialog", "https://github.com/mullvad/mullvad-browser/releases/tag/%BB_VERSION%"); +// Interval: Time between checks for a new version (in seconds) +pref("app.update.interval", 43200); // 12 hours // The number of days a binary is permitted to be old // without checking for an update. This assumes that // app.update.checkInstallTime is true. pref("app.update.checkInstallTime.days", 63); -// Give the user x seconds to reboot before showing a badge on the hamburger -// button. default=4 days -pref("app.update.badgeWaitTime", 345600); - // Number of usages of the web console. // If this is less than 5, then pasting code into the web console is disabled pref("devtools.selfxss.count", 0); View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/a4… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/a4… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-128.8.0esr-14.5-1] fixup! BB 4234: Use the Firefox Update Process for Base Browser.
by Pier Angelo Vendrame (@pierov) 19 Mar '25

19 Mar '25
Pier Angelo Vendrame pushed to branch mullvad-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Mullvad Browser Commits: a4f6cb3b by Pier Angelo Vendrame at 2025-03-19T17:23:18+01:00 fixup! BB 4234: Use the Firefox Update Process for Base Browser. TB 42720: Show what's new in the about:dialog. Add a BB_VERSION replacement to the URLFormatter service. - - - - - 1 changed file: - toolkit/components/urlformatter/URLFormatter.sys.mjs Changes: ===================================== toolkit/components/urlformatter/URLFormatter.sys.mjs ===================================== @@ -134,6 +134,9 @@ nsURLFormatterService.prototype = { DISTRIBUTION_VERSION() { return this.distribution.version; }, + BB_VERSION() { + return AppConstants.BASE_BROWSER_VERSION; + }, }, formatURL: function uf_formatURL(aFormat) { View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/a4f… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/a4f… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-128.8.0esr-14.5-1] fixup! BB 4234: Use the Firefox Update Process for Base Browser.
by Pier Angelo Vendrame (@pierov) 19 Mar '25

19 Mar '25
Pier Angelo Vendrame pushed to branch base-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: 23c0b249 by Pier Angelo Vendrame at 2025-03-19T17:22:52+01:00 fixup! BB 4234: Use the Firefox Update Process for Base Browser. TB 42720: Show what's new in the about:dialog. Add a BB_VERSION replacement to the URLFormatter service. - - - - - 1 changed file: - toolkit/components/urlformatter/URLFormatter.sys.mjs Changes: ===================================== toolkit/components/urlformatter/URLFormatter.sys.mjs ===================================== @@ -134,6 +134,9 @@ nsURLFormatterService.prototype = { DISTRIBUTION_VERSION() { return this.distribution.version; }, + BB_VERSION() { + return AppConstants.BASE_BROWSER_VERSION; + }, }, formatURL: function uf_formatURL(aFormat) { View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/23c0b24… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/23c0b24… 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 2176: Rebrand Firefox to TorBrowser
by Pier Angelo Vendrame (@pierov) 19 Mar '25

19 Mar '25
Pier Angelo Vendrame pushed to branch tor-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: cf350084 by Pier Angelo Vendrame at 2025-03-19T17:09:21+01:00 fixup! TB 2176: Rebrand Firefox to TorBrowser TB 42720: Show what's new in the about:dialog. Improve some comments. - - - - - 1 changed file: - browser/base/content/aboutDialog.xhtml Changes: ===================================== browser/base/content/aboutDialog.xhtml ===================================== @@ -117,6 +117,9 @@ <label id="version" class="update"/> </hbox> <description class="text-blurb"> + <!-- Place release notes on the same line as the help and feedback links. + - We do not want the release notes on the same line as the version because it may overflow. + - See tor-browerr#42720. --> <label id="releasenotes" is="text-link" hidden="true" data-l10n-id="releaseNotes-link"/> <label is="text-link" onclick="openHelpLink('firefox-help')" data-l10n-id="aboutdialog-help-user"/> <label id="submit-feedback" is="text-link" onclick="openFeedbackPage()" data-l10n-id="aboutdialog-submit-feedback"/> View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/cf35008… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/cf35008… 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] 4 commits: fixup! TB 40562: Added Tor Browser preferences to 000-tor-browser.js
by Pier Angelo Vendrame (@pierov) 19 Mar '25

19 Mar '25
Pier Angelo Vendrame pushed to branch tor-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: 231850ac by Pier Angelo Vendrame at 2025-03-19T16:59:00+01:00 fixup! TB 40562: Added Tor Browser preferences to 000-tor-browser.js TB 42720: Show what's new in the about:dialog. Update our comment about app.releaseNotesURL.aboutDialog. - - - - - de58bd66 by Pier Angelo Vendrame at 2025-03-19T16:59:03+01:00 fixup! BB 4234: Use the Firefox Update Process for Base Browser. TB 42720: Show what's new in the about:dialog. Add a BB_VERSION replacement to the URLFormatter service. - - - - - 8f35f42f by Pier Angelo Vendrame at 2025-03-19T16:59:04+01:00 fixup! TB 2176: Rebrand Firefox to TorBrowser TB 42720: Show what's new in the about:dialog. Customize the "What's new" link and cleanup other channel-specific prefs. - - - - - 8d7ba10b by Pier Angelo Vendrame at 2025-03-19T16:59:04+01:00 fixup! TB 41668: Tweaks to the Base Browser updater for Tor Browser TB 42720: Show what's new in the about:dialog. Add a variable for the base browser version without dot, as we use it in blog post URLs. - - - - - 7 changed files: - browser/app/profile/000-tor-browser.js - browser/base/content/aboutDialog.xhtml - browser/base/content/aboutDialogTor.css - browser/branding/tb-alpha/pref/firefox-branding.js - browser/branding/tb-nightly/pref/firefox-branding.js - browser/branding/tb-release/pref/firefox-branding.js - toolkit/components/urlformatter/URLFormatter.sys.mjs Changes: ===================================== browser/app/profile/000-tor-browser.js ===================================== @@ -1,14 +1,7 @@ #include 001-base-profile.js pref("app.update.notifyDuringDownload", true); -pref("app.update.url.manual", "https://www.torproject.org/download/languages/"); -pref("app.update.url.details", "https://www.torproject.org/download/"); pref("app.update.badgeWaitTime", 0); -pref("app.releaseNotesURL", "about:blank"); -// disables the 'What's New?' link in the about dialog, otherwise we need to -// duplicate logic for generating the url to the blog post that is already more -// easily found in about:tor -pref("app.releaseNotesURL.aboutDialog", "about:blank"); // point to our feedback url rather than Mozilla's pref("app.feedback.baseURL", "https://support.torproject.org/%LOCALE%/misc/bug-or-feedback/"); ===================================== browser/base/content/aboutDialog.xhtml ===================================== @@ -115,9 +115,9 @@ <!-- This HBOX is duplicated above without class="update" --> <hbox align="baseline"> <label id="version" class="update"/> - <label id="releasenotes" is="text-link" hidden="true" data-l10n-id="releaseNotes-link"/> </hbox> <description class="text-blurb"> + <label id="releasenotes" is="text-link" hidden="true" data-l10n-id="releaseNotes-link"/> <label is="text-link" onclick="openHelpLink('firefox-help')" data-l10n-id="aboutdialog-help-user"/> <label id="submit-feedback" is="text-link" onclick="openFeedbackPage()" data-l10n-id="aboutdialog-submit-feedback"/> </description> ===================================== browser/base/content/aboutDialogTor.css ===================================== @@ -26,6 +26,10 @@ margin-block: 10px; } +#releasenotes { + margin-inline-end: .9em; /* Same as #submit-feedback */ +} + #contributeDesc { display: none; } ===================================== browser/branding/tb-alpha/pref/firefox-branding.js ===================================== @@ -10,30 +10,19 @@ // actions="showURL" // openURL="https://blog.torproject.org/tor-browser-55a2-released" pref("startup.homepage_override_url", "https://blog.torproject.org/category/applications"); -pref("startup.homepage_welcome_url", "about:welcome"); -pref("startup.homepage_welcome_url.additional", ""); +pref("app.update.url.details", "https://www.torproject.org/download/alpha/"); +pref("app.update.url.manual", "https://www.torproject.org/download/alpha/"); +pref("app.releaseNotesURL", "https://blog.torproject.org/new-alpha-release-tor-browser-%BB_VERSION_FOR_U…"); +pref("app.releaseNotesURL.aboutDialog", "https://blog.torproject.org/new-alpha-release-tor-browser-%BB_VERSION_FOR_U…"); + // The time interval between checks for a new version (in seconds) pref("app.update.interval", 43200); // 12 hours // Give the user x seconds to react before showing the big UI. default=12 hours pref("app.update.promptWaitTime", 43200); -// URL user can browse to manually if for some reason all update installation -// attempts fail. -pref("app.update.url.manual", "https://www.mozilla.org/%LOCALE%/firefox/nightly/"); -// A default value for the "More information about this update" link -// supplied in the "An update is available" page of the update wizard. -pref("app.update.url.details", "https://www.mozilla.org/%LOCALE%/firefox/nightly/notes/"); - -pref("app.releaseNotesURL", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/releasenotes/?utm_source…"); - // The number of days a binary is permitted to be old // without checking for an update. This assumes that // app.update.checkInstallTime is true. pref("app.update.checkInstallTime.days", 2); - -// Give the user x seconds to reboot before showing a badge on the hamburger -// button. default=immediately -pref("app.update.badgeWaitTime", 0); - // Number of usages of the web console. // If this is less than 5, then pasting code into the web console is disabled pref("devtools.selfxss.count", 5); ===================================== browser/branding/tb-nightly/pref/firefox-branding.js ===================================== @@ -9,32 +9,20 @@ // each update manifest should contain attributes similar to: // actions="showURL" // openURL="https://blog.torproject.org/tor-browser-55a2-released" -pref("startup.homepage_override_url", "https://blog.torproject.org/category/applications"); -pref("startup.homepage_welcome_url", "about:welcome"); -pref("startup.homepage_welcome_url.additional", ""); +pref("startup.homepage_override_url", "https://nightlies.tbb.torproject.org/"); +pref("app.update.url.details", "https://nightlies.tbb.torproject.org/nightly-builds/tor-browser-builds/"); +pref("app.update.url.manual", "https://nightlies.tbb.torproject.org/nightly-builds/tor-browser-builds/"); +pref("app.releaseNotesURL", "about:blank"); +pref("app.releaseNotesURL.aboutDialog", "about:blank"); + // The time interval between checks for a new version (in seconds) pref("app.update.interval", 14400); // 4 hours // Give the user x seconds to react before showing the big UI. default=12 hours pref("app.update.promptWaitTime", 43200); -// URL user can browse to manually if for some reason all update installation -// attempts fail. -pref("app.update.url.manual", "https://www.mozilla.org/%LOCALE%/firefox/nightly/?reason=manual-update"); -// A default value for the "More information about this update" link -// supplied in the "An update is available" page of the update wizard. -pref("app.update.url.details", "https://www.mozilla.org/%LOCALE%/firefox/nightly/notes/"); - -pref("app.releaseNotesURL", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/releasenotes/?utm_source…"); -pref("app.releaseNotesURL.aboutDialog", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/releasenotes/?utm_source…"); - // The number of days a binary is permitted to be old // without checking for an update. This assumes that // app.update.checkInstallTime is true. pref("app.update.checkInstallTime.days", 2); - -// Give the user x seconds to reboot before showing a badge on the hamburger -// button. default=immediately -pref("app.update.badgeWaitTime", 0); - // Number of usages of the web console. // If this is less than 5, then pasting code into the web console is disabled pref("devtools.selfxss.count", 5); ===================================== browser/branding/tb-release/pref/firefox-branding.js ===================================== @@ -10,43 +10,19 @@ // actions="showURL" // openURL="https://blog.torproject.org/tor-browser-55a2-released" pref("startup.homepage_override_url", "https://blog.torproject.org/category/applications"); -pref("startup.homepage_welcome_url", "about:welcome"); -pref("startup.homepage_welcome_url.additional", ""); +pref("app.update.url.details", "https://www.torproject.org/download/"); +pref("app.update.url.manual", "https://www.torproject.org/download/"); +pref("app.releaseNotesURL", "https://blog.torproject.org/new-release-tor-browser-%BB_VERSION_FOR_URLS%/"); +pref("app.releaseNotesURL.aboutDialog", "https://blog.torproject.org/new-release-tor-browser-%BB_VERSION_FOR_URLS%/"); + // Interval: Time between checks for a new version (in seconds) pref("app.update.interval", 43200); // 12 hours // Give the user x seconds to react before showing the big UI. default=192 hours pref("app.update.promptWaitTime", 691200); -// app.update.url.manual: URL user can browse to manually if for some reason -// all update installation attempts fail. -// app.update.url.details: a default value for the "More information about this -// update" link supplied in the "An update is available" page of the update -// wizard. -#if MOZ_UPDATE_CHANNEL == beta - pref("app.update.url.manual", "https://www.mozilla.org/%LOCALE%/firefox/beta?reason=manual-update"); - pref("app.update.url.details", "https://www.mozilla.org/%LOCALE%/firefox/beta/notes"); - pref("app.releaseNotesURL", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%beta/releasenotes/?utm_so…"); - pref("app.releaseNotesURL.aboutDialog", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%beta/releasenotes/?utm_so…"); -#elifdef MOZ_ESR - pref("app.update.url.manual", "https://www.mozilla.org/%LOCALE%/firefox/enterprise?reason=manual-update"); - pref("app.update.url.details", "https://www.mozilla.org/%LOCALE%/firefox/organizations/notes"); - pref("app.releaseNotesURL", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/releasenotes/?utm_source…"); - pref("app.releaseNotesURL.aboutDialog", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/releasenotes/?utm_source…"); -#else - pref("app.update.url.manual", "https://www.mozilla.org/%LOCALE%/firefox/new?reason=manual-update"); - pref("app.update.url.details", "https://www.mozilla.org/%LOCALE%/firefox/notes"); - pref("app.releaseNotesURL", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/releasenotes/?utm_source…"); - pref("app.releaseNotesURL.aboutDialog", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/releasenotes/?utm_source…"); -#endif - // The number of days a binary is permitted to be old // without checking for an update. This assumes that // app.update.checkInstallTime is true. pref("app.update.checkInstallTime.days", 63); - -// Give the user x seconds to reboot before showing a badge on the hamburger -// button. default=4 days -pref("app.update.badgeWaitTime", 345600); - // Number of usages of the web console. // If this is less than 5, then pasting code into the web console is disabled pref("devtools.selfxss.count", 0); ===================================== toolkit/components/urlformatter/URLFormatter.sys.mjs ===================================== @@ -134,6 +134,16 @@ nsURLFormatterService.prototype = { DISTRIBUTION_VERSION() { return this.distribution.version; }, + BB_VERSION() { + return AppConstants.BASE_BROWSER_VERSION; + }, + BB_VERSION_FOR_URLS() { + let version = AppConstants.BASE_BROWSER_VERSION; + if (/^[0-9a\.]+$/.test(version)) { + version = version.replaceAll(".", ""); + } + return version; + }, }, formatURL: function uf_formatURL(aFormat) { View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/b0a250… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/b0a250… 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 27476: Implement about:torconnect captive portal within Tor Browser
by morgan (@morgan) 19 Mar '25

19 Mar '25
morgan pushed to branch tor-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: b0a250cd by Henry Wilkes at 2025-03-19T11:15:37+00:00 fixup! TB 27476: Implement about:torconnect captive portal within Tor Browser TB 42656: Drop maybeUpdateOpenLocationForTorConnect. - - - - - 1 changed file: - browser/components/urlbar/UrlbarInput.sys.mjs Changes: ===================================== browser/components/urlbar/UrlbarInput.sys.mjs ===================================== @@ -20,7 +20,6 @@ ChromeUtils.defineESModuleGetters(lazy, { ReaderMode: "resource://gre/modules/ReaderMode.sys.mjs", SearchUIUtils: "resource:///modules/SearchUIUtils.sys.mjs", SearchUtils: "resource://gre/modules/SearchUtils.sys.mjs", - TorConnect: "resource://gre/modules/TorConnect.sys.mjs", UrlbarController: "resource:///modules/UrlbarController.sys.mjs", UrlbarEventBufferer: "resource:///modules/UrlbarEventBufferer.sys.mjs", UrlbarPrefs: "resource:///modules/UrlbarPrefs.sys.mjs", @@ -276,36 +275,6 @@ export class UrlbarInput { ); } - // in certain scenarios we want user input uris to open in a new tab if they do so from the - // about:torconnect tab - #maybeUpdateOpenLocationForTorConnect( - openUILinkWhere, - currentURI, - destinationURI - ) { - try { - // only open in new tab if: - if ( - // user is navigating away from about:torconnect - currentURI === "about:torconnect" && - // we are trying to open in same tab - openUILinkWhere === "current" && - // only if user still has not bootstrapped - lazy.TorConnect.shouldShowTorConnect && - // and user is not just navigating to about:torconnect - destinationURI !== "about:torconnect" - ) { - return "tab"; - } - } catch (e) { - // swallow exception and fall through returning original so we don't accidentally break - // anything if an exception is thrown - this.logger.error(e?.message ? e.message : e); - } - - return openUILinkWhere; - } - /** * Applies styling to the text in the urlbar input, depending on the text. */ @@ -3017,11 +2986,6 @@ export class UrlbarInput { this.inputField.setSelectionRange(0, 0); } - openUILinkWhere = this.#maybeUpdateOpenLocationForTorConnect( - openUILinkWhere, - this.window.gBrowser.currentURI.asciiSpec, - url - ); if (openUILinkWhere != "current") { this.handleRevert(); } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/b0a250c… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/b0a250c… 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] 2 commits: fixup! [android] TBA strings
by Dan Ballard (@dan) 19 Mar '25

19 Mar '25
Dan Ballard pushed to branch tor-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: 9078db0b by Dan Ballard at 2025-03-19T00:06:35+00:00 fixup! [android] TBA strings Bug 43505 [android]: Add 2025 UX Survey Campaign - - - - - 359eed56 by Dan Ballard at 2025-03-18T17:10:05-07:00 Bug 43505 [android]: Add 2025 UX Survey Campaign - - - - - 6 changed files: - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt - + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/CampaignStrings.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt - + mobile/android/fenix/app/src/main/res/drawable/campaign_hand.xml - mobile/android/fenix/app/src/main/res/layout/fragment_home.xml - mobile/android/fenix/app/src/main/res/values/preference_keys.xml Changes: ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt ===================================== @@ -12,33 +12,65 @@ import android.content.res.Configuration import android.graphics.drawable.ColorDrawable import android.net.Uri import android.os.Bundle +import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.ImageView import androidx.activity.result.ActivityResultLauncher import androidx.annotation.VisibleForTesting +import androidx.compose.foundation.Image +import androidx.compose.foundation.background +import androidx.compose.foundation.border +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.BoxWithConstraints import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.wrapContentHeight +import androidx.compose.foundation.layout.wrapContentSize +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.verticalScroll +import androidx.compose.material.Button import androidx.compose.material.ButtonDefaults +import androidx.compose.material.Icon +import androidx.compose.material.IconButton import androidx.compose.material.Text import androidx.compose.material.TextButton +import androidx.compose.runtime.Composable +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.draw.drawBehind +import androidx.compose.ui.draw.scale +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.ViewCompositionStrategy +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.semantics.heading import androidx.compose.ui.semantics.semantics import androidx.compose.ui.semantics.testTag import androidx.compose.ui.semantics.testTagsAsResourceId +import androidx.compose.ui.text.TextLayoutResult +import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp import androidx.compose.ui.viewinterop.AndroidView import androidx.coordinatorlayout.widget.CoordinatorLayout import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat.getColor -import androidx.core.view.children -import androidx.core.view.doOnLayout import androidx.core.view.isGone import androidx.core.view.isVisible import androidx.fragment.app.Fragment @@ -108,6 +140,7 @@ import org.mozilla.fenix.components.FenixSnackbar import org.mozilla.fenix.components.PrivateShortcutCreateManager import org.mozilla.fenix.components.TabCollectionStorage import org.mozilla.fenix.components.appstate.AppAction +import org.mozilla.fenix.components.components import org.mozilla.fenix.components.menu.MenuAccessPoint import org.mozilla.fenix.components.toolbar.IncompleteRedesignToolbarFeature import org.mozilla.fenix.components.toolbar.ToolbarPosition @@ -151,13 +184,13 @@ import org.mozilla.fenix.messaging.DefaultMessageController import org.mozilla.fenix.messaging.FenixMessageSurfaceId import org.mozilla.fenix.messaging.MessagingFeature import org.mozilla.fenix.microsurvey.ui.MicrosurveyRequestPrompt -import org.mozilla.fenix.nimbus.FxNimbus import org.mozilla.fenix.perf.MarkersFragmentLifecycleCallbacks import org.mozilla.fenix.search.toolbar.DefaultSearchSelectorController import org.mozilla.fenix.search.toolbar.SearchSelectorMenu import org.mozilla.fenix.tabstray.Page import org.mozilla.fenix.tabstray.TabsTrayAccessPoint import org.mozilla.fenix.theme.FirefoxTheme +import org.mozilla.fenix.tor.CampaignStrings import org.mozilla.fenix.utils.Settings.Companion.TOP_SITES_PROVIDER_MAX_THRESHOLD import org.mozilla.fenix.utils.allowUndo import org.mozilla.fenix.wallpapers.Wallpaper @@ -165,6 +198,9 @@ import java.lang.ref.WeakReference import org.mozilla.fenix.GleanMetrics.TabStrip as TabStripMetrics import org.mozilla.fenix.tor.UrlQuickLoadViewModel +import java.text.SimpleDateFormat +import java.time.LocalDate +import java.util.Date @Suppress("TooManyFunctions", "LargeClass") class HomeFragment : Fragment(), UserInteractionHandler { @@ -507,6 +543,8 @@ class HomeFragment : Fragment(), UserInteractionHandler { activity.themeManager.applyStatusBarTheme(activity) + tryShowUX2025Survey() + // FxNimbus.features.homescreen.recordExposure() // DO NOT MOVE ANYTHING BELOW THIS addMarker CALL! @@ -518,6 +556,31 @@ class HomeFragment : Fragment(), UserInteractionHandler { return binding.root } + private fun tryShowUX2025Survey() { + val allowedLocales = arrayListOf("en", "es", "ru", "fr", "pt") + val locale = CampaignStrings.getLocale() + + val dateFormat = SimpleDateFormat("yyyy-MM-dd-hh-zzz") + val startDate = dateFormat.parse("2025-04-14-12-UTC") + + val endDate = dateFormat.parse("2025-04-28-00-UTC") + val currentDate = Date() + + if (currentDate.before(startDate) || currentDate.after(endDate)) { + return // comment out to test + } + + if (allowedLocales.contains(locale) && !requireContext().settings().hideCampaign) { + binding.onionPatternImage.visibility = View.GONE + binding.campaignBox.apply { + setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed) + setContent { + CampaignBox() + } + } + } + } + private fun reinitializeNavBar() { initializeNavBar(activity = requireActivity() as HomeActivity) } @@ -1396,4 +1459,213 @@ class HomeFragment : Fragment(), UserInteractionHandler { override fun onBackPressed(): Boolean { (requireActivity() as HomeActivity).shutDown() } + + @Composable + fun CampaignBox() { + BoxWithConstraints( + contentAlignment = Alignment.Center, + modifier = Modifier + .fillMaxWidth() + .wrapContentHeight() + ) { + val alternateLayout = this.maxWidth >= 500.dp + + CampaignLayout( + alternateLayout, + maxWidth = this.maxWidth, + modifier = Modifier + .padding(top = if (alternateLayout) 65.dp else 55.dp, bottom = 56.dp), + ) + } + } + + @Composable + private fun CampaignLayout( + alternateLayout: Boolean, + maxWidth: Dp, + modifier: Modifier + ) { + Column( + modifier = modifier + .padding(horizontal = 22.dp) + .verticalScroll(rememberScrollState()) + .fillMaxWidth(getVariableWidth(maxWidth)), + horizontalAlignment = Alignment.CenterHorizontally, + ) { + PurpleBox(alternateLayout) + } + } + + private fun getVariableWidth(width: Dp): Float = (500.dp / width).coerceIn(0.75f, 1.0f) + + @Composable + private fun PurpleBox( + alternateLayout: Boolean, + ) { + Box( + modifier = Modifier.background(PhotonColors.Violet90, shape = RoundedCornerShape(8.dp)) + .padding(16.dp), + ) { + Row( + modifier = Modifier.fillMaxWidth(), + ) { + Emoji() + Spacer(Modifier.weight(1f)) + ExitIcon() + } + DynamicCampaignContent(alternateLayout) + } + } + + @Composable + private fun Emoji() { + val alpha38Violet40 = Color(PhotonColors.Violet40.red, PhotonColors.Violet40.green, PhotonColors.Violet40.blue, 0.38f) + Image( + painter = painterResource(id = R.drawable.campaign_hand), + contentDescription = null, + modifier = Modifier + .size(64.dp) + .padding(16.dp) + .drawBehind { + drawCircle( + color = alpha38Violet40, + radius = this.size.maxDimension + ) + } + ) + } + + @Composable + private fun ExitIcon() { + IconButton( + onClick = { + binding.campaignBox.visibility = View.GONE + binding.onionPatternImage.visibility = View.VISIBLE + context?.components?.settings?.hideCampaign = true + }, + ) { + Icon( + painter = painterResource(id = R.drawable.ic_close), + tint = Color( + getColor( + requireContext(), + R.color.photonWhite, + ), + ), + contentDescription = CampaignStrings.get(CampaignStrings.CloseKey), + modifier = Modifier + .size(48.dp) + .padding(8.dp) + ) + } + } + + + @Composable + private fun DynamicCampaignContent( + alternateLayout: Boolean + ) { + Row(verticalAlignment = Alignment.CenterVertically) { + Column( + modifier = Modifier.fillMaxWidth() + .padding( top = 88.dp), + horizontalAlignment = Alignment.Start, + ) { + TitleText() + MainText() + + if (alternateLayout) { + Row(modifier = Modifier.fillMaxWidth()) { + Button1(alternateLayout) + Button2() + } + } else { + Button1(alternateLayout) + Button2() + } + + } + } + } + + @Composable + private fun TitleText() { + + Text(text = CampaignStrings.get(CampaignStrings.HeaderKey), + color = PhotonColors.LightGrey05, + textAlign = TextAlign.Left, + fontWeight = FontWeight.Bold, + fontSize = 24.sp, + lineHeight = 34.sp, + modifier = Modifier.padding(bottom = 16.dp) + ) + } + + @Composable + private fun MainText() { + + Text(text = CampaignStrings.get(CampaignStrings.BodyKey), + modifier = Modifier + .fillMaxWidth() + .padding( + start = 0.dp, + end = 0.dp, + bottom = 18.dp, + ), + color = PhotonColors.LightGrey05, + fontSize = 18.sp, + textAlign = TextAlign.Left, + ) + } + + @Composable + private fun Button1(alternateLayout: Boolean) { + Button( + onClick = { + var locale = CampaignStrings.getLocale() + if (locale == "pt") { + locale = "pt-BR" + } + (activity as HomeActivity).openToBrowserAndLoad( + searchTermOrURL = "https://survey.torproject.org/index.php/923269?lang=${locale}", + newTab = true, + from = BrowserDirection.FromHome, + ) + }, + colors = ButtonDefaults.buttonColors( + backgroundColor = PhotonColors.Violet60), + shape = RoundedCornerShape(4.dp), + modifier = Modifier.padding(0.dp) + .fillMaxWidth(fraction = if (alternateLayout) 0.5f else 1f), + + ) { + Text(text = CampaignStrings.get(CampaignStrings.CTAKey), + color = PhotonColors.LightGrey05, + textAlign = TextAlign.Center, + fontSize = 18.sp, + modifier = Modifier.padding(8.dp)) + } + } + + @Composable + private fun Button2() { + Button( + onClick = { + binding.campaignBox.visibility = View.GONE + binding.onionPatternImage.visibility = View.VISIBLE + context?.components?.settings?.hideCampaign = true + }, + colors = ButtonDefaults.buttonColors( + backgroundColor = PhotonColors.Violet90), + shape = RoundedCornerShape(4.dp), + modifier = Modifier.padding(0.dp) + .fillMaxWidth() + ) { + Text(text = CampaignStrings.get(CampaignStrings.DismissKey), + color = PhotonColors.Violet20, + textAlign = TextAlign.Center, + fontSize = 18.sp, + modifier = Modifier.padding(8.dp)) + } + } } ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/CampaignStrings.kt ===================================== @@ -0,0 +1,64 @@ +package org.mozilla.fenix.tor + +import java.util.Locale + +object CampaignStrings { + + val HeaderKey = "key_header" + val BodyKey = "key_body" + val CTAKey = "key_cta" + val DismissKey = "key_dismiss" + val CloseKey = "key_close" + + private val translations: HashMap<String, HashMap<String, String>> = hashMapOf( + "en" to hashMapOf( + HeaderKey to "We’d love your feedback", + BodyKey to "Help us improve Tor Browser by completing this 10-minute survey.", + CTAKey to "Launch the survey", + DismissKey to "Dismiss", + CloseKey to "Close", + ), + "es" to hashMapOf( + HeaderKey to "Danos tu opinión", + BodyKey to "Ayúdanos a mejorar el Navegador Tor completando esta encuesta de 10 minutos.", + CTAKey to "Iniciar la encuesta", + DismissKey to "Cerrar", + CloseKey to "Cerrar", + ), + "ru" to hashMapOf( + HeaderKey to "Мы будем рады вашим отзывам", + BodyKey to "Помогите нам улучшить браузер Tor, пройдя 10-минутный опрос.", + CTAKey to "Начать опрос", + DismissKey to "Закрыть", + CloseKey to "Закрыть", + ), + "fr" to hashMapOf( + HeaderKey to "Nous serions ravis d’avoir votre avis !", + BodyKey to "Aidez-nous à améliorer le navigateur Tor en répondant à cette enquête de 10 minutes.", + CTAKey to "Lancer l'enquête", + DismissKey to "Fermer", + CloseKey to "Fermer", + ), + "pt" to hashMapOf( + HeaderKey to "Adoraríamos ouvir sua opinião", + BodyKey to "Ajude-nos a melhorar o Navegador Tor respondendo a esta pesquisa de 10 minutos.", + CTAKey to "Iniciar a pesquisa", + DismissKey to "Dispensar", + CloseKey to "Fechar" + ), + ) + + fun getLocale(): String { + // TODO: do we care about spoofEnglish setting? + return Locale.getDefault().getLanguage(); + } + + + fun get(key: String): String { + val localeStrings = translations.get(getLocale()) + if (localeStrings == null) { + return "" + } + return localeStrings.get(key) ?: "" + } +} ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt ===================================== @@ -43,15 +43,7 @@ import org.mozilla.fenix.components.settings.lazyFeatureFlagPreference import org.mozilla.fenix.components.toolbar.ToolbarPosition import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.getPreferenceKey -import org.mozilla.fenix.nimbus.CookieBannersSection import org.mozilla.fenix.nimbus.FxNimbus -import org.mozilla.fenix.nimbus.HomeScreenSection -import org.mozilla.fenix.nimbus.Mr2022Section -import org.mozilla.fenix.nimbus.QueryParameterStrippingSection -import org.mozilla.fenix.nimbus.QueryParameterStrippingSection.QUERY_PARAMETER_STRIPPING -import org.mozilla.fenix.nimbus.QueryParameterStrippingSection.QUERY_PARAMETER_STRIPPING_ALLOW_LIST -import org.mozilla.fenix.nimbus.QueryParameterStrippingSection.QUERY_PARAMETER_STRIPPING_PMB -import org.mozilla.fenix.nimbus.QueryParameterStrippingSection.QUERY_PARAMETER_STRIPPING_STRIP_LIST import org.mozilla.fenix.settings.PhoneFeature import org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataOnQuitType import org.mozilla.fenix.settings.logins.SavedLoginsSortingStrategyMenu @@ -2116,4 +2108,9 @@ class Settings(private val appContext: Context) : PreferencesHolder { appContext.getPreferenceKey(R.string.pref_key_quick_start), default = false, ) + + var hideCampaign by booleanPreference( + appContext.getPreferenceKey(R.string.pref_key_hide_campaign_2025_ux_survey), + default = false, + ) } ===================================== mobile/android/fenix/app/src/main/res/drawable/campaign_hand.xml ===================================== @@ -0,0 +1,21 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt" + android:viewportWidth="36" + android:viewportHeight="36" + android:width="36dp" + android:height="36dp"> + <path + android:pathData="M4.861 9.147c0.94 -0.657 2.357 -0.531 3.201 0.166l-0.968 -1.407c-0.779 -1.111 -0.5 -2.313 0.612 -3.093 1.112 -0.777 4.263 1.312 4.263 1.312 -0.786 -1.122 -0.639 -2.544 0.483 -3.331 1.122 -0.784 2.67 -0.513 3.456 0.611l10.42 14.72L25 31l-11.083 -4.042L4.25 12.625c-0.793 -1.129 -0.519 -2.686 0.611 -3.478z" + android:fillColor="#EF9645" /> + <path + android:pathData="M2.695 17.336s-1.132 -1.65 0.519 -2.781c1.649 -1.131 2.78 0.518 2.78 0.518l5.251 7.658c0.181 -0.302 0.379 -0.6 0.6 -0.894L4.557 11.21s-1.131 -1.649 0.519 -2.78c1.649 -1.131 2.78 0.518 2.78 0.518l6.855 9.997c0.255 -0.208 0.516 -0.417 0.785 -0.622L7.549 6.732s-1.131 -1.649 0.519 -2.78c1.649 -1.131 2.78 0.518 2.78 0.518l7.947 11.589c0.292 -0.179 0.581 -0.334 0.871 -0.498L12.238 4.729s-1.131 -1.649 0.518 -2.78c1.649 -1.131 2.78 0.518 2.78 0.518l7.854 11.454 1.194 1.742c-4.948 3.394 -5.419 9.779 -2.592 13.902 0.565 0.825 1.39 0.26 1.39 0.26 -3.393 -4.949 -2.357 -10.51 2.592 -13.903L24.515 8.62s-0.545 -1.924 1.378 -2.47c1.924 -0.545 2.47 1.379 2.47 1.379l1.685 5.004c0.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" + android:fillColor="#FFDC5D" /> + <path + android:pathData="M12 32.042C8 32.042 3.958 28 3.958 24c0 -0.553 -0.405 -1 -0.958 -1s-1.042 0.447 -1.042 1C1.958 30 6 34.042 12 34.042c0.553 0 1 -0.489 1 -1.042s-0.447 -0.958 -1 -0.958z" + android:fillColor="#5DADEC" /> + <path + android:pathData="M7 34c-3 0 -5 -2 -5 -5 0 -0.553 -0.447 -1 -1 -1s-1 0.447 -1 1c0 4 3 7 7 7 0.553 0 1 -0.447 1 -1s-0.447 -1 -1 -1zM24 2c-0.552 0 -1 0.448 -1 1s0.448 1 1 1c4 0 8 3.589 8 8 0 0.552 0.448 1 1 1s1 -0.448 1 -1c0 -5.514 -4 -10 -10 -10z" + android:fillColor="#5DADEC" /> + <path + android:pathData="M29 0.042c-0.552 0 -1 0.406 -1 0.958s0.448 1.042 1 1.042c3 0 4.958 2.225 4.958 4.958 0 0.552 0.489 1 1.042 1s0.958 -0.448 0.958 -1C35.958 3.163 33 0.042 29 0.042z" + android:fillColor="#5DADEC" /> +</vector> \ No newline at end of file ===================================== mobile/android/fenix/app/src/main/res/layout/fragment_home.xml ===================================== @@ -134,6 +134,12 @@ </com.google.android.material.appbar.AppBarLayout> + <androidx.compose.ui.platform.ComposeView + android:id="@+id/campaignBox" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_gravity="center"/> + <androidx.recyclerview.widget.RecyclerView android:id="@+id/sessionControlRecyclerView" android:layout_width="match_parent" ===================================== mobile/android/fenix/app/src/main/res/values/preference_keys.xml ===================================== @@ -430,4 +430,5 @@ <string name="pref_key_tor_network_settings_bridges_enabled">pref_key_tor_network_settings_bridges_enabled</string> <string name="pref_key_spoof_english" translatable="false">pref_key_spoof_english</string> + <string name="pref_key_hide_campaign_2025_ux_survey" translatable="false">pref_key_hide_campaign_2025_ux_survey_test</string> </resources> View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/b23a82… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/b23a82… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/torbrowser-launcher] Deleted branch AppArmor-updates-for-current-Debian
by intrigeri (@intrigeri) 18 Mar '25

18 Mar '25
intrigeri deleted branch AppArmor-updates-for-current-Debian at The Tor Project / Applications / torbrowser-launcher -- You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/torbrowser-launcher][main] 5 commits: AppArmor: allow unprivileged user namespaces
by intrigeri (@intrigeri) 18 Mar '25

18 Mar '25
intrigeri pushed to branch main at The Tor Project / Applications / torbrowser-launcher Commits: 692e28a1 by intrigeri at 2025-03-18T13:49:53+00:00 AppArmor: allow unprivileged user namespaces Firefox uses userns to set up its own sandboxing. On Debian, AppArmor was already allowing this by default, until a recent upload (that is now in Trixie) updated the features pinning to a version that now mediates usage of userns, so this functionality is now blocked by profiles that don't explicitly allow it. Let's repair this. Also reported as Debian#1098845. - - - - - 91db109a by intrigeri at 2025-03-18T14:02:01+00:00 AppArmor: allow reading cgroups-v2 CPU bandwidth quota information Firefox uses this info to determine how many CPUs the current thread actually has access to, which seems like a reasonable thing to do for an app like Firefox which manages a bunch of child processes. The call chain is: get_num_cpus → cgroups_num_cpus → init_cgroups → load_cgroups → cpu_quota → max → "cpu.max". - - - - - 7772a1ea by intrigeri at 2025-03-18T14:15:17+00:00 AppArmor: allow executing Firefox' own VA-API probe utility This is necessary for Tor Browser to determine if VA-API is supported by the host system, which in turn is needed to enable video hardware decoding. - - - - - 9eb8686d by intrigeri at 2025-03-18T14:18:41+00:00 AppArmor: allow reading intel-media-driver feature files Firefox reads these files when it runs the vaapitest tool and the VAAPI driver for the Intel GEN8+ Graphics family is installed. - - - - - 479b8f53 by intrigeri at 2025-03-18T17:00:32+00:00 Merge branch 'AppArmor-updates-for-current-Debian' into 'main' AppArmor: various updates including 1 important fix for Debian Trixie See merge request tpo/applications/torbrowser-launcher!24 - - - - - 1 changed file: - apparmor/torbrowser.Browser.firefox Changes: ===================================== apparmor/torbrowser.Browser.firefox ===================================== @@ -13,6 +13,8 @@ profile torbrowser_firefox @{torbrowser_firefox_executable} { #include if exists <abstractions/vulkan> #include if exists <abstractions/dbus-session-strict> + userns, + deny capability sys_ptrace, # Uncomment the following lines if you want to give the Tor Browser read-write @@ -94,6 +96,10 @@ profile torbrowser_firefox @{torbrowser_firefox_executable} { owner @{torbrowser_home_dir}/TorBrowser/Tor/*.so.* mr, owner @{torbrowser_home_dir}/TorBrowser/Tor/libstdc++/*.so mr, owner @{torbrowser_home_dir}/TorBrowser/Tor/libstdc++/*.so.* mr, + owner @{torbrowser_home_dir}/vaapitest ix, + + # intel-media-driver + /etc/igfx_user_feature*.txt r, # parent Firefox process when restarting after upgrade, Web Content processes owner @{torbrowser_firefox_executable} pxmr -> torbrowser_firefox, @@ -121,6 +127,7 @@ profile torbrowser_firefox @{torbrowser_firefox_executable} { /sys/devices/system/node/ r, /sys/devices/system/node/node[0-9]*/meminfo r, /sys/fs/cgroup/cpu,cpuacct/{,user.slice/}cpu.cfs_quota_us r, + /sys/fs/cgroup/user.slice/user-[0-9]*.slice/user@[0-9]*.service/app.slice/app-gnome-torbrowser-[0-9]*.scope/cpu.max r, deny /sys/class/input/ r, deny /sys/devices/virtual/block/*/uevent r, View it on GitLab: https://gitlab.torproject.org/tpo/applications/torbrowser-launcher/-/compar… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/torbrowser-launcher/-/compar… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/torbrowser-launcher][main] fix: window icon under wayland
by boklm (@boklm) 18 Mar '25

18 Mar '25
boklm pushed to branch main at The Tor Project / Applications / torbrowser-launcher Commits: a734238b by Integral at 2025-03-18T17:55:44+01:00 fix: window icon under wayland Currently, when running the launcher on Wayland, the window icon will fallback to the generic Wayland icon. Set desktop filename to solve this problem. - - - - - 1 changed file: - torbrowser_launcher/__init__.py Changes: ===================================== torbrowser_launcher/__init__.py ===================================== @@ -81,6 +81,9 @@ def main(): common = Common(tor_browser_launcher_version) app = Application() + if "WAYLAND_DISPLAY" in os.environ: + app.setDesktopFileName("torbrowser") + # Open the window gui = None View it on GitLab: https://gitlab.torproject.org/tpo/applications/torbrowser-launcher/-/commit… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/torbrowser-launcher/-/commit… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • ...
  • 2033
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.