From 9541d1e281b0ae02d4f41d8bd6cb31d67f27fdc5 Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Wed, 2 Oct 2019 16:12:20 -0300 Subject: [PATCH] Don't wait for 3Box initialization during login (#7242) The 3Box initialization is triggered by login, but it no longer blocks the login from finishing. The 3Box initialization is designed to run in the background, so there's no reason to block on it. --- app/scripts/metamask-controller.js | 3 ++- test/unit/app/controllers/metamask-controller-test.js | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index d7baedb43..b4014272a 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -757,7 +757,8 @@ module.exports = class MetamaskController extends EventEmitter { try { const threeBoxSyncingAllowed = this.threeBoxController.getThreeBoxSyncingState() if (threeBoxSyncingAllowed && !this.threeBoxController.box) { - await this.threeBoxController.new3Box() + // 'await' intentionally omitted to avoid waiting for initialization + this.threeBoxController.init() this.threeBoxController.turnThreeBoxSyncingOn() } else if (threeBoxSyncingAllowed && this.threeBoxController.box) { this.threeBoxController.turnThreeBoxSyncingOn() diff --git a/test/unit/app/controllers/metamask-controller-test.js b/test/unit/app/controllers/metamask-controller-test.js index 4d2d3e3f8..808ecc9a9 100644 --- a/test/unit/app/controllers/metamask-controller-test.js +++ b/test/unit/app/controllers/metamask-controller-test.js @@ -9,7 +9,7 @@ const createTxMeta = require('../../../lib/createTxMeta') const EthQuery = require('eth-query') const threeBoxSpies = { - new3Box: sinon.spy(), + init: sinon.spy(), getThreeBoxAddress: sinon.spy(), getThreeBoxSyncingState: sinon.stub().returns(true), turnThreeBoxSyncingOn: sinon.spy(), @@ -23,7 +23,7 @@ class ThreeBoxControllerMock { subscribe: () => {}, getState: () => ({}), } - this.new3Box = threeBoxSpies.new3Box + this.init = threeBoxSpies.init this.getThreeBoxAddress = threeBoxSpies.getThreeBoxAddress this.getThreeBoxSyncingState = threeBoxSpies.getThreeBoxSyncingState this.turnThreeBoxSyncingOn = threeBoxSpies.turnThreeBoxSyncingOn @@ -108,7 +108,7 @@ describe('MetaMaskController', function () { beforeEach(async function () { await metamaskController.createNewVaultAndKeychain(password) - threeBoxSpies.new3Box.reset() + threeBoxSpies.init.reset() threeBoxSpies.turnThreeBoxSyncingOn.reset() }) @@ -131,7 +131,7 @@ describe('MetaMaskController', function () { it('gets the address from threebox and creates a new 3box instance', async () => { await metamaskController.submitPassword(password) - assert(threeBoxSpies.new3Box.calledOnce) + assert(threeBoxSpies.init.calledOnce) assert(threeBoxSpies.turnThreeBoxSyncingOn.calledOnce) }) })