Conversation
Because:
- Pairing v2 switched on from the pairingVersion Firefox reports in
fxa_status, which follows a Firefox pref default, so the rollout
waited on Firefox flipping the pref rather than on us.
- pairing.ios_handoff answered the same question, whether Firefox iOS
is ready for v2, a second way.
This commit:
- Adds pairing.v2_min_version.{ios,android,desktop}; a set platform is
decided from the Firefox major version in the user agent, an unset one
still defers to fxa_status.
- Routes /pair and /connect_another_device through a shared
isPairingV2Enabled gate.
- Replaces pairing.ios_handoff with whether an iOS minimum is configured.
- Covers the gate with unit tests and both pages with wiring tests.
- Updates the dev-launcher and functional-test pairing notes.
Closes #FXA-14582
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
pairingVersionFirefox reports in fxa_status, which follows a Firefox pref default, so the rollout waited on Firefox rather than on us.pairing.ios_handoffanswered the same question, whether Firefox iOS is ready for v2, a second way.This pull request
pairing.v2_min_version.{ios,android,desktop}(PAIRING_V2_MIN_VERSION_IOS,_ANDROID,_DESKTOP) to the content-server config and serves it to fxa-settings./pairand/connect_another_devicethrough one shared gate,isPairingV2Enabled.pairing.ios_handoffwith "an iOS minimum is configured", so setting the iOS minimum also enables handing a QR scanned outside Firefox to the Firefox iOS app.Issue that this pull request solves
Closes: FXA-14582
Checklist
Put an
xin the boxes that applyHow to review (Optional)
packages/fxa-settings/src/lib/pairing/v2-gate.tsholds the whole decision; the pages only call it.configuration.js, thenv2-gate.tswith its test, thenPair/Index/index.tsx,ConnectAnotherDevice/index.tsx, and the two hand-off call sites.FxiOS/on iOS,Firefox/elsewhere), and the iOS hand-off now following the iOS minimum.Screenshots (Optional)
Please attach the screenshots of the changes made in case of change in user interface.
Other information (Optional)
PAIRING_VERSION=2, setPAIRING_V2_MIN_VERSION_<PLATFORM>to the first Firefox major that should get v2 (0for every version). A platform left unset keeps today's behaviour.PAIRING_IOS_HANDOFFno longer exists and should be dropped from deployment config;PAIRING_V2_MIN_VERSION_IOStakes its place.pairing.v2.minVersion.iOS. The config usespairing.v2_min_version.iosto match the neighbouring convict keys, and the client sees it aspairing.v2MinVersion.ios.🤖 Generated with Claude Code