diff --git a/ts/session/protocols/SessionProtocol.ts b/ts/session/protocols/SessionProtocol.ts index 9aa9fc726..9070528ac 100644 --- a/ts/session/protocols/SessionProtocol.ts +++ b/ts/session/protocols/SessionProtocol.ts @@ -9,7 +9,6 @@ import { PubKey } from '../types'; interface StringToNumberMap { [key: string]: number; } -// tslint:disable: function-name // tslint:disable: no-unnecessary-class export class SessionProtocol { private static dbLoaded: Boolean = false; @@ -77,7 +76,7 @@ export class SessionProtocol { * Triggers a SessionRequestMessage to be sent if: * - we do not already have a session and * - we did not sent a session request already to that device and - * - we do not have a session request currently being send to that device + * - we do not have a session request currently being sent to that device */ public static async sendSessionRequestIfNeeded( pubkey: PubKey @@ -86,7 +85,7 @@ export class SessionProtocol { (await SessionProtocol.hasSession(pubkey)) || (await SessionProtocol.hasSentSessionRequest(pubkey)) ) { - return Promise.resolve(); + return; } const preKeyBundle = await libloki.storage.getPreKeyBundleForContact( @@ -109,7 +108,10 @@ export class SessionProtocol { } } - /** */ + /** + * Sends a session request message to that pubkey. + * We store the sent timestamp only if the message is effectively sent. + */ public static async sendSessionRequest( message: SessionRequestMessage, pubkey: PubKey @@ -118,6 +120,7 @@ export class SessionProtocol { // mark the session as being pending send with current timestamp // so we know we already triggered a new session with that device + // so sendSessionRequestIfNeeded does not sent another session request SessionProtocol.pendingSendSessionsTimestamp.add(pubkey.key); try { @@ -216,7 +219,7 @@ export class SessionProtocol { map: StringToNumberMap ): Promise { if (!timestamp) { - if (!!map[device]) { + if (device in map) { // tslint:disable-next-line: no-dynamic-delete delete map[device];