diff options
Diffstat (limited to 'packages/preload/src/contextBridge/createSophieRenderer.ts')
-rw-r--r-- | packages/preload/src/contextBridge/createSophieRenderer.ts | 15 |
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'; |
30 | import { ipcRenderer } from 'electron'; | 30 | import { 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 | ||