diff --git a/src/worker/async-store.js b/src/worker/async-store.js index d6dc4e8b4..cf800f5d4 100644 --- a/src/worker/async-store.js +++ b/src/worker/async-store.js @@ -89,7 +89,9 @@ const factory = (ApiConfig = {}, Sortify, UserObject, ProxyManager, var s = getStore(teamId); if (!s) { return void cb({ error: 'ENOTFOUND' }); } nThen(function (waitFor) { - Realtime.whenRealtimeSyncs(s.realtime, waitFor()); + if (s.realtime) { + Realtime.whenRealtimeSyncs(s.realtime, waitFor()); + } if (!s.id && s.drive?.realtime) { Realtime.whenRealtimeSyncs(s.drive.realtime, waitFor()); } @@ -2722,7 +2724,8 @@ const factory = (ApiConfig = {}, Sortify, UserObject, ProxyManager, }); }; - var onCacheReady = function (clientId, cb) { + var onCacheReady = function (clientId, _cb) { + const cb = Util.mkAsync(_cb); var proxy = store.proxy; var drive = store.drive; if (store.manager) { return void cb(); } @@ -3215,7 +3218,7 @@ const factory = (ApiConfig = {}, Sortify, UserObject, ProxyManager, } if (requires === 'drive') { - loadDrive(clientId, data, ret => { + return void loadDrive(clientId, data, ret => { cb(ret); startCacheModules(clientId, ret, onInit); }, ret => { diff --git a/src/worker/components/account.ts b/src/worker/components/account.ts index 10208d7c7..1baa56b59 100644 --- a/src/worker/components/account.ts +++ b/src/worker/components/account.ts @@ -65,6 +65,7 @@ const init = (config) => { returned.anonHash = Hash.getEditHashFromKeys(secret); } }).on('cacheready', function (info) { + store.realtime = info.realtime; // XXX move to account store.offline = true; // XXX move to account store.networkPromise = info.networkPromise; store.cacheReturned = returned; // XXX move to account