fix reconnecting clients

Summary:
When an archived device reconnected, the clients from the architved device weren't removed and a new client was added. This caused a client to be shown multiple times after reconnecting a device.

In this diff, all clients and pluginStates from an archived device are removed once the device reconnects.

Reviewed By: passy

Differential Revision: D16075349

fbshipit-source-id: 1d0e6ce17c89bb75dd993466bca6bd64e2c63338
This commit is contained in:
Daniel Büchele
2019-07-02 03:07:52 -07:00
committed by Facebook Github Bot
parent 28d4e6409d
commit f2c8fe0205
3 changed files with 43 additions and 6 deletions

View File

@@ -237,7 +237,9 @@ const reducer = (state: State = INITAL_STATE, action: Action): State => {
return {
...state,
clients: state.clients.concat(payload),
clients: state.clients
.filter((client: Client) => client.id !== payload.id)
.concat(payload),
uninitializedClients: state.uninitializedClients.filter(c => {
return (
c.deviceId !== payload.query.device_id ||