MetaMask / MetaMask/metamask-extension

Confusing UI for canceled transactions.

Open
#22,133 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
13.2k
Forks
5.6k
Avg merge
2d 5h
Merged PRs (30d)
451

Description

### What is this about?

While the logic behind the transactions history is right the UI for cancelling transactions might be confusing to users. One `Cancelled` transaction is shown on the `Activity list` as three transactions. Cancellations made In-app and using Custom nonce look different on the `Activity list`. To provide more clarity for the users it might be reasonable to consolidate cancellation steps in one `Cancelled` transaction on the `Activity list`.
Steps to reproduce:
a) In-app cancellation

1. Send regular Eth transaction
2. Cancel it using In-app method (Cancel button)
3. After transaction successfully cancelled `Activity list` shows three transactions - 1 `Cancelled` and 2 `Receive` transactions

https://github.com/MetaMask/metamask-extension/assets/104780023/8e76b96e-c705-4f08-84e3-c99acaba36dc

Screenshot 2023-12-02 at 8 43 16 PM
b)

1. Enable `Custom nonce`
2. Send regular Eth transaction with low fees
3. Cancel transaction by sending transaction with the same nonce to yourself, make sure to choose higher gas fees
4. See three confirmed transactions on `Activity list` - 1 `Send` and 2 `Receive`.

https://github.com/MetaMask/metamask-extension/assets/104780023/0347abd9-ed5b-4de2-843f-5cce1f1c0bde

Screenshot 2023-12-02 at 9 01 26 PM

MetaMask 11.6.1

### Scenario

_No response_

### Design

_No response_

### Technical Details

_No response_

### Threat Modeling Framework

_No response_

### Acceptance Criteria

_No response_

### Stakeholder review needed before the work gets merged

- [ ] Engineering (needed in most cases)
- [ ] Design
- [ ] Product
- [ ] QA (automation tests are required to pass before merging PRs but not all changes are covered by automation tests - please review if QA is needed beyond automation tests)
- [ ] Security
- [ ] Legal
- [ ] Marketing
- [ ] Management (please specify)
- [ ] Other (please specify)

### References

_No response_

Contributor guide

Open the contributing guide

Research direction

Reproduce both cancellation paths from the issue, including in-app cancellation and custom-nonce replacement, then inspect the Activity list transaction presentation and the cancellation flow. Compare the resulting Send, Receive, and Cancelled entries; done means each cancellation is represented as one clear Cancelled transaction rather than three confusing entries.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.