Conversation
d4abde9 to
8d4547c
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1152 +/- ##
=======================================
Coverage 79.00% 79.00%
=======================================
Files 132 132
Lines 8236 8236
=======================================
Hits 6507 6507
Misses 1729 1729 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Just proxying Hector's note from mozilla/bedrock#8635 (comment) for visibility. The TL;DR is the true x64 bitness is not provided by all user agents and is therefore not reliable. There should be a new query parameter available now locking the actual arch used for the installation that pointed back to this page. |
|
@janbrasna do you know how we can trigger the installer_arch param for testing? (Otherwise, I guess we just assume it will be there and use test urls that already include the installer_arch param) |
|
I believe it comes from within in-product flow, either from the stub installer unable to install, or the in-product updater not able to update(?) — @l-hedgehog Would you know how to trigger that for testing? (or who to ask on the installer team? TY) For the NSIS patch linked it's this: https://github.com/mozilla-firefox/firefox/blob/c1e060fc/browser/installer/windows/nsis/stub.nsh#L98-L101 so IIUC the archs are passed as literal |
|
@janbrasna Essentially you'll have to somehow interrupt the stub installer while it's downloading the full installer in the background. I guess you could try just disabling the network during that phase, or if the download finishes too quick to test, maybe adding an entry to hosts file and point downloads.mozilla.org to localhost. |
That's my understanding too. Thanks both for the tips. @bluewave41 for development I think the easiest route will be testing directly with the installer arch params:
We can try triggering from interrupting the stub installer to confirm these urls but I think it's safe to assume we can rely on the expected params being there |
|
Ahh I get the full scope now. Blocking /etc/hosts on Windows with: Brings you to this URL once pressing the OK/continue button when asked to retry.
|
OK that's kind of a good point. Let's cheat differently. Could you turn the extra query arg into a new body/html class (wherever is easier to reach from the jinja context you'll be touching) — say " |
7f8cc68 to
406ca56
Compare
That was my first thought but it seemed like I was touching a larger scope than I wanted to for something that will only be used on a single page. I replaced my code with a commit that adds an I think with this we should be able to also use user agent sniffing to apply the aarch64 class correctly as a quick Google search says they display like |
I think you're now offering win64 installers not only for |
Gotcha so. No installer_arch = win32 always |
d32296d to
04d7e72
Compare
maureenlholland
left a comment
There was a problem hiding this comment.
the installer arch work looks good to me 🎉
one blocking issue on Nightly download button for http://localhost:8000/en-US/channel/desktop/
We should confirm this PR passes existing integration tests before merge: https://mozmeao.github.io/platform-docs/operations/pipeline/#pushing-to-the-integration-tests-branch
(^ this may require some permissions you don't yet have, if you are blocked here, ask in www slack for permissions)
With any new download functionality, we should also add new tests
- jasmine: https://mozmeao.github.io/platform-docs/testing/jasmine/
- playwright: https://mozmeao.github.io/platform-docs/testing/playwright/
Jasmine is probably the best for the new logic in site.js, but we might need to adjust or update Playwright to confirm the channel page download functionality too
| display: none !important; | ||
| } | ||
|
|
||
| .windows.x64 .download-button .os_win64 { |
|
initial integration tests run: https://github.com/mozmeao/springfield/actions/runs/23549818496/job/68560367753 |
I perhaps forgot to mention only adding that template class override only for that one specific page where it's expected to be parsing the query string. Haven't checked actual feasibility in terms of what view handles that and how easy is to add the request args to the render context etc., so that was mainly thinking out loud, how to contain the change within the targeted page as much as possible.
That however sounds like this could affect any page running site.js, if a query param is added to any such arbitrary page? (Also, the issues surfaced by integration tests on other pages not subject to this change per se means the potential to change CTAs behavior is currently site-wide.) Why I'm mentioning it is, without deeper understanding of when the
It was not included in the Client/site.js because it is not exposed and most user agent strings realistically just freeze the values, or, was not deemed reliable even when using the JS navigator data. It might work for some browsers using client-hints, but e.g. will definitely not work if opened in Firefox. The code used to be there, but was never used: mozilla/bedrock#8454 (comment) |
04d7e72 to
36b9526
Compare

One-line summary
Windows users are shown the 32 bit download link on https://www.mozilla.org/firefox/installer-help/?channel=release regardless of their current architecture.
Issue / Bugzilla link
https://bugzilla.mozilla.org/show_bug.cgi?id=1564333
Testing
Before each step remember to change the HTML class OS to "windows"
The x64 doesn't matter as it doesn't affect the shown download button. Only "win" is ever displayed
https://download.mozilla.org/?product=firefox-latest-ssl&os=win&lang=en-UShttps://download.mozilla.org/?product=firefox-latest-ssl&os=win&lang=en-UShttps://download.mozilla.org/?product=firefox-latest-ssl&os=win&lang=en-UShttps://download.mozilla.org/?product=firefox-latest-ssl&os=win64&lang=en-UShttps://download.mozilla.org/?product=firefox-latest-ssl&os=win64-aarch64&lang=en-US