diff --git a/ext/src/background/receiverSelector/NativeReceiverSelector.ts b/ext/src/background/receiverSelector/NativeReceiverSelector.ts index 5dbd617..4733ebc 100644 --- a/ext/src/background/receiverSelector/NativeReceiverSelector.ts +++ b/ext/src/background/receiverSelector/NativeReceiverSelector.ts @@ -36,7 +36,7 @@ export default class NativeReceiverSelector extends ReceiverSelector { receivers: Receiver[] , defaultMediaType: ReceiverSelectorMediaType , availableMediaTypes: ReceiverSelectorMediaType - , requestedAppId: string): Promise { + , requestedAppId?: string): Promise { this.bridgePort = await bridge.connect(); @@ -70,8 +70,9 @@ export default class NativeReceiverSelector extends ReceiverSelector { , i18n_extensionName: _("extensionName") , i18n_castButtonTitle: _("popupCastButtonTitle") , i18n_stopButtonTitle: _("popupStopButtonTitle") - , i18n_mediaTypeApp: knownApps[requestedAppId]?.name - ?? _("popupMediaTypeApp") + , i18n_mediaTypeApp: + (requestedAppId && knownApps[requestedAppId]?.name) + ?? _("popupMediaTypeApp") , i18n_mediaTypeTab: _("popupMediaTypeTab") , i18n_mediaTypeScreen: _("popupMediaTypeScreen") , i18n_mediaTypeFile: _("popupMediaTypeFile") diff --git a/ext/src/background/receiverSelector/PopupReceiverSelector.ts b/ext/src/background/receiverSelector/PopupReceiverSelector.ts index 9a45bf4..ee92192 100644 --- a/ext/src/background/receiverSelector/PopupReceiverSelector.ts +++ b/ext/src/background/receiverSelector/PopupReceiverSelector.ts @@ -56,7 +56,7 @@ export default class PopupReceiverSelector extends ReceiverSelector { receivers: Receiver[] , defaultMediaType: ReceiverSelectorMediaType , availableMediaTypes: ReceiverSelectorMediaType - , requestedAppId: string): Promise { + , requestedAppId?: string): Promise { this.requestedAppId = requestedAppId; @@ -145,8 +145,7 @@ export default class PopupReceiverSelector extends ReceiverSelector { this.messagePortDisconnected = true; }); - if (!this.requestedAppId - || !this.receivers + if (!this.receivers || !this.defaultMediaType || !this.availableMediaTypes) { throw logger.error("Popup receiver data not found."); diff --git a/ext/src/background/receiverSelector/ReceiverSelector.ts b/ext/src/background/receiverSelector/ReceiverSelector.ts index 9e8ac38..b02e706 100644 --- a/ext/src/background/receiverSelector/ReceiverSelector.ts +++ b/ext/src/background/receiverSelector/ReceiverSelector.ts @@ -45,7 +45,7 @@ export default abstract class ReceiverSelector abstract open (receivers: Receiver[] , defaultMediaType: ReceiverSelectorMediaType , availableMediaTypes: ReceiverSelectorMediaType - , requestedAppId: string): void; + , requestedAppId?: string): void; abstract close (): void; } diff --git a/ext/src/background/receiverSelector/ReceiverSelectorManager.ts b/ext/src/background/receiverSelector/ReceiverSelectorManager.ts index e10cd20..f7201e1 100644 --- a/ext/src/background/receiverSelector/ReceiverSelectorManager.ts +++ b/ext/src/background/receiverSelector/ReceiverSelectorManager.ts @@ -204,7 +204,7 @@ async function getSelection ( Array.from(StatusManager.getReceivers()) , defaultMediaType , availableMediaTypes - , currentShim?.requestedAppId ?? DEFAULT_MEDIA_RECEIVER_APP_ID); + , currentShim?.requestedAppId); }); } diff --git a/ext/src/lib/messaging.ts b/ext/src/lib/messaging.ts index db464ed..f49d321 100644 --- a/ext/src/lib/messaging.ts +++ b/ext/src/lib/messaging.ts @@ -18,7 +18,7 @@ export type Messages = [ { subject: "popup:/sendRequestedAppId" , data: { - requestedAppId: string; + requestedAppId?: string; } } , { diff --git a/ext/src/ui/popup/index.tsx b/ext/src/ui/popup/index.tsx index 6158af1..8d83d98 100755 --- a/ext/src/ui/popup/index.tsx +++ b/ext/src/ui/popup/index.tsx @@ -78,10 +78,9 @@ class PopupApp extends Component<{}, PopupAppState> { } case "popup:/populateReceiverList": { - const { receivers, availableMediaTypes, defaultMediaType } - : { receivers: Receiver[] - , availableMediaTypes: ReceiverSelectorMediaType - , defaultMediaType: ReceiverSelectorMediaType } = message.data; + const { receivers + , availableMediaTypes + , defaultMediaType } = message.data; this.defaultMediaType = defaultMediaType;