From 826eb82ed806772353c720d7ff736ff709539a37 Mon Sep 17 00:00:00 2001 From: Whymarrh Whitby Date: Mon, 26 Nov 2018 12:06:17 -0330 Subject: [PATCH 1/2] Use initState to avoid type-checking providerRequests in state --- app/scripts/controllers/provider-approval.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/scripts/controllers/provider-approval.js b/app/scripts/controllers/provider-approval.js index 21d7fd22e..53172c069 100644 --- a/app/scripts/controllers/provider-approval.js +++ b/app/scripts/controllers/provider-approval.js @@ -22,7 +22,9 @@ class ProviderApprovalController { this.platform = platform this.preferencesController = preferencesController this.publicConfigStore = publicConfigStore - this.store = new ObservableStore() + this.store = new ObservableStore({ + providerRequests: [], + }) if (platform && platform.addMessageListener) { platform.addMessageListener(({ action = '', force, origin, siteTitle, siteImage }) => { @@ -103,7 +105,7 @@ class ProviderApprovalController { */ approveProviderRequest (origin) { this.closePopup && this.closePopup() - const requests = this.store.getState().providerRequests || [] + const requests = this.store.getState().providerRequests this.platform && this.platform.sendMessage({ action: 'approve-provider-request', selectedAddress: this.publicConfigStore.getState().selectedAddress, @@ -121,7 +123,7 @@ class ProviderApprovalController { */ rejectProviderRequest (origin) { this.closePopup && this.closePopup() - const requests = this.store.getState().providerRequests || [] + const requests = this.store.getState().providerRequests this.platform && this.platform.sendMessage({ action: 'reject-provider-request' }, { active: true }) const providerRequests = requests.filter(request => request.origin !== origin) this.store.updateState({ providerRequests }) From 08c98a6df73ffd0c3bbb0d9798eca59cf4ba7209 Mon Sep 17 00:00:00 2001 From: Whymarrh Whitby Date: Mon, 26 Nov 2018 12:06:47 -0330 Subject: [PATCH 2/2] Show Connect Requests count in extension badge --- app/scripts/background.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/scripts/background.js b/app/scripts/background.js index d577ead41..c75f514d5 100644 --- a/app/scripts/background.js +++ b/app/scripts/background.js @@ -414,6 +414,7 @@ function setupController (initState, initLangCode) { controller.messageManager.on('updateBadge', updateBadge) controller.personalMessageManager.on('updateBadge', updateBadge) controller.typedMessageManager.on('updateBadge', updateBadge) + controller.providerApprovalController.store.on('update', updateBadge) /** * Updates the Web Extension's "badge" number, on the little fox in the toolbar. @@ -425,7 +426,8 @@ function setupController (initState, initLangCode) { var unapprovedMsgCount = controller.messageManager.unapprovedMsgCount var unapprovedPersonalMsgs = controller.personalMessageManager.unapprovedPersonalMsgCount var unapprovedTypedMsgs = controller.typedMessageManager.unapprovedTypedMessagesCount - var count = unapprovedTxCount + unapprovedMsgCount + unapprovedPersonalMsgs + unapprovedTypedMsgs + const pendingProviderRequests = controller.providerApprovalController.store.getState().providerRequests.length + var count = unapprovedTxCount + unapprovedMsgCount + unapprovedPersonalMsgs + unapprovedTypedMsgs + pendingProviderRequests if (count) { label = String(count) }