Cancel transaction signing from activity list#22676
Conversation
Show signing status in activity list. Prevent confirmation if previous transactions still signing or submitting.
|
👍 Dependency issues cleared. Learn more about Socket for GitHub ↗︎ This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored. |
|
Conducted some preliminary tests against commit 76bc1cf using both hardware and account snaps, and LGTM pending further unit tests being added. Note that previous transaction message can be observed appearing 2x in Flask builds, but could also be related to using Ganache with ChainId=1. |
Rename container property. Rename error key.
|
New and removed dependencies detected. Learn more about Socket for GitHub ↗︎
🚮 Removed packages: npm/jsonschema@1.2.4 |
Fix unit test. Remove Yarn lock duplication.
|
Tested with the commit 112db7c |
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## develop #22676 +/- ##
===========================================
+ Coverage 68.11% 68.14% +0.02%
===========================================
Files 1087 1087
Lines 42794 42827 +33
Branches 11381 11398 +17
===========================================
+ Hits 29148 29181 +33
Misses 13646 13646 ☔ View full report in Codecov by Sentry. |
Builds ready [51412ae]
Page Load Metrics (855 ± 29 ms)
Bundle size diffs [🚀 Bundle size reduced!]
|
|
Tested as well with the SSK and Safeheron snap Screen.Recording.2024-01-31.at.20.19.50.movScreen.Recording.2024-01-31.at.20.20.53.mov |
...rm-page-container/confirm-page-container-content/confirm-page-container-content.component.js
Show resolved
Hide resolved
Builds ready [950dcc8]
Page Load Metrics (935 ± 182 ms)
Bundle size diffs [🚀 Bundle size reduced!]
|





Description
Currently, the
TransactionControllerallows infinite time for a transaction to be signed.In the case of a hardware wallet, where this is reliant on the user, this process can take a long time or never resolve if the user disconnects their device for example.
This situation results in a transaction that can never be submitted, and subsequent transactions are also blocked due to the
TransactionControllerusing locks to safely sign and submit transactions one at a time.This can be avoided with additional and alternate UX flows however this provides a quick solution via the following:
Signingstatus in the activity list for additional clarity.Cancelbutton in the activity list will now cancel the signing process for a transaction and mark it as failed.Confirmbutton will be disabled.Temporarily using a patch for the
TransactionControllerpending a new release.Related issues
Fixes: #1969
Manual testing steps
Cancelin activity list.Screenshots/Recordings
Before
After
Pre-merge author checklist
Pre-merge reviewer checklist