Dan Ballard pushed to branch tor-browser-128.7.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
4b5dd7c9 by clairehurst at 2025-02-20T14:14:29-07:00
fixup! TB 42669: [android] Use custom no-op app-services
- - - - -
1 changed file:
- tools/geckoview/build-fenix.sh
Changes:
=====================================
tools/geckoview/build-fenix.sh
=====================================
@@ -6,8 +6,6 @@ VARIANT=$3
source android-env.sh
-export NIMBUS_FML=$DEV_ROOT/mobile/android/fenix/app/nimbus-fml
-
cd $DEV_ROOT/mobile/android/fenix
MOZCONFIG=mozconfig-android-$ARCH $GRADLE_HOME/bin/gradle --no-daemon -Dorg.gradle.jvmargs=-Xmx20g -PdisableOptimization assemble$VARIANT
tools/tba-sign-devbuilds.sh
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4b5dd7c…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4b5dd7c…
You're receiving this email because of your account on gitlab.torproject.org.
Dan Ballard pushed to branch tor-browser-128.7.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
8cee8bc2 by Dan Ballard at 2025-02-20T18:24:27+00:00
fixup! fixup! [android] Modify build system
bug 42669: fenix dir missing from nimbusFml path
- - - - -
1 changed file:
- mobile/android/fenix/app/build.gradle
Changes:
=====================================
mobile/android/fenix/app/build.gradle
=====================================
@@ -315,7 +315,7 @@ android.applicationVariants.configureEach { variant ->
if (project.hasProperty("disableTor")) {
disableTor = project.getProperty("disableTor")
}
- System.setProperty("nimbusFml", "${topsrcdir}/mobile/android/tools/nimbus-fml")
+ System.setProperty("nimbusFml", "${topsrcdir}/mobile/android/fenix/tools/nimbus-fml")
println("----------------------------------------------")
println("Variant name: " + variant.name)
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/8cee8bc…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/8cee8bc…
You're receiving this email because of your account on gitlab.torproject.org.
morgan pushed to branch tor-browser-128.7.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
8e663084 by Henry Wilkes at 2025-02-20T17:30:12+00:00
fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection
TB 43328: Improve the Tor log dialog.
- - - - -
0cc2f849 by Henry Wilkes at 2025-02-20T17:38:02+00:00
fixup! TB 40933: Add tor-launcher functionality
TB 43328: Make getLog return the LogEntry data.
- - - - -
21c61532 by Henry Wilkes at 2025-02-20T17:38:03+00:00
fixup! Tor Browser strings
TB 43328: Improve the Tor log.
- - - - -
5 changed files:
- browser/components/torpreferences/content/torLogDialog.js
- browser/components/torpreferences/content/torLogDialog.xhtml
- browser/components/torpreferences/content/torPreferences.css
- toolkit/components/tor-launcher/TorProvider.sys.mjs
- toolkit/locales/en-US/toolkit/global/tor-browser.ftl
Changes:
=====================================
browser/components/torpreferences/content/torLogDialog.js
=====================================
@@ -4,20 +4,18 @@ const { setTimeout, clearTimeout } = ChromeUtils.importESModule(
"resource://gre/modules/Timer.sys.mjs"
);
-const { TorProviderBuilder } = ChromeUtils.importESModule(
+const { TorProviderBuilder, TorProviderTopics } = ChromeUtils.importESModule(
"resource://gre/modules/TorProviderBuilder.sys.mjs"
);
-window.addEventListener(
- "DOMContentLoaded",
- () => {
+const gTorLogDialog = {
+ init() {
const dialog = document.getElementById("torPreferences-torLog-dialog");
const copyLogButton = dialog.getButton("extra1");
copyLogButton.setAttribute("data-l10n-id", "tor-log-dialog-copy-button");
- const logText = document.getElementById(
- "torPreferences-torDialog-textarea"
- );
+ this._logTable = document.getElementById("tor-log-table");
+ this._logBody = document.getElementById("tor-log-body");
let restoreButtonTimeout = null;
copyLogButton.addEventListener("command", () => {
@@ -25,7 +23,14 @@ window.addEventListener(
let clipboard = Cc["@mozilla.org/widget/clipboardhelper;1"].getService(
Ci.nsIClipboardHelper
);
- clipboard.copyString(logText.value);
+ // The copied text should match the text content the user would get if
+ // they hand-selected the entire table.
+ clipboard.copyString(
+ Array.from(
+ this._logTable.querySelectorAll("td"),
+ el => el.textContent
+ ).join("\n")
+ );
copyLogButton.setAttribute(
"data-l10n-id",
@@ -47,13 +52,79 @@ window.addEventListener(
}, RESTORE_TIME);
});
+ // Intercept the copy event.
+ // NOTE: We attach this to the window rather than the _logTable because if
+ // the whole table is selected it will not receive the "copy" event.
+ window.addEventListener("copy", event => {
+ event.preventDefault();
+ event.clipboardData.setData(
+ "text",
+ // By default the selected text will insert "\n\t" between the <td>
+ // elements, which separates the timestamp from the message column.
+ // We drop this "\t" character, to just keep the "\n".
+ window.getSelection().toString().replace(/^\t/gm, "")
+ );
+ });
+
// A waiting state should not be needed at this point.
// Also, we probably cannot even arrive here if the provider failed to
// initialize, otherwise we could use a try/catch, and write the exception
// text in the logs, instead.
- TorProviderBuilder.build().then(
- provider => (logText.value = provider.getLog())
- );
+ TorProviderBuilder.build().then(provider => {
+ Services.obs.addObserver(this, TorProviderTopics.TorLog);
+ window.addEventListener(
+ "unload",
+ () => {
+ Services.obs.removeObserver(this, TorProviderTopics.TorLog);
+ },
+ { once: true }
+ );
+
+ for (const logEntry of provider.getLog()) {
+ this.addLogEntry(logEntry, true);
+ }
+ // Set the initial scroll to the bottom.
+ this._logTable.scrollTo({
+ top: this._logTable.scrollTopMax,
+ behaviour: "instant",
+ });
+ });
+ },
+
+ observe(subject, topic) {
+ if (topic === TorProviderTopics.TorLog) {
+ this.addLogEntry(subject.wrappedJSObject, false);
+ }
+ },
+
+ addLogEntry(logEntry, initial) {
+ const timeEl = document.createElement("td");
+ timeEl.textContent = logEntry.timestamp;
+ timeEl.classList.add("time");
+ const messageEl = document.createElement("td");
+ messageEl.textContent = `[${logEntry.type}] ${logEntry.msg}`;
+ messageEl.classList.add("message");
+
+ const row = document.createElement("tr");
+ row.append(timeEl, messageEl);
+
+ // If this is a new entry, and we are currently scrolled to the bottom (with
+ // a 6px allowance) we keep the scroll position at the bottom to "follow"
+ // the updates.
+ const scrollToBottom =
+ !initial && this._logTable.scrollTop >= this._logTable.scrollTopMax - 6;
+
+ this._logBody.append(row);
+ if (scrollToBottom) {
+ this._logTable.scrollTo({ top: this._logTable.scrollTopMax });
+ }
+ },
+};
+
+window.addEventListener(
+ "DOMContentLoaded",
+ () => {
+ gTorLogDialog.init();
},
{ once: true }
);
=====================================
browser/components/torpreferences/content/torLogDialog.xhtml
=====================================
@@ -23,10 +23,33 @@
<script src="chrome://browser/content/torpreferences/torLogDialog.js" />
- <html:textarea
- id="torPreferences-torDialog-textarea"
- multiline="true"
- readonly="true"
- />
+ <!-- We use a <table> element rather than a <ol>. A table structure allows
+ - screen reader users to navigate within one column so they can avoid the
+ - readback of the timestamp on every row. See tor-browser#43328.
+ - NOTE: We add the explicit role="table". Whilst this should not be
+ - neccessary, nor is it recommended, some screen readers (Orca 46) do not
+ - read out the default table role if the CSS `display` is not `table`.
+ - NOTE: Even though this table is updated with live information, we do
+ - not want to make this an aria-live area or use a "log updated"
+ - notification because the log messages are potentially busy.
+ - Moreover, the live updates is a convience so that the log doesn't need
+ - to be manually refreshed, rather than important information.
+ - NOTE: We add a tabindex=0 to make this element focusable with or
+ - without the overflow. This also makes the table the the initial focus
+ - of the dialog.
+ - NOTE: We add lang="en" and dir="ltr" to the <tbody> since the content
+ - of the log is in English. We do not add this to the <table> element
+ - since its aria-label is localised and we want the scrollbar to match
+ - the locale direction.
+ - NOTE: We avoid any whitespace between the <table> and <tbody> to ensure
+ - it does not contribute to the text content when the top of the table is
+ - manually copied. -->
+ <html:table
+ id="tor-log-table"
+ role="table"
+ data-l10n-id="tor-log-dialog-table"
+ tabindex="0"
+ ><html:tbody id="tor-log-body" lang="en" dir="ltr"></html:tbody
+ ></html:table>
</dialog>
</window>
=====================================
browser/components/torpreferences/content/torPreferences.css
=====================================
@@ -1058,12 +1058,39 @@ groupbox#torPreferences-bridges-group textarea {
}
/* Tor logs dialog */
-textarea#torPreferences-torDialog-textarea {
+#tor-log-table {
flex: 1 0 auto;
- font-family: monospace;
- font-size: 0.8em;
- white-space: pre;
overflow: auto;
- /* 10 lines */
min-height: 20em;
+ height: 20em;
+ display: flex;
+ flex-direction: column;
+ padding: var(--space-small);
+ margin-block-end: 4px;
+ border: 1px solid var(--in-content-box-border-color);
+ border-radius: var(--border-radius-small);
+ font-size: var(--font-size-small);
+}
+
+#tor-log-body,
+#tor-log-table tr {
+ display: contents;
+}
+
+#tor-log-table td {
+ flex: 0 0 auto;
+ padding: 0;
+}
+
+#tor-log-table td.time {
+ color: var(--text-color-deemphasized);
+ margin-block-end: var(--space-xsmall);
+}
+
+#tor-log-table td.message {
+ overflow-wrap: anywhere;
+}
+
+#tor-log-table tr:not(:last-of-type) td.message {
+ margin-block-end: var(--space-medium);
}
=====================================
toolkit/components/tor-launcher/TorProvider.sys.mjs
=====================================
@@ -512,14 +512,12 @@ export class TorProvider {
}
/**
- * Returns captured log message as a text string (one message per line).
+ * Returns captured log messages.
*
- * @returns {string} The logs we collected from the tor daemon so far
+ * @returns {LogEntry[]} The logs we collected from the tor daemon so far.
*/
getLog() {
- return this.#logs
- .map(logObj => `${logObj.timestamp} [${logObj.type}] ${logObj.msg}`)
- .join(TorLauncherUtil.isWindows ? "\r\n" : "\n");
+ return structuredClone(this.#logs);
}
/**
=====================================
toolkit/locales/en-US/toolkit/global/tor-browser.ftl
=====================================
@@ -423,6 +423,9 @@ tor-view-log-button = View log…
# "log" is a noun, referring to the recorded text output of the Tor process.
tor-log-dialog-title =
.title = Tor log
+# The screen-reader name for the Tor log table. Should match the dialog title.
+tor-log-dialog-table =
+ .aria-label = { tor-log-dialog-title.title }
# "log" is a noun, referring to the recorded text output of the Tor process.
tor-log-dialog-copy-button =
.label = Copy Tor log to clipboard
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/8aa4f8…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/8aa4f8…
You're receiving this email because of your account on gitlab.torproject.org.
Dan Ballard pushed to branch maint-14.0 at The Tor Project / Applications / tor-browser-build
Commits:
90a754f9 by Dan Ballard at 2025-02-19T13:50:34-08:00
bug 41337: always copy gcc/stdlibc++ into firefox and remove from tor-expert-bundle
- - - - -
4 changed files:
- projects/browser/build
- projects/firefox/build
- projects/tor/README.md
- projects/tor/build
Changes:
=====================================
projects/browser/build
=====================================
@@ -120,12 +120,6 @@ mv [% c('input_files_by_name/noscript') %] "$TBDIR/$EXTSPATH/{73a6fe31-595d-460b
# Move tor and dependencies to where TB expects them
mv_tbdir tor/* "$TORBINPATH"
- # on linux, libstdc++ lives in it's own directory
- [% IF c("var/linux") %]
- mkdir -p "$TBDIR/$TORBINPATH/libstdc++"
- mv "$TBDIR/$TORBINPATH"/libstdc++.so.* "$TBDIR/$TORBINPATH/libstdc++"
- [% END %]
-
# the expert bundle includes tor-gencert, which isn't needed for browser releases
[% IF c("var/windows") %]
rm "$TBDIR/$TORBINPATH/tor-gencert.exe"
@@ -189,6 +183,13 @@ tar -C "${TB_STAGE_DIR}" -xf [% c('input_files_by_name/firefox') %]/browser.tar.
done
popd
rm -rf $TMP_MANUAL_PATH
+
+ # on linux, libstdc++ lives in it's own directory
+ [% IF c("var/linux") %]
+ # For legacy reasons, libstdc++ is with tor binaries in Tor Browser.
+ # We would have to test the updater to move it outside.
+ mv "$TBDIR/libstdc++" "$TBDIR/$TORBINPATH/libstdc++"
+ [% END %]
[% END -%]
[% IF c("var/namecoin") %]
=====================================
projects/firefox/build
=====================================
@@ -329,16 +329,20 @@ END;
[% IF c("var/linux") -%]
/var/tmp/dist/gcc/bin/g++ $rootdir/abicheck.cc -o Browser/abicheck -std=c++17
- [% IF !c("var/tor-browser") -%]
- libdest=Browser/libstdc++
- mkdir -p "$libdest"
- # FIXME: tor-browser-build#40749
- cp /var/tmp/dist/gcc/[% c("var/libdir") %]/libstdc++.so.* "$libdest"
- [% IF c("var/asan") -%]
- cp /var/tmp/dist/gcc/[% c("var/libdir") %]/libasan.so.* "$libdest"
- cp /var/tmp/dist/gcc/[% c("var/libdir") %]/libubsan.so.* "$libdest"
- [% END -%]
+ libdest=Browser/libstdc++
+ mkdir -p "$libdest"
+ # Not copying libstdc++.so.* as that dups with the full libstdc++.so.6.0.xx the .6 links to
+ # and libstdc++.so.6.0.28-gdb.py which is also not needed
+ cp /var/tmp/dist/gcc/[% c("var/libdir") %]/libstdc++.so.* "$libdest"
+ [% IF c("var/asan") -%]
+ cp /var/tmp/dist/gcc/[% c("var/libdir") %]/libasan.so.* "$libdest"
+ cp /var/tmp/dist/gcc/[% c("var/libdir") %]/libubsan.so.* "$libdest"
[% END -%]
+ # Strip and generate debuginfo for libs
+ for LIB in "$libdest"/*so*
+ do
+ "$STRIP" "$LIB"
+ done
[% END -%]
echo "Starting to package artifacts $(date)"
=====================================
projects/tor/README.md
=====================================
@@ -38,8 +38,5 @@ We plan to do it also on desktop platforms, see
## Other Linux libraries
-For Linux we also include here libstdc++ (and the sanitizers, if enabled), even
-though they aren't needed by tor.
-
-Also, on we provide debug symbols, but only for Linux, and only in
+For Linux we provide debug symbols, but only for Linux, and only in
`tor-expert-bundle`.
=====================================
projects/tor/build
=====================================
@@ -52,22 +52,7 @@ openssldir=/var/tmp/dist/openssl
cp $openssldir/lib/libssl.so.3 "$TORBINDIR"
cp $openssldir/lib/libcrypto.so.3 "$TORBINDIR"
cp $libeventdir/lib/libevent-2.1.so.7 "$TORBINDIR"
- # We need to copy the libstdc++.so.6 for Tor Browser on older Linux distros.
- # Copying it into /Browser, which feels more natural, and amending
- # LD_LIBRARY_PATH breaks updates from a Tor Browser with the old
- # LD_LIBRARY_PATH value to the Tor Browser with the newer one. Thus, we copy
- # the libstdc++ into the directory with the libs tor depends on, too. See bug
- # 13359 for further details.
- libdir=[% c("var/libdir") %]
- [% IF c("var/linux-cross") -%]
- libdir="[% c("var/crosstarget") %]/$libdir"
- [% END -%]
- cp "/var/tmp/dist/gcc/$libdir/libstdc++.so.6" "$TORBINDIR"
- [% IF c("var/asan") -%]
- cp "/var/tmp/dist/gcc/$libdir/libasan.so.6" "$TORBINDIR"
- cp "/var/tmp/dist/gcc/$libdir/libubsan.so.1" "$TORBINDIR"
- [% END -%]
- chmod 700 "$TORBINDIR"/*.so*
+
# This is needed to make RPATH unavailable. See bug 9150.
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$TORBINDIR"
[% END %]
@@ -136,17 +121,9 @@ cd $distdir
do
LIB=`basename $i`
- if [ $LIB == 'libstdc++.so.6' ]; then
- # keeping this separate to maintain reproducibility; we can probably
- # treat this the same as the rest (though it seems libstdc++ doesn't come with
- # any useful debug symbols since we don't build it, so maybe we should figure
- # out how to package them
- "$STRIP" "$TORBINDIR/$LIB"
- else
- "$OBJCOPY" --only-keep-debug "$TORBINDIR/$LIB" "$TORDEBUGDIR/$LIB"
- "$STRIP" "$TORBINDIR/$LIB"
- "$OBJCOPY" --add-gnu-debuglink="$TORDEBUGDIR/$LIB" "$TORBINDIR/$LIB"
- fi
+ "$OBJCOPY" --only-keep-debug "$TORBINDIR/$LIB" "$TORDEBUGDIR/$LIB"
+ "$STRIP" "$TORBINDIR/$LIB"
+ "$OBJCOPY" --add-gnu-debuglink="$TORDEBUGDIR/$LIB" "$TORBINDIR/$LIB"
done
[% END %]
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/9…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/9…
You're receiving this email because of your account on gitlab.torproject.org.
morgan pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
fa7e94b4 by Morgan at 2025-02-20T14:59:12+00:00
Update uplift and add backport issue template for consistency with tor-browser
- - - - -
2 changed files:
- + .gitlab/issue_templates/Backport.md
- .gitlab/issue_templates/Uplift.md
Changes:
=====================================
.gitlab/issue_templates/Backport.md
=====================================
@@ -0,0 +1,29 @@
+<!--
+Title:
+ Backport tor-browser-build-browser#12345: Title of Issue
+
+This is an issue for tracking back-porting a patch-set (e.g. from main to maint-14.0)
+-->
+
+## Backport Patchset
+
+### Book-keeping
+
+#### Gitlab Issue(s)
+- tor-browser#12345
+- mullvad-browser#123
+- tor-browser-build#12345
+
+#### Merge Request(s)
+- tor-browser-build!1234
+
+#### Target Channels
+
+- [ ] maint-14.0
+- [ ] maint-13.5
+
+### Notes
+
+<!-- whatever additional info, context, etc that would be helpful for backporting -->
+
+/label ~"Apps::Type::Backport"
=====================================
.gitlab/issue_templates/Uplift.md
=====================================
@@ -1,17 +1,25 @@
<!--
Title:
Uplift tor-browser-build#12345: Title of Issue
+
+This is an issue for tracking uplift of a patch-set to an upstream build-dependency (e.g. MinGW, clang, etc)
+
-->
-# Uplift Patchset
+## Uplift Patchset
-## Gitlab Issue(s)
+### Book-keeping
+
+#### Gitlab Issue(s)
- tor-browser-build#12345
-## Upstream Project Issue(s):
+#### Merge Request(s)
+- tor-browser-build!1234
+
+#### Upstream Project Issue(s):
-## Notes
+### Notes
<!-- whatever additional info, context, etc that would be helpful for uplifting -->
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/f…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/f…
You're receiving this email because of your account on gitlab.torproject.org.
morgan pushed to branch mullvad-browser-128.7.0esr-14.5-1 at The Tor Project / Applications / Mullvad Browser
Commits:
a4dcc590 by Morgan at 2025-02-20T14:41:28+00:00
fixup! Adding issue and merge request templates
add backport template and tweak the uplift template
- - - - -
3551913c by Morgan at 2025-02-20T14:46:09+00:00
fixup! MB 188: Customize Gitlab Issue and Merge templates
tweak backport temlpate for mullvad-browser
- - - - -
1 changed file:
- + .gitlab/issue_templates/Backport.md
Changes:
=====================================
.gitlab/issue_templates/Backport.md
=====================================
@@ -0,0 +1,27 @@
+<!--
+Title:
+ Backport mullvad-browser#123: Title of Issue
+
+This is an issue for tracking back-porting a patch-set (e.g. from Alpha to Stable)
+-->
+
+## Backport Patchset
+
+### Book-keeping
+
+#### Gitlab Issue(s)
+- tor-browser#12345
+- mullvad-browser#123
+
+#### Merge Request(s)
+- mullvad-browser!123
+
+#### Target Channels
+
+- [ ] Stable
+
+### Notes
+
+<!-- whatever additional info, context, etc that would be helpful for backporting -->
+
+/label ~"Apps::Type::Backport"
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/db…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/db…
You're receiving this email because of your account on gitlab.torproject.org.
Dan Ballard pushed to branch tor-browser-128.7.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
6c42a1f6 by Dan Ballard at 2025-02-19T18:04:53+00:00
fixup! TB 42669: [android] Use custom no-op app-services
Bug 42669: use topsrcdir as defined by us in local.properties for gradle to support different project dirs in AS
- - - - -
1 changed file:
- mobile/android/fenix/app/build.gradle
Changes:
=====================================
mobile/android/fenix/app/build.gradle
=====================================
@@ -315,8 +315,7 @@ android.applicationVariants.configureEach { variant ->
if (project.hasProperty("disableTor")) {
disableTor = project.getProperty("disableTor")
}
- System.setProperty("nimbusFml", rootProject.projectDir.toPath().resolve("tools").resolve("nimbus-fml").toAbsolutePath().toString())
-
+ System.setProperty("nimbusFml", "${topsrcdir}/mobile/android/tools/nimbus-fml")
println("----------------------------------------------")
println("Variant name: " + variant.name)
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/6c42a1f…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/6c42a1f…
You're receiving this email because of your account on gitlab.torproject.org.
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
a395d359 by Henry Wilkes at 2025-02-19T14:11:51+00:00
Bug 41372: Fix rename-branding-strings.py path.
- - - - -
1 changed file:
- projects/firefox/build
Changes:
=====================================
projects/firefox/build
=====================================
@@ -178,8 +178,8 @@ branding_dir=browser/branding/[% c("var/branding_directory_prefix") %]-[% c("var
mkdir -p "$l10n_branding_dir"
# Convert the translations repository branding files into files that work
# for this specific build.
- python3 rename-branding-strings.py $lang/branding/brand.ftl "$brand_ftl_renames" > "$l10n_branding_dir/brand.ftl"
- python3 rename-branding-strings.py $lang/brand.properties "$brand_properties_renames" > "$l10n_branding_dir/brand.properties"
+ python3 $rootdir/rename-branding-strings.py $lang/branding/brand.ftl "$brand_ftl_renames" > "$l10n_branding_dir/brand.ftl"
+ python3 $rootdir/rename-branding-strings.py $lang/brand.properties "$brand_properties_renames" > "$l10n_branding_dir/brand.properties"
done
popd
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/a…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/a…
You're receiving this email because of your account on gitlab.torproject.org.