Skip to content
This repository has been archived by the owner on Oct 4, 2023. It is now read-only.

[PAY-1742] Remove useMetaMask on invalid account #3920

Merged
merged 1 commit into from
Aug 22, 2023
Merged

Conversation

raymondjacobson
Copy link
Member

Description

Drop useMetaMask local storage item when account fetch fails on web.
Address issue where a user may accidentally get halfway through the MetaMask flow, bail out, and then brick themselves from future sign up attempts.

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide repro instructions & any configuration.

  1. Start MetaMask sign up flow
  2. Verify useMetaMask set in local storage
  3. Exit sign up, refresh, watch it get removed

@audius-infra
Copy link
Collaborator

Preview this change https://demo.audius.co/rj-pay-1742

Copy link
Contributor

@schottra schottra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, just the one question

@@ -186,6 +186,10 @@ export function* fetchAccountAsync({ isSignUp = false }) {
reason: 'ACCOUNT_NOT_FOUND'
})
)
if (!isNativeMobile) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know @rickyrombo was seeing some Sentry errors with localStorage recently on Safari mobile. Just wondering if it's safe to always clear this regardless of whether we've actually set it and if there were any learnings from that issue we should apply here to fail safely if localStorage isn't accessible?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested on ios safari. it seems ok. i thought about getting & then removing if it exists, but it's just strictly more work because the implementation of remove per spec is

https://html.spec.whatwg.org/multipage/webstorage.html


The removeItem(key) method steps are:

If this's map[key] does not exist, then return null.

Set oldValue to this's map[key].

Remove this's map[key].

Reorder this.

Broadcast this with key, oldValue, and null.

packages/web/src/hooks/useTabs/useTabs.tsx Show resolved Hide resolved
@raymondjacobson raymondjacobson merged commit 1091934 into main Aug 22, 2023
2 checks passed
@raymondjacobson raymondjacobson deleted the rj-pay-1742 branch August 22, 2023 06:31
audius-infra pushed a commit that referenced this pull request Aug 26, 2023
[b39cb5d] [PAY-1733] Remove Gated Prompt Modal (#3948) Marcus Pasell
[a522294] [PAY-1748][PAY-1731][PAY-1729][PAY-1730] DMs link fixes (#3946) Marcus Pasell
[adea357] quick linting fix (#3945) Kyle Shanks
[a0ff27c] Add embed cloudflare deployment and CI (#3940) Raymond Jacobson
[337f80f] [PAY-1727] USDC Withdrawals saga pt. 1 (#3932) Reed
[5bf820c] [C-2956] Add new Access & Sale modal to legacy upload form (#3900) Andrew Mendelsohn
[5258675] [C-2986] Upload flow qa round 1 (#3941) Kyle Shanks
[dd30c09] Use does_current_user_subscribe API field (#3943) Michelle Brier
[778a518] [C-2987] Add UserGeneratedText (#3942) Dylan Jeffers
[bb9e0cf] Update pull_request_template.md (#3939) Raymond Jacobson
[930dd1a] [C-2977] Fix collection page seo (#3936) Dylan Jeffers
[1e50b85] Update README.md (#3911) sabrina-kiam
[687fd28] Add lint check for console.log and remove some bad ones (#3930) Raymond Jacobson
[9f67e7b] [C-2968] Fix private collection action buttons (#3937) Dylan Jeffers
[7ab7a38] Fix canonical url consistency (#3938) Dylan Jeffers
[b1fbef8] [C-2689] Add upload confirmation modal (#3934) Kyle Shanks
[eb41fd3] [C-2966] Make sure that collection description limits are set to 1000 (#3935) Kyle Shanks
[6258484] Move sitemap hostname back to audius.co (#3931) Raymond Jacobson
[1e0c335] Client uses cids in requests to CN for images (#3882) Michelle Brier
[7974acc] Add library albums and playlists audius-query hook + migrate collection reformat util; bump SDK PAY-1679 (#3864) nicoback2
[7cba35b] [C-2982] Fix seo based on ahref recommendations (#3929) Dylan Jeffers
[05744b3] Migrate withdraw USDC saga to web common (#3928) Reed
[5d01710] USDC Withdrawal saga scaffolding (#3926) Reed
[4e0c480] Fix useAllPaginated query C-2980 (#3924) nicoback2
[21eb35c] Fix infinite scrolling cards C-2979 (#3923) nicoback2
[0025261] [PAY-1632] Clean up and improve performance of music confetti (#3921) Raymond Jacobson
[7ed2248] Revert "Update twitter icon on mobile (#3880)" (#3925) Reed
[1091934] [PAY-1742] Remove useMetaMask on invalid account (#3920) Raymond Jacobson
[6e303b1] [PAY-1741] Add routes for transactional pages (#3916) Randy Schott
[74cdb3c] Remove ontouchstart from index.html (#3919) Raymond Jacobson
[1a0332c] Improve lighthouse score (#3918) Raymond Jacobson
[a63896f] [PAY-1706] Merge modalsWithState with modals in common store (#3908) Marcus Pasell
[6a08944] [C-2976] Fix profile-page seo (#3912) Dylan Jeffers
[2381d46] Fix account details css (#3917) Raymond Jacobson
[8c24bdd] Fix mobile share of playlist permalink (#3913) sabrina-kiam
[1e376fe] [C-2911] Update new select page of the upload flow (#3910) Kyle Shanks
[bc0226f] Fix stripe modal opening behavior (#3914) Raymond Jacobson
[a3219c3] [C-2975] Fix stale local data (#3915) Dylan Jeffers
[748fdfd] PAY-1724 Add color specialGreen on mobile (#3909) Reed
[5c59fe5] [PAY-1628] Navigate to track after purchase (#3904) Randy Schott
@AudiusProject AudiusProject deleted a comment from linear bot Sep 11, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants