Because:
- Every Firefox iOS flavour registers `firefox://`, so a hardcoded scheme
cannot reach a local build when a release install is also present.
- The v2 `pair_oauth_start` round trip does not fit the default WebChannel
deadline on a cold start, and timing out there fails the whole pairing.
- v2 pairing against a real Firefox iOS supplicant had no coverage.
This commit:
- Adds a `pairing.ios_url_scheme` setting, surfaced as
`config.pairing.iosUrlScheme`, and builds the iOS hand-off link from it.
- Names the pairing OAuth timeout `PAIR_OAUTH_TIMEOUT_MS` and exports it
with the default, so the channel tests stop copying the numbers.
- Adds `pairingFlowV2iOS.spec.ts` and `lib/ios-supplicant.ts`, driving a
Simulator supplicant against a Marionette authority.
- Restricts the v2 iOS and Android pairing specs to the local target.
- Lets the dev launcher and test targets reach a stack off localhost.
Co-Authored-By: Matt Lichtenstein <lichtensteinmp@gmail.com>