bitwarden / bitwarden/clients

The passkey registration and authentication windows randomly require ⪆ 6 s to appear.

Open
#8,971 5 comments 1 reaction 0 assignees View on GitHub
browser bug
Dominant language
TypeScript
Stars
13.8k
Forks
2k
Avg merge
3d 9h
Merged PRs (30d)
393

Description

### Steps To Reproduce

Attempt to use a FIDO passkey stored in Bitwarden to authenticate at, as merely one example, [`accounts.google.com/v3/signin/challenge/pk/presend`](https://accounts.google.com/v3/signin/challenge/pk/presend).

### Expected Result

I should not wait more than 1 s.

### Actual Result

The passkey apparently randomly requires approximately 10 s to appear, to the extent that some registrations fail:

~~~YAML
20:02:20.951 XHRPOST
https://universal-blue.discourse.group/u/create_passkey.json
[HTTP/2 200 173ms]

20:02:21.240 Error: The operation either timed out or was not allowed.
request moz-extension://8b7c7ead-b343-4508-948a-258b93d9798f/content/fido2-page-script.js:304
fulfilled moz-extension://8b7c7ead-b343-4508-948a-258b93d9798f/content/fido2-page-script.js:239
user-passkeys.gjs:104:15
~~~

No relationship exists between amount of vault entries that match the relevant domain.

### Screenshots or Videos

It's difficult to capture because it's seemingly random, but I'll try to.

### Operating System

1. ~~~pwsh
#!/usr/bin/env pwsh
Get-ComputerInfo | Select-Object -Property @('OsName', 'OsBuildNumber') | Format-List
~~~

1.

~~~YAML
OsName : Microsoft Windows 11 Pro
OsBuildNumber : 26120
~~~

### Web Browser

1. ~~~pwsh
#!/usr/bin/env pwsh
Get-AppxPackage Mozilla.MozillaFirefoxNightly
~~~

1.

~~~YAML
Name : Mozilla.MozillaFirefoxNightly
Architecture : X64
Version : 146.2510.2409.0
IsFramework : False
PublisherId : jag0gd4e3s9p2
IsResourcePackage : False
IsBundle : False
IsDevelopmentMode : False
NonRemovable : False
IsPartiallyStaged : False
SignatureKind : Developer
Status : Ok
~~~

### Build Version

~~~YAML
Version: 2025.10.0
SDK: 'main (d0262d3)'
Server version: 2025.10.0
~~~

### Issue Tracking Info

- [X] I understand that work is tracked outside of Github. A PR will be linked to this issue should one be opened to address it, but Bitwarden doesn't use fields like "assigned", "milestone", or "project" to track progress.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the delay in the passkey registration and authentication flow, then inspect the stack-trace locations content/fido2-page-script.js:304 and user-passkeys.gjs:104. Compare successful and timed-out attempts; done means the passkey window appears within the expected one-second limit and registrations no longer fail from the delay.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, typescript
Domain
authentication, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.