From 3a27953f9a7b839ee13907db0384e30ba54bd64c Mon Sep 17 00:00:00 2001 From: hensm Date: Mon, 13 Jan 2020 20:23:02 +0000 Subject: [PATCH] Ensure returned receivers from StatusManager have a valid status --- ext/src/background/StatusManager.ts | 9 +++++++-- .../receiverSelector/ReceiverSelectorManager.ts | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ext/src/background/StatusManager.ts b/ext/src/background/StatusManager.ts index ba618f3..32a75be 100644 --- a/ext/src/background/StatusManager.ts +++ b/ext/src/background/StatusManager.ts @@ -55,8 +55,13 @@ export default new class StatusManager } } - public getReceivers () { - return Array.from(this.receivers.values()); + public * getReceivers() { + for (const [, receiver ] of this.receivers) { + if (receiver.status && receiver.status.application + && receiver.status.volume) { + yield receiver; + } + } } private async createBridgePort () { diff --git a/ext/src/background/receiverSelector/ReceiverSelectorManager.ts b/ext/src/background/receiverSelector/ReceiverSelectorManager.ts index 7ef6a2e..9ff7659 100644 --- a/ext/src/background/receiverSelector/ReceiverSelectorManager.ts +++ b/ext/src/background/receiverSelector/ReceiverSelectorManager.ts @@ -102,7 +102,7 @@ async function getSelection ( await StatusManager.init(); sharedSelector.open( - StatusManager.getReceivers() + Array.from(StatusManager.getReceivers()) , defaultMediaType , availableMediaTypes); });