diff --git a/ts/background.ts b/ts/background.ts index 8f02d1352b..2c4c529559 100644 --- a/ts/background.ts +++ b/ts/background.ts @@ -1325,7 +1325,7 @@ export async function startApp(): Promise { }); window.Whisper.events.on('unlinkAndDisconnect', () => { - void unlinkAndDisconnect(); + drop(unlinkAndDisconnect()); }); window.Whisper.events.on('httpResponse499', () => { @@ -2971,6 +2971,14 @@ export async function startApp(): Promise { conversation.unset('senderKeyInfo'); }); + // We use username for integrity check + const ourConversation = + window.ConversationController.getOurConversation(); + if (ourConversation) { + ourConversation.unset('username'); + window.Signal.Data.updateConversation(ourConversation.attributes); + } + // Then make sure outstanding conversation saves are flushed await window.Signal.Data.flushUpdateConversationBatcher(); diff --git a/ts/services/usernameIntegrity.ts b/ts/services/usernameIntegrity.ts index 35b5b73fc8..4a415b185b 100644 --- a/ts/services/usernameIntegrity.ts +++ b/ts/services/usernameIntegrity.ts @@ -4,6 +4,7 @@ import pTimeout from 'p-timeout'; import * as Errors from '../types/errors'; +import { isDone as isRegistrationDone } from '../util/registration'; import { getConversation } from '../util/getConversation'; import { MINUTE, DAY } from '../util/durations'; import { drop } from '../util/drop'; @@ -69,6 +70,10 @@ class UsernameIntegrityService { } private async check(): Promise { + if (!isRegistrationDone()) { + return; + } + await this.checkUsername(); await this.checkPhoneNumberSharing(); }