diff --git a/desktop/app/src/sandy-chrome/appinspect/AppSelector.tsx b/desktop/app/src/sandy-chrome/appinspect/AppSelector.tsx index 7e1265f9c..da6c41f9d 100644 --- a/desktop/app/src/sandy-chrome/appinspect/AppSelector.tsx +++ b/desktop/app/src/sandy-chrome/appinspect/AppSelector.tsx @@ -172,29 +172,38 @@ function computeEntries( onSelectDevice: (device: BaseDevice) => void, onSelectApp: (device: BaseDevice, client: Client) => void, ) { - const entries = devices.filter(canBeDefaultDevice).map((device) => { - const deviceEntry = ( - { - onSelectDevice(device); - }}> - {device.displayTitle()} - - ); - const clientEntries = getAvailableClients(device, clients).map((client) => ( - { - onSelectApp(device, client); - }}> - {client.query.app} - - )); - return [deviceEntry, ...clientEntries]; - }); + const entries = devices + .filter( + (device) => + // hide non default devices, unless they have a connected client + canBeDefaultDevice(device) || + clients.some((c) => c.deviceSync === device), + ) + .map((device) => { + const deviceEntry = ( + { + onSelectDevice(device); + }}> + {device.displayTitle()} + + ); + const clientEntries = getAvailableClients(device, clients).map( + (client) => ( + { + onSelectApp(device, client); + }}> + {client.query.app} + + ), + ); + return [deviceEntry, ...clientEntries]; + }); if (uninitializedClients.length) { entries.push([