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

feat: Enable redesigned transaction confirmations for all users #28321

Draft
wants to merge 5 commits into
base: develop
Choose a base branch
from

Conversation

pedronfigueiredo
Copy link
Contributor

@pedronfigueiredo pedronfigueiredo commented Nov 6, 2024

Description

Migrates users to opt in for redesigned transactions. Also adds a method to reenable the old flows for the old e2e tests. Before removing the toggle permanently, we will need to go back and change the e2e tests to support the new flows.

This PR also duplicates tests on the red group below and adds modification to make the tests pass on the redesigned flows.

From the e2e tests that broke with the migration:

  • 🔴 Flows that have to be tested before opening up the redesign to everyone (create a duplicate):

    • test/e2e/snaps/test-snap-txinsights-v2.spec.js ✅
    • test/e2e/snaps/test-snap-txinsights.spec.js ✅
    • test/e2e/json-rpc/switchEthereumChain.spec.js ✅
    • test/e2e/tests/request-queuing/batch-txs-per-dapp-diff-network.spec.js ✅
    • test/e2e/tests/request-queuing/batch-txs-per-dapp-extra-tx.spec.js ✅
    • test/e2e/tests/request-queuing/batch-txs-per-dapp-same-network.spec.js ✅
    • test/e2e/tests/request-queuing/dapp1-send-dapp2-signTypedData.spec.js ✅
    • test/e2e/tests/request-queuing/dapp1-switch-dapp2-eth-request-accounts.spec.js ✅
    • test/e2e/tests/request-queuing/dapp1-switch-dapp2-send.spec.js ✅
    • test/e2e/tests/request-queuing/multi-dapp-sendTx-revokePermission.spec.js ✅
    • test/e2e/tests/request-queuing/multiple-networks-dapps-txs.spec.js ✅
    • test/e2e/tests/request-queuing/switch-network.spec.js ✅
    • test/e2e/tests/request-queuing/ui.spec.js ✅
  • 🟡 Flows that we don't need to migrate now, but will have to be migrated or adapted when old confirmations flows are deleted

    • test/e2e/json-rpc/eth_sendTransaction.spec.js
    • test/e2e/tests/account/add-account.spec.ts
    • test/e2e/tests/account/snap-account-transfers.spec.ts
    • test/e2e/tests/petnames/petnames-transactions.spec.js
    • test/e2e/tests/ppom/ppom-blockaid-alert-simple-send.spec.js
    • test/e2e/tests/responsive-ui/metamask-responsive-ui.spec.js
    • test/e2e/tests/tokens/custom-token-send-transfer.spec.js
    • test/e2e/tests/tokens/nft/erc721-interaction.spec.js
    • test/e2e/tests/tokens/nft/erc1155-interaction.spec.js
    • test/e2e/tests/tokens/nft/send-nft.spec.js
    • test/e2e/tests/transaction/change-assets.spec.js
    • test/e2e/tests/transaction/edit-gas-fee.spec.js
    • test/e2e/tests/transaction/gas-estimates.spec.js
    • test/e2e/tests/transaction/multiple-transactions.spec.js
    • test/e2e/tests/transaction/navigate-transactions.spec.js
    • test/e2e/tests/transaction/send-edit.spec.js
    • test/e2e/tests/transaction/send-eth.spec.js
    • test/e2e/tests/transaction/send-hex-address.spec.js
  • 🟢 Flows that we don't need to migrate now, nor do we need to migrate in the future (can be deleted)

    • test/e2e/tests/dapp-interactions/contract-interactions.spec.js
    • test/e2e/tests/dapp-interactions/dapp-tx-edit.spec.js
    • test/e2e/tests/dapp-interactions/failing-contract.spec.js
    • test/e2e/tests/network/network-error.spec.js
    • test/e2e/tests/settings/4byte-directory.spec.js
    • test/e2e/tests/settings/show-hex-data.spec.js
    • test/e2e/tests/tokens/custom-token-add-approve.spec.js
    • test/e2e/tests/tokens/increase-token-allowance.spec.js
    • test/e2e/tests/transaction/simple-send.spec.ts

Open in GitHub Codespaces

Related issues

Fixes: https://github.com/MetaMask/MetaMask-planning/issues/3026

Manual testing steps

  1. Go to this page...

Screenshots/Recordings

Before

After

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

@pedronfigueiredo pedronfigueiredo added the team-confirmations Push issues to confirmations team label Nov 6, 2024
@pedronfigueiredo pedronfigueiredo self-assigned this Nov 6, 2024
Copy link
Contributor

github-actions bot commented Nov 6, 2024

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamaskbot
Copy link
Collaborator

Builds ready [806f6d6]
Page Load Metrics (1936 ± 89 ms)
PlatformPageMetricMin (ms)Max (ms)Average (ms)StandardDeviation (ms)MarginOfError (ms)
ChromeHomefirstPaint37622171848384184
domContentLoaded15872199191318790
load16372219193618589
domInteractive30195744320
backgroundConnect875222010
firstReactRender462001153718
getState44712126
initialActions01000
loadScripts11531690141115876
setupStore55513157
uiStartup18582493214719996
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 876 Bytes (0.01%)
  • ui: 69 Bytes (0.00%)
  • common: 0 Bytes (0.00%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
team-confirmations Push issues to confirmations team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants