Tor Browser issueshttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues2024-02-06T14:03:19Zhttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41383Connection preferences semantic and accessibility problems2024-02-06T14:03:19ZhenryConnection preferences semantic and accessibility problemsThe tor browser "Connection" preference pane has a number of semantic issues, and accessibility problems.
Firefox preferences have their own accessibility issues and really should be ported to HTML, so I'm just going to focus on the one...The tor browser "Connection" preference pane has a number of semantic issues, and accessibility problems.
Firefox preferences have their own accessibility issues and really should be ported to HTML, so I'm just going to focus on the ones that are unique to the tor browser "Connection" pane.
1. ~~The "Changes to Tor Settings will not take effect until you connect" banner and button at the top (`#torPreferences-connectMessageBox`) are embedded in a single-row `<table>`.~~ Removed in https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41618
2. The Internet and Tor Network status area (`#torPreferences-status-group`) has no semantic structure, or any text indicating that this is giving a status.
3. The "Test" button (`#torPreferences-status-internet-test`) is placed in between text nodes, gives no feedback when it is clicked, ~~and looses the focus when it disappears.~~ (no longer disappears with https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41618)
4. ~~The [first] `paneConnection` `<groupbox>` doesn't manage focus when it gets hidden. E.g. if focus is within it when tor gets bootstrapped.~~ I think this was dropped in https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41618
5. ~~`#torPreferences-bridgeCard-menu` is exposed directly in the middle of the DOM. This means it will be encountered during screen reader navigation. It should be hidden, or at the top of the document, or in a `<xul:popupset>`.~~ Removed in https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42036/
6. ~~The "Your Current Bridges" includes a checkbox `#torPreferences-currentBridges-switch` inside the `<h2>` element. It should not be inside the heading. It also has no accessible name.~~ Fixed in https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41085
7. ~~The bridge card list (`#torPreferences-currentBridges-cards`) does not have any list-like semantic structure.~~ Replaced with a grid in https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42036/
8. ~~The bridge cards (`.torPreferences-bridgeCard`) do not have any semantic structure.~~ Replaced with a row in https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42036/
9. ~~The collapsed bridge cards cannot be focused to expand them.~~ Removed in https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42036/
10. ~~The `.emoji` `<img>` elements have both `alt` and `title` attribute. The former acts as the accessible name, and the latter as the accessible description. The `alt` is just the emoji character, whilst the title is a text description. On a screen reader, the emoji will be read out as its description. This results in double speech on a screen reader. Either the `alt` or the `title` should be set, but not both.~~ Only uses title after https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42036/.
11. ~~The `.torPreferences-bridgeCard-options` `<button>` does not have an accessible name. Moreover, it is lacking the `aria-haspopup="menu"` and the corresponding `aria-expanded` and `aria-controls`.~~ Replaced in https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42036/ with a labelled options menu.
12. ~~The `.torPreferences-bridgeCard-qrOnion` zoom button is not a `<button>` and cannot receive keyboard focus. Not sure if this is much of an issue since you can copy from the input.~~ Removed in https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42036/
13. The QR code dialog does not seem to take focus properly when it is shown. It might also benefit from being able to save the QR code to a file.
14. The "Copy Bridge Address" button is non-responsive when using the screen reader. Probably want to have an `aria-live` region to show the "Copied" text.
15. The "Remove all bridges" popup (`#bridge-remove-modal`) does not have the semantics of a dialog. `#bridge-remove-dismiss` is not a button and does not have an accessible name. The dialog does not receive focus when it is shown. Moroever, it doesn't look like the firefox modal dialogs.
16. The "Built-In Bridges" dialog seems to focus the "Help" button, rather than the dialog content or the radio group. The radio options are missing `aria-describedby` that points to the descriptive text.
17. The "Request Bridge" dialog uses a visual-only CAPTCHA, so is not accessible. The refresh button does not have an accessible name.
18. ~~The "Provide Bridge" dialog (manually specify bridges) input does not have a label. Also, it seems that the placeholder text is being slightly misused to give descriptive information.~~ Added label and changed the placeholder in https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41913, but should validate whether we need the "aria-describedby" or whether this overloads the user with information.
19. The "Connection Settings" dialog also doesn't capture focus properly.
20. Some of the dialogs use a single `<h3>` element at the top, as well as a dialog title when I think you could just use one. If we are using a header, then I think it shouldn't be `h3`: the dialog should be its own context, so starting a level-3 doesn't make much sense.
21. The "Tor Logs" dialog does receive focus. Similar to above, the "Copy Tor Log to Clipboard" also would benefit from an `aria-live` region to show the "Copied" text.
22. The `#torPreferences-bridges-locationGroup` section (shown when there has been a bootstrapping failure not due to the internet connection) doesn't mange focus when it is hidden.
23. There's a lack of semantic or contextual association between the `#torPreferences-bridges-location` menulist and its `#torPreferences-bridges-buttonChooseBridgeForMe` submit button. They come across as independent.
24. The "Frequently selected locations" and "Other locations" items in `#torPreferences-bridges-location` are treated as disabled items, rather than as the accessible label for a `role="group"` element.
This is just from a single pass-through so there may be more issues. Especially for interactive behaviour.Sponsor 131 - Phase 5 - Ongoing Maintenancehttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42347Add a banner warning users about the upcoming EOL for Win ≤8.1 and macOS ≤10.142024-02-01T14:39:44ZPier Angelo VendrameAdd a banner warning users about the upcoming EOL for Win ≤8.1 and macOS ≤10.1413.5 will be the last Windows version, Mozilla bumped the requirement to Windows 10.
We could add a warning to Windows 7 users somewhere, e.g., in about:tor.
We can check the version of the OS with `Services.sysinfo.getProperty("versio...13.5 will be the last Windows version, Mozilla bumped the requirement to Windows 10.
We could add a warning to Windows 7 users somewhere, e.g., in about:tor.
We can check the version of the OS with `Services.sysinfo.getProperty("version")`. It's `10.0` in my Windows 10 VM, and `6.1` in my Windows 7 VM.
Maybe the first versions of Windows 10 also use 6.1, but if that's the case, they're unsupported too.https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42269Build new bridge card format for Lox bridges2024-01-31T10:59:51ZdonutsBuild new bridge card format for Lox bridgesSee: https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42036/designs/lox-bridge-cards.pngSee: https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42036/designs/lox-bridge-cards.pngSponsor 96: Rapid Expansion of Access to the Uncensored Internet through Tor in China, Hong Kong, & Tibethenryhenry2024-01-18https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42268Adapt the "Add a bridge..." dialog to accept Lox invites (i.e. bridge passes)2024-01-31T10:59:31ZdonutsAdapt the "Add a bridge..." dialog to accept Lox invites (i.e. bridge passes)See: https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42036/designs/lox-invite.pngSee: https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42036/designs/lox-invite.pngSponsor 96: Rapid Expansion of Access to the Uncensored Internet through Tor in China, Hong Kong, & Tibethenryhenry2024-01-18https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41811Connect buttons in bridge modals should be purple2024-01-30T22:03:42ZdonutsConnect buttons in bridge modals should be purple`Connect` buttons are always purple in our UI, however all other confirmation buttons (e.g. "OK" and "Save") should remain the primary theme color.
See this Figma file for reference: [Figma link](https://www.figma.com/file/RS584DcR4emXr...`Connect` buttons are always purple in our UI, however all other confirmation buttons (e.g. "OK" and "Save") should remain the primary theme color.
See this Figma file for reference: [Figma link](https://www.figma.com/file/RS584DcR4emXrw1F8g3l5x/Tor-Browser-12.5?type=design&node-id=62%3A10116&t=BJbn9R4EgNRt9Tq3-1)henryhenryhttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42267Update the title, strings and button copy of the "Add a Bridge..." dialog2024-01-30T15:02:44ZdonutsUpdate the title, strings and button copy of the "Add a Bridge..." dialogSee: https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42036/designs/lox-add-bridge.pngSee: https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42036/designs/lox-add-bridge.pngSponsor 96: Rapid Expansion of Access to the Uncensored Internet through Tor in China, Hong Kong, & Tibethenryhenry2024-01-18https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42264Update strings across bridge settings as per the designs2024-01-30T15:02:27ZdonutsUpdate strings across bridge settings as per the designsSee: https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42036/designs/lox-not-connected.pngSee: https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42036/designs/lox-not-connected.pnghenryhenryhttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42265Add empty state placeholder for bridge cards2024-01-30T15:01:35ZdonutsAdd empty state placeholder for bridge cardsSee: https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42036/designs/lox-not-connected.pngSee: https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42036/designs/lox-not-connected.pnghenryhenryhttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42271Transition non-Lox bridges (i.e. built-in, requested, added) to use the new b...2024-01-30T15:01:22ZdonutsTransition non-Lox bridges (i.e. built-in, requested, added) to use the new bridge card formatSee the Figma file: [Figma / Tor Browser 13.5 / lox](https://www.figma.com/file/rWgMwiiFTDFp4ujuP3PKbq/Tor-Browser-13.5?type=design&node-id=151%3A9289&mode=design&t=wDYnw2iq2A868OmH-1)See the Figma file: [Figma / Tor Browser 13.5 / lox](https://www.figma.com/file/rWgMwiiFTDFp4ujuP3PKbq/Tor-Browser-13.5?type=design&node-id=151%3A9289&mode=design&t=wDYnw2iq2A868OmH-1)henryhenryhttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42272Use a single QR code for multiple traditional bridge lines (≤3)2024-01-30T15:01:17ZdonutsUse a single QR code for multiple traditional bridge lines (≤3)See https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42036/designs/lox-qr.png.See https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42036/designs/lox-qr.png.henryhenryhttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42266Create "Find more bridges" sub-section within bridge settings2024-01-30T15:00:25ZdonutsCreate "Find more bridges" sub-section within bridge settingsSee: https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42036/designs/lox-not-connected.pngSee: https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42036/designs/lox-not-connected.pnghenryhenryhttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41917Make the appearance of letterboxing look more intentional2024-01-30T13:24:57Zma1Make the appearance of letterboxing look more intentionalCurrent letterboxing appearance looks like a buggy window to some users.
We want to make it look more intentional by:
1. adding a shadow to the content area to make it "pop" from the letterboxing background
2. adding a themed gradient t...Current letterboxing appearance looks like a buggy window to some users.
We want to make it look more intentional by:
1. adding a shadow to the content area to make it "pop" from the letterboxing background
2. adding a themed gradient to the letterboxing backgroundma1ma1https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41716Figure out how to display conflux circuits in Tor Browser's UI2024-01-29T19:26:13Zmicahmicah@torproject.orgFigure out how to display conflux circuits in Tor Browser's UINow that circuit display was literally just re-implemented...
When 0.4.8 becomes stabilized (this will take a few months still), conflux will come to the network. Conflux will open a new world with tor circuits: circuits are no longer n...Now that circuit display was literally just re-implemented...
When 0.4.8 becomes stabilized (this will take a few months still), conflux will come to the network. Conflux will open a new world with tor circuits: circuits are no longer necessarily static, now they can be dynamic, the TCP circuits can change paths, and can have multiple paths, and doing so can bring some nice improvements for people.
We need to start thinking about how we want to communicate to the user in TB. Specifically that the circuit(s) are conflux circuits. Users knowing that they are using a conflux circuit will provide valuable information to them (and their feedback to us as well).
Because the circuits can now change paths, this could have a lot of UI visualization implications, such as reflecting that there are these paths that are now ready, or that there is a new circuit leg available. That would be the nice (but complicated) signal to users, but starting with something simple by just indicating in the UI that this is a conflux circuit (eg. literally just writing the word 'conflux' in green or something) would be a good first signal step. So there is a UX question here.
For the dev side of things, right now its possible (in 0.4.8) to get from the control port that a circuit is a conflux circuit, but it doesn't have any advanced information that would be useful for multi-leg displays, but if we want to show those types of things, we will need to talk about what would be needed to be added to tor to extract that information.
perhaps we can have a ad-hoc session at our in-person meeting to brief folks on what conflux means and its benefits.https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42307Consider adjusting Nightly app icon color for a11y2024-01-29T19:18:54ZThorinConsider adjusting Nightly app icon color for a11yI used https://www.color-blindness.com/coblis-color-blindness-simulator/ cc @donuts to triage
![colors](/uploads/9a40f550015248dda2a429d6ad58843e/colors.png)I used https://www.color-blindness.com/coblis-color-blindness-simulator/ cc @donuts to triage
![colors](/uploads/9a40f550015248dda2a429d6ad58843e/colors.png)nicobnicobhttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/40337Dark mode in Tor Browser2024-01-21T20:34:40ZsukhmanDark mode in Tor BrowserI want to enable **full dark mode** (all websites become dark) in the tor browser, not just a theme, as I am sensitive to white light. I can't use the tor browser for more than 2 hours (approx.) because of this white light. Is there any ...I want to enable **full dark mode** (all websites become dark) in the tor browser, not just a theme, as I am sensitive to white light. I can't use the tor browser for more than 2 hours (approx.) because of this white light. Is there any way to enable it without using any external add-on(s)?
What I'd tried?
I can see there is a setting, in _about:config_, named as "_widget.content.allow-gtk-dark-theme._"But when I enable it nothing happens.
Edit: I know it is more like a question, not an issue but, in my case, I can count it as an issue.https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42361"Onionize" in about:tor is difficult to translate2024-01-18T15:08:39ZJag Talon"Onionize" in about:tor is difficult to translateThe term onionize is wonderfully succinct in English, but it seems difficult to translate in other languages. @emmapeel mentioned that a translator suggested, "Wouldn't it be easier to convey the meaning if the original was ".onion" rath...The term onionize is wonderfully succinct in English, but it seems difficult to translate in other languages. @emmapeel mentioned that a translator suggested, "Wouldn't it be easier to convey the meaning if the original was ".onion" rather than "Onionize"?
Perhaps it could be straightforward like, "Use onion service" as well? Might be too long, but I wanted to flag it here so that we don't forget.https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42242remove OS formatting option2024-01-17T06:17:11ZThorinremove OS formatting optionupstream: [1823580](https://bugzilla.mozilla.org/show_bug.cgi?id=1823580) is for RFP to ignore the pref, not the UI
meanwhile
- remove the UI
- ![the_perp](/uploads/d2fdaacf325a6e904d73693611d43a7b/the_perp.png)
- add `intl.regional_...upstream: [1823580](https://bugzilla.mozilla.org/show_bug.cgi?id=1823580) is for RFP to ignore the pref, not the UI
meanwhile
- remove the UI
- ![the_perp](/uploads/d2fdaacf325a6e904d73693611d43a7b/the_perp.png)
- add `intl.regional_prefs.use_os_locales` = `false` for future proofing
- the pref is default `false`https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42341In Tails: replace Tor Settings with Tails-specific message2024-01-10T09:43:53ZanonymIn Tails: replace Tor Settings with Tails-specific messageTails uses its own "Tor Launcher"-replacement, called Tor Connection Assistant, that runs outside of the browser. For this reason Tor Browser hides the "Connection" (previously "Tor") section in the preferences.
However, when user-testi...Tails uses its own "Tor Launcher"-replacement, called Tor Connection Assistant, that runs outside of the browser. For this reason Tor Browser hides the "Connection" (previously "Tor") section in the preferences.
However, when user-testing Tails we have observed that [users still look for pluggable transport configuration in Tor Browser's settings](https://gitlab.tails.boum.org/tails/tails/-/issues/18585). For this reason we think that it actually would be better if you didn't hide this section, but instead replaced the contents (e.g. the controls used to configure `tor`) with a Tails-specific text, instructing users to use the Tor Connection Assistant instead in order to configure pluggable-transport etc.
If you agree with this we can provide you with the text we would prefer to have there.https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42311Firfox doesn't like the embedded PNG in tor-browser-logo.svg2024-01-09T14:38:33ZPier Angelo VendrameFirfox doesn't like the embedded PNG in tor-browser-logo.svgI was checking if the suggestion for the patch to resolve debug problems worked, and I stumbled upon about:tor dying for the assertion in `image/imgLoader.cpp:2474`:
```
MOZ_ASSERT(NS_UsePrivateBrowsing(newChannel) == mRespectPrivacy);
...I was checking if the suggestion for the patch to resolve debug problems worked, and I stumbled upon about:tor dying for the assertion in `image/imgLoader.cpp:2474`:
```
MOZ_ASSERT(NS_UsePrivateBrowsing(newChannel) == mRespectPrivacy);
```
<details><summary>Call stack</summary>
```
__GI___clock_nanosleep (@clock_nanosleep@GLIBC_2.2.5:29)
__GI___nanosleep (@__nanosleep:9)
__sleep (@sleep:17)
common_crap_handler(int, void const*) (/home/piero/Tor/tor-browser/toolkit/xre/nsSigHandlers.cpp:96)
child_ah_crap_handler(int) (/home/piero/Tor/tor-browser/toolkit/xre/nsSigHandlers.cpp:110)
WasmTrapHandler(int, siginfo_t*, void*) (/home/piero/Tor/tor-browser/js/src/wasm/WasmSignalHandlers.cpp:799)
__restore_rt (@__restore_rt:3)
imgLoader::LoadImage(nsIURI*, nsIURI*, nsIReferrerInfo*, nsIPrincipal*, unsigned long, nsILoadGroup*, imgINotificationObserver*, nsINode*, mozilla::dom::Document*, unsigned int, nsISupports*, nsIContentPolicy::nsContentPolicyType, nsTSubstring<char16_t> const&, bool, bool, unsigned long, imgRequestProxy**) (/home/piero/Tor/tor-browser/image/imgLoader.cpp:2474)
nsContentUtils::LoadImage(nsIURI*, nsINode*, mozilla::dom::Document*, nsIPrincipal*, unsigned long, nsIReferrerInfo*, imgINotificationObserver*, int, nsTSubstring<char16_t> const&, imgRequestProxy**, nsIContentPolicy::nsContentPolicyType, bool, bool, unsigned long) (/home/piero/Tor/tor-browser/dom/base/nsContentUtils.cpp:4004)
nsImageLoadingContent::LoadImage(nsIURI*, bool, bool, nsImageLoadingContent::ImageLoadType, unsigned int, mozilla::dom::Document*, nsIPrincipal*) (/home/piero/Tor/tor-browser/dom/base/nsImageLoadingContent.cpp:1143)
nsImageLoadingContent::LoadImage(nsTSubstring<char16_t> const&, bool, bool, nsImageLoadingContent::ImageLoadType, nsIPrincipal*) (/home/piero/Tor/tor-browser/dom/base/nsImageLoadingContent.cpp:1027)
mozilla::dom::SVGImageElement::LoadSVGImage(bool, bool) (/home/piero/Tor/tor-browser/dom/svg/SVGImageElement.cpp:146)
mozilla::dom::SVGImageElement::AfterSetAttr(int, nsAtom*, nsAttrValue const*, nsAttrValue const*, nsIPrincipal*, bool) (/home/piero/Tor/tor-browser/dom/svg/SVGImageElement.cpp:215)
mozilla::dom::Element::SetAttrAndNotify(int, nsAtom*, nsAtom*, nsAttrValue const*, nsAttrValue&, nsIPrincipal*, unsigned char, bool, bool, bool, mozilla::dom::Document*, mozAutoDocUpdate const&) (/home/piero/Tor/tor-browser/dom/base/Element.cpp:2653)
mozilla::dom::Element::SetAttr(int, nsAtom*, nsAtom*, nsTSubstring<char16_t> const&, nsIPrincipal*, bool) (/home/piero/Tor/tor-browser/dom/base/Element.cpp:2506)
mozilla::dom::Element::SetAttr(int, nsAtom*, nsAtom*, nsTSubstring<char16_t> const&, bool) (/home/piero/Tor/tor-browser/obj-x86_64-pc-linux-gnu/dist/include/mozilla/dom/Element.h:1000)
nsXMLContentSink::AddAttributes(char16_t const**, mozilla::dom::Element*) (/home/piero/Tor/tor-browser/dom/xml/nsXMLContentSink.cpp:1376)
nsXMLContentSink::HandleStartElement(char16_t const*, char16_t const**, unsigned int, unsigned int, unsigned int, bool) (/home/piero/Tor/tor-browser/dom/xml/nsXMLContentSink.cpp:957)
nsXMLContentSink::HandleStartElement(char16_t const*, char16_t const**, unsigned int, unsigned int, unsigned int) (/home/piero/Tor/tor-browser/dom/xml/nsXMLContentSink.cpp:903)
non-virtual thunk to nsXMLContentSink::HandleStartElement(char16_t const*, char16_t const**, unsigned int, unsigned int, unsigned int) (/home/piero/Tor/tor-browser/dom/xml/nsXMLContentSink.cpp:0)
nsExpatDriver::HandleStartElement(rlbox::rlbox_sandbox<rlbox::rlbox_noop_sandbox>&, rlbox::tainted<void*, rlbox::rlbox_noop_sandbox>, rlbox::tainted<char16_t const*, rlbox::rlbox_noop_sandbox>, rlbox::tainted<char16_t const**, rlbox::rlbox_noop_sandbox>) (/home/piero/Tor/tor-browser/parser/htmlparser/nsExpatDriver.cpp:477)
doContentInternal (/home/piero/Tor/tor-browser/parser/expat/lib/xmlparse.c:2920)
doContent (/home/piero/Tor/tor-browser/parser/expat/lib/xmlparse.c:2664)
contentProcessor (/home/piero/Tor/tor-browser/parser/expat/lib/xmlparse.c:2540)
MOZ_XML_ParseBuffer (/home/piero/Tor/tor-browser/parser/expat/lib/xmlparse.c:2004)
auto rlbox::rlbox_noop_sandbox::impl_invoke_with_func_ptr<XML_Status (XML_ParserStruct*, char const*, int, int), XML_Status (void*, void*, int, int), void*, void*, unsigned long, bool>(XML_Status (*)(void*, void*, int, int), void*&&, void*&&, unsigned long&&, bool&&) (/home/piero/Tor/tor-browser/obj-x86_64-pc-linux-gnu/dist/include/mozilla/rlbox/rlbox_noop_sandbox.hpp:188)
auto rlbox::rlbox_sandbox<rlbox::rlbox_noop_sandbox>::INTERNAL_invoke_with_func_ptr<XML_Status (XML_ParserStruct*, char const*, int, int), rlbox::tainted<XML_ParserStruct*, rlbox::rlbox_noop_sandbox>&, rlbox::tainted<char const*, rlbox::rlbox_noop_sandbox>, unsigned long, bool>(char const*, void*, rlbox::tainted<XML_ParserStruct*, rlbox::rlbox_noop_sandbox>&, rlbox::tainted<char const*, rlbox::rlbox_noop_sandbox>&&, unsigned long&&, bool&&) (/home/piero/Tor/tor-browser/obj-x86_64-pc-linux-gnu/dist/include/mozilla/rlbox/rlbox_sandbox.hpp:790)
nsExpatDriver::ParseChunk(char16_t const*, unsigned int, nsExpatDriver::ChunkOrBufferIsFinal, unsigned int*, unsigned long*) (/home/piero/Tor/tor-browser/parser/htmlparser/nsExpatDriver.cpp:1248)
nsExpatDriver::ChunkAndParseBuffer(char16_t const*, unsigned int, bool, unsigned int*, unsigned int*, unsigned long*) (/home/piero/Tor/tor-browser/parser/htmlparser/nsExpatDriver.cpp:1204)
nsExpatDriver::ResumeParse(nsScanner&, bool) (/home/piero/Tor/tor-browser/parser/htmlparser/nsExpatDriver.cpp:1352)
nsParser::ResumeParse(bool, bool, bool) (/home/piero/Tor/tor-browser/parser/htmlparser/nsParser.cpp:716)
nsParser::OnDataAvailable(nsIRequest*, nsIInputStream*, unsigned long, unsigned int) (/home/piero/Tor/tor-browser/parser/htmlparser/nsParser.cpp:1027)
imgRequest::OnDataAvailable(nsIRequest*, nsIInputStream*, unsigned long, unsigned int) (/home/piero/Tor/tor-browser/image/imgRequest.cpp:1068)
nsJARChannel::OnDataAvailable(nsIRequest*, nsIInputStream*, unsigned long, unsigned int) (/home/piero/Tor/tor-browser/modules/libjar/nsJARChannel.cpp:1312)
nsInputStreamPump::OnStateTransfer() (/home/piero/Tor/tor-browser/netwerk/base/nsInputStreamPump.cpp:584)
nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream*) (/home/piero/Tor/tor-browser/netwerk/base/nsInputStreamPump.cpp:411)
non-virtual thunk to nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream*) (/home/piero/Tor/tor-browser/netwerk/base/nsInputStreamPump.cpp:0)
CallbackHolder::CallbackHolder(nsIAsyncInputStream*, nsIInputStreamCallback*, unsigned int, nsIEventTarget*)::'lambda'()::operator()() const (/home/piero/Tor/tor-browser/xpcom/io/nsPipe3.cpp:73)
already_AddRefed<mozilla::CancelableRunnable> NS_NewCancelableRunnableFunction<CallbackHolder::CallbackHolder(nsIAsyncInputStream*, nsIInputStreamCallback*, unsigned int, nsIEventTarget*)::'lambda'()>(char const*, CallbackHolder::CallbackHolder(nsIAsyncInputStream*, nsIInputStreamCallback*, unsigned int, nsIEventTarget*)::'lambda'()&&)::FuncCancelableRunnable::Run() (/home/piero/Tor/tor-browser/obj-x86_64-pc-linux-gnu/dist/include/nsThreadUtils.h:667)
mozilla::RunnableTask::Run() (/home/piero/Tor/tor-browser/xpcom/threads/TaskController.cpp:555)
mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) (/home/piero/Tor/tor-browser/xpcom/threads/TaskController.cpp:879)
mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) (/home/piero/Tor/tor-browser/xpcom/threads/TaskController.cpp:702)
mozilla::TaskController::ProcessPendingMTTask(bool) (/home/piero/Tor/tor-browser/xpcom/threads/TaskController.cpp:491)
mozilla::TaskController::TaskController()::$_0::operator()() const (/home/piero/Tor/tor-browser/xpcom/threads/TaskController.cpp:218)
mozilla::detail::RunnableFunction<mozilla::TaskController::TaskController()::$_0>::Run() (/home/piero/Tor/tor-browser/xpcom/threads/nsThreadUtils.h:548)
nsThread::ProcessNextEvent(bool, bool*) (/home/piero/Tor/tor-browser/xpcom/threads/nsThread.cpp:1240)
NS_ProcessNextEvent(nsIThread*, bool) (/home/piero/Tor/tor-browser/xpcom/threads/nsThreadUtils.cpp:479)
mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) (/home/piero/Tor/tor-browser/ipc/glue/MessagePump.cpp:85)
MessageLoop::RunHandler() (/home/piero/Tor/tor-browser/ipc/chromium/src/base/message_loop.cc:361)
MessageLoop::Run() (/home/piero/Tor/tor-browser/ipc/chromium/src/base/message_loop.cc:343)
nsBaseAppShell::Run() (/home/piero/Tor/tor-browser/widget/nsBaseAppShell.cpp:148)
XRE_RunAppShell() (/home/piero/Tor/tor-browser/toolkit/xre/nsEmbedFunctions.cpp:724)
mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) (/home/piero/Tor/tor-browser/ipc/glue/MessagePump.cpp:235)
MessageLoop::RunHandler() (/home/piero/Tor/tor-browser/ipc/chromium/src/base/message_loop.cc:361)
MessageLoop::Run() (/home/piero/Tor/tor-browser/ipc/chromium/src/base/message_loop.cc:343)
XRE_InitChildProcess(int, char**, XREChildData const*) (/home/piero/Tor/tor-browser/toolkit/xre/nsEmbedFunctions.cpp:659)
content_process_main(mozilla::Bootstrap*, int, char**) (/home/piero/Tor/tor-browser/ipc/contentproc/plugin-container.cpp:57)
main (/home/piero/Tor/tor-browser/browser/app/nsBrowserApp.cpp:375)
__libc_start_call_main (@__libc_start_call_main:26)
__libc_start_main_impl (@__libc_start_main@@GLIBC_2.34:43)
_start (@_start:14)
```
</details>
I'm trying an optimized build with asserts on, so many variables have been optimized out.
However, I managed to see that it was this PNG by checking `href` at the end of `mozilla::dom::SVGImageElement::LoadSVGImage`.
FWIW, I think this is a peculiarity of the YEC homepage.https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/28885notify users that update is downloading2023-12-12T12:59:07ZMark Smithnotify users that update is downloadingAn important improvement that was discussed in legacy/trac#25694 is to let users know when an update is in the process of being downloaded. Firefox does not show this information in an obvious way; users need to open about:preferences an...An important improvement that was discussed in legacy/trac#25694 is to let users know when an update is in the process of being downloaded. Firefox does not show this information in an obvious way; users need to open about:preferences and look in the Updates section or open the about box. Tor Browser users are sometimes confused because they know an update is available but have no easy way to know if it is being downloaded, and downloading the MAR files can take a while over Tor.
We plan to add a new "Downloading Tor Browser update..." message that will be displayed in the hamburger menu. We will also ensure that the standard "update" icon is displayed on the hamburger menu toolbar icon so users know to look inside for more info.