Firefox extension closes itself on any interaction/navigating away from window
- Dominant language
- TypeScript
- Stars
- 13.8k
- Forks
- 2k
- Avg merge
- 3d 9h
- Merged PRs (30d)
- 397
Description
### Steps To Reproduce
1. Click on the Bitwarden extension in the toolbar
2. Fill in your password
3. Get presented with 2FA Yubikey prompt
3. Switch your keyboard layout (or perform anything that takes focus away) to be able to use the Yubikey
### Expected Result
The extension popup to stay visible to be able to input my 2FA
### Actual Result
The extension popup closes itself and reset its states, preventing login
### Screenshots or Videos
Sorry, tried to to record it, but the popup itself isn't visible in the screencast (both under wayland and xorg)
### Additional Context
Admittedly a problem for very few users, but it does prevent me from login at all:
- I use a non-US keyboard layout
- I use a Yubikey as 2FA factor
- A limitation of Yubikeys is that they expect a US keyboard layout to function
As a result, when I want to use my yubikey, I need to temporarily switch from my usual, non-US keyboard layout to US, then back again.
This only happen on Firefox, in Chrome/Brave, the popup stays open. It also used not to be the case in FF and did work as expected before.
You can also reproduce more easily than the steps described above by moving away from the browser's window using alt-tab:
- On FF: click on the extension, popup opens. Use alt-tab: pop-up vanishes, then windows begin to be navigated/cycled
- On Chrome: click on the extension, popup opens. Use alt-tab: pop-up stays open until you navigate/cycle back to the browser's window.
### Operating System
Linux
### Operating System Version
Fedora 36 with Gnome (both Wayland and Xorg)
### Web Browser
Firefox
### Browser Version
102.0 (64-bit)
### Build Version
2022.5.0
Contributor guide
Research direction
Start by reproducing the Firefox extension popup failure on Linux using the reported login and Yubikey flow, then verify the simpler alt-tab case and compare it with Chrome. Done means the popup remains visible and retains its state when focus or the browser window changes, allowing 2FA input.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100