Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Action not completed Action cancelled by user / VM27:1 MetaMask - RPC Error: Error: Popup closed #12446

Closed
0xGitGuy opened this issue May 16, 2024 · 11 comments
Assignees
Labels
bug Something isn't working as expected

Comments

@0xGitGuy
Copy link

0xGitGuy commented May 16, 2024

Describe the bug
When you accidentally close trezor popup windows when signing for dapps like 1inch.io, the next attempt will cause the user to be unable to sign anymore transaction on Metamask. The trezor will be stuck and the only way to fix this is to deactivate metmask extension and enabling it again. So imagine a dapp action requiring 3 steps like (approve, sign, broadcast), pita. A non-hw address on metamask does not exhibit this issue. The last time Model One firmware had an update was March 2023 (1 years+ ago). Does Trezor deprecate support for older devices over time? (this sucks though for storing funds)

Firmware version and revision
Brave (1.65.133 (May 14, 2024)), Windows 10, Metamask (11.15.4) , Trezor Model One (1.12.1)

Desktop/smartphone setup (please complete the following information):
as above

To Reproduce
Steps to reproduce the behavior:

  1. attempt to sign a transaction at 1inch.io
  2. once trezor model one hardware shows some text to sign, click Confirm on metamask once first
  3. once you see the popup.html, close the trezor pop up window on your pc
  4. now try the same transaction for 1inch.io again
  5. you either get a infinite trezor loading screen or it shows you an error

Expected behavior
Type 4 signing should be able to sign transaction without resetting Metamask on the second transaction attempt

Screenshots
If applicable, add screenshots to help explain your problem.
Dapp console error shows:
VM27:1 MetaMask - RPC Error: Error: Popup closed

Trezor popup.html windows error shows:
Action not completed Action cancelled by user.
(Eternally spinning the loading image)

Additional context
Add any other context about the problem here.
I did have a way to trigger the Model One again for the second transaction but it's way too cumbersome and not normal UI

@0xGitGuy 0xGitGuy added the bug Something isn't working as expected label May 16, 2024
@Hannsek
Copy link
Contributor

Hannsek commented May 16, 2024

Does Trezor deprecate support for older devices over time?

The support for this device was not deprecated. There was no need to release new fw for Model 1.

the next attempt will cause the user to be unable to sign anymore transaction on Metamask.

How does it look You should trigger signing the transaction in MM again and Connect popup should popup again.

@Hannsek Hannsek transferred this issue from trezor/trezor-firmware May 16, 2024
@github-project-automation github-project-automation bot moved this to 🎯 To do in Suite Desktop May 16, 2024
@0xGitGuy
Copy link
Author

0xGitGuy commented May 16, 2024

the next attempt will cause the user to be unable to sign anymore transaction on Metamask.

How does it look You should trigger signing the transaction in MM again and Connect popup should popup again.

Just for clarification, yes, this is correct. It should cancel the previous transaction and push the newly attempted transaction to Model One.

@Hannsek
Copy link
Contributor

Hannsek commented May 16, 2024

So what happens when you click on sign in MM again?

@0xGitGuy
Copy link
Author

So what happens when you click on sign in MM again?

Model One screen gets stuck from the previous transaction. Clicking either buttons or triggering another transaction on Metamask doesn't do anything to change Model One screen. I need to disable metamask. In most cases,

@Hannsek
Copy link
Contributor

Hannsek commented May 16, 2024

Ok, we'll investigate. cc @trezor/qa

@MiroslavProchazka MiroslavProchazka moved this from 🎯 To do to 🤝 Needs QA in Suite Desktop May 20, 2024
@bosomt
Copy link
Contributor

bosomt commented May 22, 2024

QA OK

Tried to send Eth transaction via https://app.1inch.io/#/1/simple/swap/ETH
Closed popup multiple times https://connect.trezor.io/9/popup.html
It was auto opened till Transaction rejected was triggered
After that i was able to open popup again without any kind of problem.

@bosomt bosomt moved this from 🤝 Needs QA to 🎯 To do in Suite Desktop May 22, 2024
@bosomt
Copy link
Contributor

bosomt commented May 22, 2024

  • Tried to rexplicate by 1inch + MeaMask + https://metamask.github.io/test-dapp/
  • got when trying to sign v4 data not sure if related see video https://youtu.be/cU7vdPauERc
  • Error in testdapp: Result: Error: Keyring Controller signTypedMessage: Error: Device is used in another window
  • Error in connect popup before confirming passphrase
image

@mroz22 mroz22 self-assigned this May 22, 2024
@0xGitGuy
Copy link
Author

  • Tried to rexplicate by 1inch + MeaMask + https://metamask.github.io/test-dapp/
  • got when trying to sign v4 data not sure if related see video https://youtu.be/cU7vdPauERc
  • Error in testdapp: Result: Error: Keyring Controller signTypedMessage: Error: Device is used in another window
  • Error in connect popup before confirming passphrase
image

oh yes, this is it! Same console errors as I got. Boy, I wished metamask and trezor don't do this to me every now and then when it force updates.

Did you find a temp way to quickly recover from the bug without disable/enable metamask and go through the password/allow phases?

@mroz22
Copy link
Contributor

mroz22 commented May 22, 2024

When you accidentally close trezor popup windows when signing

Yes, I confirm this is where the problem starts. In the best case scenario, trezor-connect should successfully "release" device when connect-popup is closed. There are couple of modes of how trezor-connect can be used, and we are actually fixing this problem in one of the scenarios (different from yours) here.

Could you @martykan please check if core in iframe mode actually releases device if it learns about the fact that popup was closed? I think it should but apparently it does not.

As I stated above, this is the best case scenario, so it is not guaranteed that it will succeed. So there should be a fallback in popup, a button "use device here". This button is there but for some reason popup closes sooner before this button is rendered.

Anyway thanks for reporting, we are already investigating.

@bosomt
Copy link
Contributor

bosomt commented May 23, 2024

Sorry im not able to reproduce this issue today :)))
Tried to run new and old bridge with no luck
Even opened Rabby wallet in same browser so it will interupt connection but i was able to sign v4 data 10 of 10 times...

@Hannsek Hannsek removed this from Firmware Oct 30, 2024
@martykan
Copy link
Member

martykan commented Feb 4, 2025

Closing as stale, haven't seen reports of this recently

@martykan martykan closed this as not planned Won't fix, can't repro, duplicate, stale Feb 4, 2025
@github-project-automation github-project-automation bot moved this from 🎯 To do to 🤝 Needs QA in Suite Desktop Feb 4, 2025
@STew790 STew790 moved this from 🤝 Needs QA to ✅ Approved in Suite Desktop Feb 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working as expected
Projects
Status: ✅ Approved
Development

No branches or pull requests

5 participants