From 5ebfcb5e4ecf617dc69acba18d24d62f5a8dd1ad Mon Sep 17 00:00:00 2001 From: Mo Date: Wed, 9 Nov 2022 13:37:28 -0600 Subject: [PATCH] fix: load blocking by network await --- packages/api/src/Domain/Http/HttpService.ts | 7 ++++++- packages/snjs/lib/Services/Session/SessionManager.ts | 5 ++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/api/src/Domain/Http/HttpService.ts b/packages/api/src/Domain/Http/HttpService.ts index 2065a916444..6a413978ee7 100644 --- a/packages/api/src/Domain/Http/HttpService.ts +++ b/packages/api/src/Domain/Http/HttpService.ts @@ -1,4 +1,4 @@ -import { isString, joinPaths } from '@standardnotes/utils' +import { isString, joinPaths, sleep } from '@standardnotes/utils' import { Environment } from '@standardnotes/models' import { HttpRequestParams } from './HttpRequestParams' import { HttpVerb } from './HttpVerb' @@ -13,6 +13,7 @@ import { HttpErrorResponseBody } from './HttpErrorResponseBody' export class HttpService implements HttpServiceInterface { private authorizationToken?: string + private __latencySimulatorMs?: number constructor( private environment: Environment, @@ -78,6 +79,10 @@ export class HttpService implements HttpServiceInterface { private async runHttp(httpRequest: HttpRequest): Promise { const request = this.createXmlRequest(httpRequest) + if (this.__latencySimulatorMs) { + await sleep(this.__latencySimulatorMs, true) + } + const response = await this.runRequest(request, this.createRequestBody(httpRequest)) if (response.meta) { diff --git a/packages/snjs/lib/Services/Session/SessionManager.ts b/packages/snjs/lib/Services/Session/SessionManager.ts index 338017d847c..438e26a567a 100644 --- a/packages/snjs/lib/Services/Session/SessionManager.ts +++ b/packages/snjs/lib/Services/Session/SessionManager.ts @@ -124,7 +124,6 @@ export class SNSessionManager extends AbstractService implements S if (rawSession) { const session = SessionFromRawStorageValue(rawSession) this.setSession(session, false) - await this.webSocketsService.startWebSocketConnection() } } @@ -132,6 +131,8 @@ export class SNSessionManager extends AbstractService implements S this.httpService.setAuthorizationToken(session.authorizationValue) this.apiService.setSession(session, persist) + + void this.webSocketsService.startWebSocketConnection() } public online() { @@ -625,8 +626,6 @@ export class SNSessionManager extends AbstractService implements S this.httpService.setHost(host) this.setSession(session) - - await this.webSocketsService.startWebSocketConnection() } private async handleAuthResponse(body: UserRegistrationResponseBody, rootKey: SNRootKey, wrappingKey?: SNRootKey) {