From d58b3181dce2795f606adfeec112352b90013145 Mon Sep 17 00:00:00 2001 From: Dayan Graham Date: Thu, 9 Mar 2023 15:36:38 +0000 Subject: [PATCH] change(tracker): webworker has a bug where after being foregrounded (on mobile especially), if the writer or sender is not present, it will throw an error which will bubble up and crash the entire app. Instead, log a debug message and allow the writer / sender to reinit --- tracker/tracker/src/webworker/index.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tracker/tracker/src/webworker/index.ts b/tracker/tracker/src/webworker/index.ts index 656796b98..f192730b0 100644 --- a/tracker/tracker/src/webworker/index.ts +++ b/tracker/tracker/src/webworker/index.ts @@ -136,13 +136,15 @@ self.onmessage = ({ data }: any): any => { if (data.type === 'auth') { if (!sender) { - throw new Error('WebWorker: sender not initialised. Received auth.') + console.debug('WebWorker: sender not initialised. Received auth.') } if (!writer) { - throw new Error('WebWorker: writer not initialised. Received auth.') + console.debug('WebWorker: writer not initialised. Received auth.') + } + if (sender && writer) { + sender.authorise(data.token) + data.beaconSizeLimit && writer.setBeaconSizeLimit(data.beaconSizeLimit) } - sender.authorise(data.token) - data.beaconSizeLimit && writer.setBeaconSizeLimit(data.beaconSizeLimit) return } }