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

Disconnect existing external wallets when connecting a new wallet #10863

Closed
wants to merge 1 commit into from

Conversation

zenparsing
Copy link
Collaborator

@zenparsing zenparsing commented Nov 3, 2021

Resolves brave/brave-browser#19119

Submitter Checklist:

  • I confirm that no security/privacy review is needed, or that I have requested one
  • There is a ticket for my issue
  • Used Github auto-closing keywords in the PR description above
  • Wrote a good PR/commit description
  • Added appropriate labels (QA/Yes or QA/No; release-notes/include or release-notes/exclude; OS/...) to the associated issue
  • Checked the PR locally: npm run test -- brave_browser_tests, npm run test -- brave_unit_tests, npm run lint, npm run gn_check, npm run tslint
  • Ran git rebase master (if needed)

Reviewer Checklist:

  • A security review is not needed, or a link to one is included in the PR description
  • New files have MPL-2.0 license header
  • Adequate test coverage exists to prevent regressions
  • Major classes, functions and non-trivial code blocks are well-commented
  • Changes in component dependencies are properly reflected in gn
  • Code follows the style guide
  • Test plan is specified in PR before merging

After-merge Checklist:

Test Plan:

See https://github.com/brave/internal/issues/823

@zenparsing zenparsing force-pushed the ksmith-one-wallet-only branch from 8f04977 to bd7dd8d Compare November 10, 2021 16:06
@zenparsing zenparsing marked this pull request as ready for review November 10, 2021 16:06
@zenparsing zenparsing requested a review from a team as a code owner November 10, 2021 16:06
const std::string& wallet_type,
const base::flat_map<std::string, std::string>& args,
ExternalWalletAuthorizationCallback callback,
ledger::type::Result result) {
if (!Connected()) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we need to check result here?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yes, good call. The question then becomes: what do we do when disconnecting fails?

Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah, I'm not sure there's much we can do other than log it for support purposes and move on (unless you're thinking showing the user some sort of UI would be useful, but I feel like that could happen down the line beyond this PR).

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I added a logged error.

@zenparsing zenparsing force-pushed the ksmith-one-wallet-only branch from bd7dd8d to 80a4bc5 Compare November 15, 2021 19:46
@@ -805,6 +805,10 @@ void LedgerImpl::DisconnectWallet(const std::string& wallet_type,
});
}

void LedgerImpl::DisconnectExternalWallets(ResultCallback callback) {
WhenReady([this, callback]() { wallet()->DisconnectAllWallets(callback); });
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This currently doesn't work for the following reasons:

  • DisconnectAllWallets calls the de-linking endpoints unconditionally, whether the user has an active wallet for a given provider or not.
  • DisconnectAllWallets calls its callback immediately, without waiting for the de-linking operations to complete.

@zenparsing zenparsing force-pushed the ksmith-one-wallet-only branch from 80a4bc5 to a60019b Compare November 24, 2021 15:34
@zenparsing zenparsing closed this May 12, 2022
@zenparsing zenparsing deleted the ksmith-one-wallet-only branch May 12, 2022 21:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Rewards panel showing former Uphold balance, even after Gemini is connected
3 participants