Conversation
dschom
force-pushed
the
FXA-14459
branch
3 times, most recently
from
September 3, 2026 21:27
8385da5 to
77e4f0c
Compare
dschom
marked this pull request as ready for review
September 4, 2026 01:19
bcolsson
approved these changes
Sep 4, 2026
Because: * ContinueInFirefox duplicated the existing /pair/supplicant/download_firefox page — the same card and copy under a second set of Fluent ids. * The hand-off rendered inline at /pair, so it had no URL of its own and no view metrics. This commit: * Moves the deep-link hand-off onto Pair2/Supplicant/DownloadFirefox and deletes components/ContinueInFirefox. * Navigates from /pair with the channel in router state, keeping the channel key out of the URL, and falls back to the plain download CTA when no channel arrives. * Rebuilds the plan in a new container, so autoAttempt is read from live sessionStorage rather than frozen into a history entry. * Adds the cad_firefox.download_firefox_view Glean event. Closes: FXA-14459
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Because
ContinueInFirefoxduplicated the existing/pair/supplicant/download_firefoxpage — the same card and copy under a second set of Fluent ids.
/pair, so it had no URL of its own and noview metrics.
This pull request
Pair2/Supplicant/DownloadFirefoxanddeletes
components/ContinueInFirefox./pairwith the channel in router state, keeping the channelkey out of the URL.
autoAttemptis read from livesessionStoragerather than frozen into a history entry.degrades instead of erroring.
cad_firefox.download_firefox_viewGlean event.Issue that this pull request solves
Closes: FXA-14459
Checklist
Put an
xin the boxes that applyHow to review (Optional)
packages/fxa-settings/src/pages/Pair2/Supplicant/DownloadFirefox/{index,container}.tsxand the navigation added to
pages/Pair/Index/index.tsx./pairnavigation, then the Glean wiring.
It lives in
sessionStoragekeyed onplan.target, so the container has torebuild that target byte-identically — a different origin or reordered hash
params would re-key it and reintroduce the Play Store bounce loop.
Screenshots (Optional)
I also validated that spinner is now in the button.
Other information (Optional)
off. That is the download-CTA fallback above, not an error — worth a look if
you disagree with the trade.
carries two
#(intent://…/pair#channel_id=…&v=2#Intent;…;end) and relieson
parseUrisplitting on the last one. There is noSUPPLICANT_DOWNLOAD_FIREFOXentry infunctional-tests, so this path hasno E2E coverage either way.
cad_firefoxgroup's existingbugsand reuses itsdata_reviews, matching whatchoice_viewdid forFXA-14133 — please confirm that covers a new event.
CI note
Two jobs were red on this branch and neither was caused by the pairing work —
both were already failing on
main's own nightly run (pipeline 72802). Thetest-only repairs are folded into this commit so the branch can go green:
fxa-auth-server/lib/routes/account.spec.tsexpectedacceptLanguage"en-US".21c5faa5db fix(l10n): stop requesting en-US ftl files we never deploydroppeden-USfromsupported-languages.json, so negotiationresolves it to
"en". That commit made the same edit toemail-helpers.spec.tsand missed this one.test/remote/passkey_wraps.in.spec.tsimportedVirtualAuthenticatorfromthe
@fxa/accounts/passkeybarrel, which no longer exports it after192b53e271 refactor(passkey): move virtual authenticator to a testing entry point. Now imported from@fxa/accounts/passkey/testing, aspasskeys.in.spec.tsalready does.Both fixes are independent of the pairing change, and
mainis still red onthese two jobs — worth landing them there too.