diff --git a/ts/components/conversation/SessionConversation.tsx b/ts/components/conversation/SessionConversation.tsx index 5bf640d13..ba3f3c714 100644 --- a/ts/components/conversation/SessionConversation.tsx +++ b/ts/components/conversation/SessionConversation.tsx @@ -261,10 +261,10 @@ export class SessionConversation extends React.Component { text={window.i18n('disappearingMessagesModeOutdated', [ selectedConversation.hasOutdatedClient, ])} - dismissCallback={() => { + dismissCallback={async () => { const conversation = getConversationController().get(selectedConversation.id); conversation.set({ hasOutdatedClient: undefined }); - conversation.commit(); + await conversation.commit(); }} /> )} diff --git a/ts/components/conversation/right-panel/RightPanel.tsx b/ts/components/conversation/right-panel/RightPanel.tsx index 85b71ab09..e2d5426fe 100644 --- a/ts/components/conversation/right-panel/RightPanel.tsx +++ b/ts/components/conversation/right-panel/RightPanel.tsx @@ -25,7 +25,9 @@ const ClosableOverlay = () => { setShowNewDisppearingMessageModes(result); }) .catch(() => { - if (isCancelled) return; + if (isCancelled) { + return; + } }); return () => { diff --git a/ts/models/conversation.ts b/ts/models/conversation.ts index 113429313..2fb3ca525 100644 --- a/ts/models/conversation.ts +++ b/ts/models/conversation.ts @@ -679,7 +679,7 @@ export class ConversationModel extends Backbone.Model { }); window.log.info( - `WIP: sendMessageJob() closedGroupVisibleMessage`, + 'WIP: sendMessageJob() closedGroupVisibleMessage', closedGroupVisibleMessage ); @@ -1054,6 +1054,7 @@ export class ConversationModel extends Backbone.Model { } } + // tslint:disable: cyclomatic-complexity public async updateExpireTimer({ providedExpirationType, providedExpireTimer, diff --git a/ts/receiver/contentMessage.ts b/ts/receiver/contentMessage.ts index c6c15bc9e..730f353a4 100644 --- a/ts/receiver/contentMessage.ts +++ b/ts/receiver/contentMessage.ts @@ -411,7 +411,11 @@ export async function innerHandleSwarmContentMessage( if (expireUpdate && !isEmpty(expireUpdate)) { // TODO legacy messages support will be removed in a future release - checkHasOutdatedClient(conversationModelForUIUpdate, senderConversationModel, expireUpdate); + await checkHasOutdatedClient( + conversationModelForUIUpdate, + senderConversationModel, + expireUpdate + ); } // TODO legacy messages support will be removed in a future release @@ -419,7 +423,7 @@ export async function innerHandleSwarmContentMessage( expireUpdate?.isDisappearingMessagesV2Released && expireUpdate?.isLegacyConversationSettingMessage ) { - window.log.info(`WIP: The legacy message is an expiration timer update. Ignoring it.`); + window.log.info('WIP: The legacy message is an expiration timer update. Ignoring it.'); return; } diff --git a/ts/receiver/queuedJob.ts b/ts/receiver/queuedJob.ts index 0b3ddfd54..184f2a06e 100644 --- a/ts/receiver/queuedJob.ts +++ b/ts/receiver/queuedJob.ts @@ -314,6 +314,7 @@ async function handleRegularMessage( }); } +// tslint:disable: max-func-body-length cyclomatic-complexity export async function handleMessageJob( messageModel: MessageModel, conversation: ConversationModel, @@ -352,7 +353,6 @@ export async function handleMessageJob( } if (messageModel.isExpirationTimerUpdate()) { - // TODO legacy messages support will be removed in a future release // NOTE if we turn off disappearing messages from a legacy client expirationTimerUpdate can be undefined but the flags value is correctly set const expirationTimerUpdate = messageModel.get('expirationTimerUpdate'); if ( @@ -360,7 +360,7 @@ export async function handleMessageJob( (!expirationTimerUpdate || isEmpty(expirationTimerUpdate)) ) { window.log.info( - `WIP: There is a problem with the expiration timer update`, + 'WIP: There is a problem with the expiration timer update', messageModel, expirationTimerUpdate ); @@ -373,9 +373,10 @@ export async function handleMessageJob( expirationTimerUpdate?.lastDisappearingMessageChangeTimestamp || getNowWithNetworkOffset(); // Compare mode and timestamp - const oldTypeValue = conversation.get('expirationType'); - const oldTimerValue = conversation.get('expireTimer'); - if (isEqual(expirationType, oldTypeValue) && isEqual(expireTimer, oldTimerValue)) { + if ( + isEqual(expirationType, conversation.get('expirationType')) && + isEqual(expireTimer, conversation.get('expireTimer')) + ) { confirm?.(); window?.log?.info( 'WIP: Dropping ExpireTimerUpdate message as we already have the same one set.' diff --git a/ts/session/messages/outgoing/DataMessage.ts b/ts/session/messages/outgoing/DataMessage.ts index c19a98d68..33ef1ef64 100644 --- a/ts/session/messages/outgoing/DataMessage.ts +++ b/ts/session/messages/outgoing/DataMessage.ts @@ -8,8 +8,4 @@ export abstract class DataMessage extends ExpirableMessage { dataMessage: this.dataProto(), }); } - - public dataProto(): SignalService.DataMessage { - return super.dataProto(); - } } diff --git a/ts/session/utils/syncUtils.ts b/ts/session/utils/syncUtils.ts index bc61b1ad2..fee9c2acc 100644 --- a/ts/session/utils/syncUtils.ts +++ b/ts/session/utils/syncUtils.ts @@ -349,7 +349,7 @@ export const buildSyncMessage = ( if (expireUpdate && !isEmpty(expireUpdate)) { return buildSyncExpireTimerMessage(identifier, expireUpdate, timestamp, syncTarget); } else { - window.log.info(`WIP: Building Sync Expire Timer Message failed`, dataMessage, expireUpdate); + window.log.info('WIP: Building Sync Expire Timer Message failed', dataMessage, expireUpdate); } } return buildSyncVisibleMessage(identifier, dataMessage, timestamp, syncTarget); diff --git a/ts/util/expiringMessages.ts b/ts/util/expiringMessages.ts index adace8c54..54f0b6113 100644 --- a/ts/util/expiringMessages.ts +++ b/ts/util/expiringMessages.ts @@ -320,7 +320,7 @@ export async function checkForExpireUpdate( isDisappearingMessagesV2Released && (isLegacyDataMessage || isLegacyConversationSettingMessage || shouldDisappearButIsntMessage) ) { - window.log.info(`WIP: received a legacy disappearing message after v2 was released.`); + window.log.info('WIP: received a legacy disappearing message after v2 was released.'); expirationType = convoToUpdate.get('expirationType'); expirationTimer = convoToUpdate.get('expireTimer'); } @@ -334,7 +334,7 @@ export async function checkForExpireUpdate( isDisappearingMessagesV2Released, }; - window.log.info(`WIP: checkForExpireUpdate`, expireUpdate); + window.log.info('WIP: checkForExpireUpdate', expireUpdate); return expireUpdate; } @@ -345,7 +345,7 @@ export function handleExpireUpdate( messageModel: MessageModel, expireUpdate: DisappearingMessageUpdate ) { - let { + const { expirationType, // TODO renamed expireTimer to expirationTimer expirationTimer: expireTimer, @@ -380,7 +380,7 @@ export function handleExpireUpdate( return messageModel; } -export function checkHasOutdatedClient( +export async function checkHasOutdatedClient( convoToUpdate: ConversationModel, sender: ConversationModel, expireUpdate: DisappearingMessageUpdate @@ -401,13 +401,13 @@ export function checkHasOutdatedClient( hasOutdatedClient: undefined, }); } - convoToUpdate.commit(); + await convoToUpdate.commit(); } else { if (expireUpdate.isLegacyDataMessage || expireUpdate.isLegacyConversationSettingMessage) { convoToUpdate.set({ hasOutdatedClient: outdatedSender, }); - convoToUpdate.commit(); + await convoToUpdate.commit(); } } }