metamask-extension
metamask-extension copied to clipboard
[Bug]: Not observing QR progress bar as expected in RC11.11.0
Describe the bug
Tested in Light and dark mode, and adding new device as well as signing and sending. Not once did I observe this progress bar in either the signature request or initial wallet binding. Firefox shows a console error when getting a signature request, but no errors appear in Chrome.
Chrome 117.0.5938.92 (no console errors observed) & Firefox 122.0.1 (console error below observed when trying to scan QR from hardware back to extension) in Mac Sonoma 14.2.1 Using Keystone V3 with Firmware 1.2.6 Dist build of commit 6d34630bb78be87da26ee45efad4fcf29d332b87
Expected behavior
With PR 20947 included, I was expecting to see a progress bar when scanning the signed TX of the PSD with Extension.
Screenshots/Recordings
Chrome: https://recordit.co/jF0Y7DmuTE Firefox: https://recordit.co/lns6OUFVTs
Screenshots from signature request:
Screenshot from initial pairing:
Steps to reproduce
- Setup wallet
- Import QR hardware
- Attempt to send or sign with test dapp
- Scan QR from MetaMask with QR hardware
- Sign on QR hardware
- Tap
Get signature
- Grant camera permission if needed
- Note that progress bar does not appear when scanning the QR from hardware back to MetaMask
Error messages or log output
e.mediaStreamIsTorchCompatible@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1:85743
e.prototype.decodeFromStream/d</<@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1:94343
i</u/</<@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1:84245
i</u/<@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1:84350
a@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1:83064
promise callback*s@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1:83229
o</<@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1:83240
o<@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1:83007
e.prototype.decodeFromStream@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1:93226
e.prototype.decodeFromConstraints/d</<@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1:93048
i</u/</<@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1:84245
i</u/<@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1:84350
a@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1:83064
promise callback*s@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1:83229
o</<@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1:83240
o<@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1:83007
e.prototype.decodeFromConstraints@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1:92825
e.prototype.decodeFromVideoDevice/d</<@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1:95082
i</u/</<@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1:84245
i</u/<@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1:84350
o</<@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1:83262
o<@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1:83007
e.prototype.decodeFromVideoDevice@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1:94890
p/<@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-3.js:1:388463
wl@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-1.js:33:264532
zu@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-1.js:33:289097
n.unstable_runWithPriority@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-2.js:1:224240
Yi@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-1.js:33:232192
Fu@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-1.js:33:288853
Bu/<@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-1.js:33:288764
D@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-2.js:1:223623
x.port1.onmessage@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-2.js:1:222367
EventHandlerNonNull*@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-2.js:1:222291
setupProxy/n/e[t]@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/sentry-install.js:1:693
internalRequire@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12900:27
requireRelative@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12945:42
requireRelativeWithContext@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12913:18
@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-2.js:1:225727
setupProxy/n/e[t]@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/sentry-install.js:1:693
internalRequire@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12900:27
requireRelative@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12945:42
requireRelativeWithContext@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12913:18
@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-1.js:33:186509
setupProxy/n/e[t]@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/sentry-install.js:1:693
internalRequire@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12900:27
requireRelative@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12945:42
requireRelativeWithContext@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12913:18
@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-1.js:33:303866
setupProxy/n/e[t]@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/sentry-install.js:1:693
internalRequire@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12900:27
requireRelative@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12945:42
requireRelativeWithContext@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12913:18
@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-7.js:1:87814
setupProxy/n/e[t]@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/sentry-install.js:1:693
internalRequire@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12900:27
requireRelative@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12945:42
requireRelativeWithContext@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12913:18
@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-11.js:26:156219
setupProxy/n/e[t]@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/sentry-install.js:1:693
internalRequire@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12900:27
runModule@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:13273:12
loadBundle/entryExports<@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:13263:14
loadBundle@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:13262:46
@moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-11.js:1:10
sentry-install.js:1:693
t moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/sentry-install.js:1
_ moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/sentry-install.js:1
logError moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:6912
logSubErrors moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:6833
levelMethod moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:6931
newValue moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12462
mediaStreamIsTorchCompatibleTrack moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
mediaStreamIsTorchCompatible moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
d moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
u moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
u moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
a moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
(Async: promise callback)
s moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
o moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
o moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
decodeFromStream moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
d moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
u moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
u moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
a moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
(Async: promise callback)
s moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
o moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
o moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
decodeFromConstraints moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
d moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
u moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
u moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
o moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
o moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
decodeFromVideoDevice moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-0.js:1
p moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-3.js:1
wl moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-1.js:33
zu moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-1.js:33
unstable_runWithPriority moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-2.js:1
Yi moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-1.js:33
Fu moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-1.js:33
Bu moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-1.js:33
D moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-2.js:1
onmessage moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-2.js:1
(Async: EventHandlerNonNull)
<anonymous> moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-2.js:1
t moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/sentry-install.js:1
internalRequire moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12900
requireRelative moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12945
requireRelativeWithContext moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12913
<anonymous> moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-2.js:1
t moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/sentry-install.js:1
internalRequire moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12900
requireRelative moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12945
requireRelativeWithContext moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12913
<anonymous> moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-1.js:33
t moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/sentry-install.js:1
internalRequire moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12900
requireRelative moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12945
requireRelativeWithContext moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12913
<anonymous> moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-1.js:33
t moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/sentry-install.js:1
internalRequire moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12900
requireRelative moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12945
requireRelativeWithContext moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12913
<anonymous> moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-7.js:1
t moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/sentry-install.js:1
internalRequire moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12900
requireRelative moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12945
requireRelativeWithContext moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12913
<anonymous> moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-11.js:26
t moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/sentry-install.js:1
internalRequire moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:12900
runModule moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:13273
entryExports moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:13263
loadBundle moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/runtime-lavamoat.js:13262
<anonymous> moz-extension://42c8a8ca-a8c3-4c63-a815-41b0d0b9157d/ui-11.js:1
Version
11.11.0
Build type
None
Browser
Chrome, Firefox
Operating system
MacOS
Hardware wallet
Keystone
Additional context
No response
Severity
No response
@plasmacorral You should scan an animated QR code by changing the derivation path to "Ledger Live". The progress bar dose not appear when scan static QR code.
Manual testing steps Connect a hardware wallet. Connect your QR hardware wallet. Scan QR code.
I see reference to large data in the PR description, but the manual testing steps outlined in PR 20947 were not sufficient. For the sake of posterity, I will go back and add these important missing steps. Going forward, please make sure to include all necessary testing steps within the PR.
I can now confirm that when the QR being scanned from Keystone back into MetaMask is animated that there is a progress bar presented. I was able to confirm this by changing the derivation path in Keystone through 3 dots>Connect Software wallet>MetaMask>3dots>change derivation path and selecting Ledger Live
QR must be animated on Keystone display to see this progress bar.
Notably, even large data like deploying an ERC721 from the test dapp that is animated when scanning into Keystone, presents a static QR when scanning the signature back into MetaMask.
Reported this during retest: https://github.com/KeystoneHQ/keystone3-firmware/issues/556