diff --git a/desktop/app/src/Client.tsx b/desktop/app/src/Client.tsx index 472307218..694ded944 100644 --- a/desktop/app/src/Client.tsx +++ b/desktop/app/src/Client.tsx @@ -121,7 +121,6 @@ export default class Client extends EventEmitter { logger: Logger; lastSeenDeviceList: Array; broadcastCallbacks: Map>>; - rIC: any; requestCallbacks: Map< number, @@ -167,14 +166,6 @@ export default class Client extends EventEmitter { } const client = this; - // node.js doesn't support requestIdleCallback - this.rIC = - typeof window === 'undefined' || !window.requestIdleCallback - ? (cb: Function, _: any) => { - cb(); - } - : window.requestIdleCallback.bind(window); - if (conn) { conn.connectionStatus().subscribe({ onNext(payload) { diff --git a/desktop/app/src/server.tsx b/desktop/app/src/server.tsx index dc9e9d8df..cc76e4388 100644 --- a/desktop/app/src/server.tsx +++ b/desktop/app/src/server.tsx @@ -252,7 +252,10 @@ class Server extends EventEmitter { socket, {app, os, device, device_id, sdk_version}, {csr, csr_path}, - ); + ).then(client => { + return (resolvedClient = client); + }); + let resolvedClient: Client | undefined; socket.connectionStatus().subscribe({ onNext(payload) { @@ -269,12 +272,15 @@ class Server extends EventEmitter { }); return { - fireAndForget: (payload: {data: string}) => - client.then(client => { - client.rIC(() => client.onMessage(payload.data), { - timeout: 500, + fireAndForget: (payload: {data: string}) => { + if (resolvedClient) { + resolvedClient.onMessage(payload.data); + } else { + client.then(client => { + client.onMessage(payload.data); }); - }), + } + }, }; };