Fix Messenger not showing up in Sandy

Summary: Metro and Mac device were always hidden in Sandy, but they should only be hidden if they don't have underlying Clients. Fixes https://fb.workplace.com/groups/748354712423318/permalink/775342569724532/

Reviewed By: nikoant

Differential Revision: D25369492

fbshipit-source-id: fdc25c3646d8339ae029425b4c45d8631bbee762
This commit is contained in:
Michel Weststrate
2020-12-07 09:43:42 -08:00
committed by Facebook GitHub Bot
parent fa00575dec
commit 244b6dc1be

View File

@@ -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 = (
<Menu.Item
icon={getOsIcon(device.os)}
key={device.serial}
style={{fontWeight: 'bold'}}
onClick={() => {
onSelectDevice(device);
}}>
{device.displayTitle()}
</Menu.Item>
);
const clientEntries = getAvailableClients(device, clients).map((client) => (
<Menu.Item
key={client.id}
onClick={() => {
onSelectApp(device, client);
}}>
<Radio value={client.id}>{client.query.app}</Radio>
</Menu.Item>
));
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 = (
<Menu.Item
icon={getOsIcon(device.os)}
key={device.serial}
style={{fontWeight: 'bold'}}
onClick={() => {
onSelectDevice(device);
}}>
{device.displayTitle()}
</Menu.Item>
);
const clientEntries = getAvailableClients(device, clients).map(
(client) => (
<Menu.Item
key={client.id}
onClick={() => {
onSelectApp(device, client);
}}>
<Radio value={client.id}>{client.query.app}</Radio>
</Menu.Item>
),
);
return [deviceEntry, ...clientEntries];
});
if (uninitializedClients.length) {
entries.push([
<Menu.Item key="connecting" style={{fontWeight: 'bold'}}>