diff --git a/packages/api/src/Domain/Http/HttpService.ts b/packages/api/src/Domain/Http/HttpService.ts index 2065a9164..6a413978e 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 338017d84..438e26a56 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) {