MetaMask / MetaMask/metamask-extension

Introduce hold/swipe interaction in submit buttons on Confirmations

Open
#20,962 2 comments 0 reactions 0 assignees View on GitHub
external-contributor INVALID-ISSUE-TEMPLATE needs-design New-Projects-in-Draft team-confirmations team-design-system type-security
Dominant language
TypeScript
Stars
13.2k
Forks
5.6k
Avg merge
2d 5h
Merged PRs (30d)
451

Description

[This is a security enhancement]

This proposed change aims to significantly improve the user-friendliness and security of MetaMask Wallet. Feedback and thoughts on this proposal by @witmicko are welcome and appreciated.

****Description****

Currently, MetaMask Wallet uses a "Send" button for initiating transactions. This standard practice, while familiar to users, carries a risk of accidental clicks, leading to unintended transactions. Such mishaps can occur when users are spammed or tricked into displaying a /send app link that is ERC-681 compliant.

e.g.

https://github.com/MetaMask/metamask-extension/assets/87079938/efdc561b-ab9b-43a9-9944-e90933e44f4e

To mitigate this risk and enhance the user experience, we propose that we transition from the "Send" button to a "Hold/Swipe to Activate" functionality. This would require users to hold the button for a short duration (e.g., 2-3 seconds) before the transaction is initiated. This functionality is already in use for the "Reveal SRP" or "Swap" features in our wallet.

Benefits:

1. **Reduced Risk of Accidental Transactions**: The "Hold or Swipe to Activate" functionality would necessitate a more deliberate action from the user, thereby reducing the likelihood of accidental transactions.
2. **Consistency**: Implementing this change would bring consistency to our wallet's interface, as we already use the "Hold to Activate" functionality for other features.
3. **Enhanced User Experience**: This change would provide users with an additional layer of security and control, potentially enhancing their overall experience with our wallet.

****References****

- https://www.notion.so/Transfer-Confirmation-Screen-ed2d02b5268946dfba9c4d29804d2cd5?pvs=4

****User Interface****
TBD

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the Confirmations submit flow and the existing hold-to-activate interactions used for Reveal SRP and Swap. The proposal leaves the user interface and exact behavior TBD; done would require an agreed design and applying the hold or swipe interaction to the relevant transaction confirmation actions, with verification that accidental activation is reduced.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.