browserpass / browserpass-extension

Browserpass web extension
ISC License
825 stars 50 forks source link

Details view stuck at the "Loading please wait" screen for entries with TOTP #351

Open AdamantGarth opened 1 week ago

AdamantGarth commented 1 week ago

General information

Exact steps to reproduce the problem

  1. Open the extension popup.

  2. Open the details of an entry that has an otpauth: field.

What should happen?

The entry details are shown.

What happened instead?

The "Loading please wait ..." message is displayed indefinitely.

Additional notes

AdamantGarth commented 1 week ago

When this happens, Chromium prints the following line to the logs:

INFO:CONSOLE(49256)] "Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'type')", source: chrome-extension://pjmbgaakjkbhpopmakjoedenlfdmcdgm/js/popup.dist.js (49256)

Line 49256 points here, which seems relevant: https://github.com/browserpass/browserpass-extension/blob/dc71d472a54ca588fb34f67fec7244595c62af74/src/popup/detailsInterface.js#L169

Edit: the otpauth entry I test this with starts with otpauth://totp/, so the type is there.

creepiepanda commented 1 week ago

I can confrim this issue on my side with the same error in the console / logs.

OS: Debian 12 Browser: Google Chrome Version 127.0.6533.17 (Official Build) beta (64-bit) Browserpass: 3.8.0 from chromewebstore

erayd commented 6 days ago

@AdamantGarth Could you please post the entirety of that line of your password file, with the secret redacted? I suspect the issue is being triggered by the way that line is formatted, and not by TOTP entries generally (testing with totp: SECRETKEY style lines works just fine).

AdamantGarth commented 6 days ago

Sure, here it is:

otpauth://totp/Google%3Ausername%40gmail.com?secret=redacted&issuer=Google

It also reproduces on entries with otpauth URLs that have all of the optional parameters specified, like:

otpauth://totp/website:username?secret=REDACTED&period=30&digits=6&issuer=website