Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

If the firefox.com/pair process times out and reaches "Pairing not successful", the user should be able to restart the pairing process with an offered button or link, or a reload #16081

Open
dholbert opened this issue Nov 15, 2023 · 2 comments

Comments

@dholbert
Copy link

dholbert commented Nov 15, 2023

Description

If you let the https://firefox.com/pair QR-code-based flow time out at the last step (only takes a minute or two), I would expect that reloading would let me restart the process or get back to some sort of useful state; but instead it shows a fairly-obscure error message:
Wrong state for fxaccounts:pair_supplicant_metadata. Valid expected states: PendingConfirmations, PendingLocalConfirmation. Current state: Errored.

Steps to reproduce

(These are the exact same STR as #16079 , followed by allowing-the-process-to-timeout.)

  1. In Firefox on Android, go to the Settings (from the 3-dot menu) and tap the Sync section at the top
  2. Tap "Ready to Scan" to open a QR-code-scanner.
  3. On your desktop Firefox (where you've set up with Firefox Sync), visit https://firefox.com/pair and click "Get Started"
  4. Scan the QR code.
  5. Click through the steps on your computer, until you get to the "Approval now required" card.
  6. Now wait for a few minutes (don't complete the approval process on your other device).
  7. When the tab changes to show "Pairing not successful (websocket unexpectedly closed)", try reloading the tab.

Expected result

When I reload the "pairing not successful" page, I should perhaps be returned to the start of the https://firefox.com/pair flow, or some useful next-page that helps me restart and successfully complete the process. Or alternately, there should be a button or link that lets me "Start over" or "Try again" which takes me back to https://firefox.com/pair .

Actual result

I end up briefly seeing a 2FA-code page, but it immediately redirects to an error page with error message: Wrong state for fxaccounts:pair_supplicant_metadata. Valid expected states: PendingConfirmations, PendingLocalConfirmation. Current state: Errored.

Environment

My desktop environment (where I'm seeing this) is Firefox 121.0a1 (2023-11-13) on Ubuntu 22.04

Here's a screencast showing the issue, starting from the start of STR step #7 (where the pairing process has timed out and failed):
Screencast showing issue 16081.webm

┆Issue is synchronized with this Jira Task

@dholbert
Copy link
Author

dholbert commented Nov 15, 2023

Here's a screenshot showing what the card looks at the end of the STR, after it timed out and then I reloaded in the hopes of getting to a useful state that I can recover or restart the process from:
image

@dholbert dholbert changed the title If the firefox.com/pair process times out and reaches "Pairing not successful", reload should probably get you back to a state that you could recover or restart from If the firefox.com/pair process times out and reaches "Pairing not successful", there should be UI (immediately or after a reload) to let the user restart the process Nov 15, 2023
@dholbert dholbert changed the title If the firefox.com/pair process times out and reaches "Pairing not successful", there should be UI (immediately or after a reload) to let the user restart the process If the firefox.com/pair process times out and reaches "Pairing not successful", the user should be able to restart the pairing process with an offered button or link, or a reload Nov 15, 2023
@dholbert
Copy link
Author

Also: if I restart Firefox after performing the STR (after seeing the cryptic error message above) and restore my session, then this page restores with this more-confusing/concerning error message (autocollapsed by default via the > icon, but if I expand it, here's what I see):
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant