diff --git a/packages/app/src/app/overmind/createConnect.ts b/packages/app/src/app/overmind/createConnect.ts index d99970fd362..947013e1c42 100755 --- a/packages/app/src/app/overmind/createConnect.ts +++ b/packages/app/src/app/overmind/createConnect.ts @@ -25,11 +25,17 @@ const IS_PRODUCTION = process.env.NODE_ENV === 'production'; function createReaction(overmind: any) { return (reactionCb: any, updateCb: any) => { const tree = overmind.proxyStateTree.getTrackStateTree(); + const updateReaction = () => { + tree.trackScope( + () => reactionCb(tree.state), + () => { + updateCb(reactionCb(tree.state)); + updateReaction(); + } + ); + }; - tree.trackScope( - () => reactionCb(tree.state), - () => updateCb(reactionCb(tree.state)) - ); + updateReaction(); return () => { overmind.proxyStateTree.disposeTree(tree); diff --git a/packages/app/src/app/overmind/effects/live/index.ts b/packages/app/src/app/overmind/effects/live/index.ts index 09f17fe34d4..6c86eb5e6d6 100755 --- a/packages/app/src/app/overmind/effects/live/index.ts +++ b/packages/app/src/app/overmind/effects/live/index.ts @@ -151,8 +151,9 @@ export default { .receive('ok', resolve) .receive('error', reject); } else { - // eslint-disable-next-line prefer-promise-reject-errors - reject('Channel is not defined'); + // we might try to send messages even when not on live, just + // ignore it + resolve(); } }); },