Steps To Reproduce
Important:
It's not a duplicate of #19217
#15825 doesn't fix it
- Login
- Click "Lock now"
- Click "Unlock with Passkey"
Expected Result
Unlock with passkey works on Linux+Wayland
Actual Result
Unlock with passkey fails on Linux+Wayland
Additional Context
Description
Unlocking browser extension vault with a passkey fails on Linux+Wayland when extension is opened as the normal browser popup. The same unlock succeeds if the extension is popped out first.
System
Hyprland + Wayland + Chrome
RCA
Root cause is that Linux popout workaround is applied to passkey login but not passkey unlock
- Log in with Passkey works
- Unlock with Passkey fails when launched from Chrome extension toolbar popup
- Unlock with Passkey works if I manually open extension as a top-level window
Good Flow
$ hyprctl clients
class: chrome-nngceckbapebfimnlniiiahkandclblb-Default
title: Bitwarden
initialClass: chrome-nngceckbapebfimnlniiiahkandclblb-Default
initialTitle: _crx_nngceckbapebfimnlniiiahkandclblb
Broken Flow
$ hyprctl clients
class:
title: PIN required
initialClass:
initialTitle: Passkeys & Security Keys
/login-with-passkey uses platformPopoutGuard(["linux"])
|
canActivate: [unauthGuardFn(unauthRouteOverrides), platformPopoutGuard(["linux"])], |
/lock only uses lockGuard()
|
canActivate: [lockGuard()], |
Fixed it locally, working on PR
Operating System
Linux
Operating System Version
Fedora 43
Web Browser
Chrome
Browser Version
Version 147.0.7727.137 (Official Build) (64-bit)
Environment Versions
Version: 2026.3.0
SDK: 'main (7637fdf)'
Server version: 2026.4.0
Issue Tracking Info
Steps To Reproduce
Important:
It's not a duplicate of #19217
#15825 doesn't fix it
Expected Result
Unlock with passkey works on Linux+Wayland
Actual Result
Unlock with passkey fails on Linux+Wayland
Additional Context
Description
Unlocking browser extension vault with a passkey fails on Linux+Wayland when extension is opened as the normal browser popup. The same unlock succeeds if the extension is popped out first.
System
Hyprland + Wayland + Chrome
RCA
Root cause is that Linux popout workaround is applied to passkey login but not passkey unlock
/login-with-passkeyusesplatformPopoutGuard(["linux"])clients/apps/browser/src/popup/app-routing.module.ts
Line 469 in f1f0376
/lockonly useslockGuard()clients/apps/browser/src/popup/app-routing.module.ts
Line 586 in f1f0376
Fixed it locally, working on PR
Operating System
Linux
Operating System Version
Fedora 43
Web Browser
Chrome
Browser Version
Version 147.0.7727.137 (Official Build) (64-bit)
Environment Versions
Version: 2026.3.0
SDK: 'main (7637fdf)'
Server version: 2026.4.0
Issue Tracking Info