aboutsummaryrefslogtreecommitdiffstats
path: root/packages/preload/src/contextBridge/createSophieRenderer.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/preload/src/contextBridge/createSophieRenderer.ts')
-rw-r--r--packages/preload/src/contextBridge/createSophieRenderer.ts15
1 files changed, 6 insertions, 9 deletions
diff --git a/packages/preload/src/contextBridge/createSophieRenderer.ts b/packages/preload/src/contextBridge/createSophieRenderer.ts
index 3174fed..41accfd 100644
--- a/packages/preload/src/contextBridge/createSophieRenderer.ts
+++ b/packages/preload/src/contextBridge/createSophieRenderer.ts
@@ -23,8 +23,8 @@ import {
23 action, 23 action,
24 MainToRendererIpcMessage, 24 MainToRendererIpcMessage,
25 RendererToMainIpcMessage, 25 RendererToMainIpcMessage,
26 sharedStore,
27 SharedStoreListener, 26 SharedStoreListener,
27 SharedStoreSnapshotIn,
28 SophieRenderer, 28 SophieRenderer,
29} from '@sophie/shared'; 29} from '@sophie/shared';
30import { ipcRenderer } from 'electron'; 30import { ipcRenderer } from 'electron';
@@ -66,15 +66,12 @@ class SharedStoreConnector {
66 } catch (error) { 66 } catch (error) {
67 log.error('Failed to get initial shared store snapshot', error); 67 log.error('Failed to get initial shared store snapshot', error);
68 } 68 }
69 if (success) { 69 if (!success) {
70 if (sharedStore.is(snapshot)) { 70 throw new Error('Failed to connect to shared store');
71 listener.onSnapshot(snapshot);
72 this.listener = listener;
73 return;
74 }
75 log.error('Got invalid initial shared store snapshot', snapshot);
76 } 71 }
77 throw new Error('Failed to connect to shared store'); 72 // `mobx-state-tree` will validate the snapshot, so we can safely cast here.
73 listener.onSnapshot(snapshot as SharedStoreSnapshotIn);
74 this.listener = listener;
78 } 75 }
79} 76}
80 77