fix: sync messages now expire in 1on1s

fromConfig has been removed from updateExpireTimer
pull/2971/head
William Grant 2 years ago
parent 631c677a24
commit c33eef0162

@ -386,14 +386,12 @@ export async function setDisappearingMessagesByConvoId(
providedExpirationType: 'off',
providedExpireTimer: 0,
providedChangeTimestamp,
fromConfigMessage: false,
});
} else {
await conversation.updateExpireTimer({
providedExpirationType: expirationType,
providedExpireTimer: seconds,
providedChangeTimestamp,
fromConfigMessage: false,
});
}
}

@ -807,8 +807,7 @@ export class ConversationModel extends Backbone.Model<ConversationAttributes> {
providedChangeTimestamp,
providedSource,
receivedAt, // is set if it comes from outside
fromConfigMessage,
fromSync = false,
fromSync = false, // if the update comes from a config or sync message
shouldCommit = true,
existingMessage,
}: {
@ -818,7 +817,6 @@ export class ConversationModel extends Backbone.Model<ConversationAttributes> {
providedSource?: string;
receivedAt?: number; // is set if it comes from outside
fromSync?: boolean;
fromConfigMessage: boolean;
shouldCommit?: boolean;
existingMessage?: MessageModel;
}): Promise<void> {
@ -826,7 +824,6 @@ export class ConversationModel extends Backbone.Model<ConversationAttributes> {
window.log.warn("updateExpireTimer() Disappearing messages aren't supported in communities");
return;
}
let expirationType = providedExpirationType;
let expireTimer = providedExpireTimer;
const lastDisappearingMessageChangeTimestamp = providedChangeTimestamp;
@ -844,7 +841,6 @@ export class ConversationModel extends Backbone.Model<ConversationAttributes> {
) {
window.log.info(
'WIP: updateExpireTimer() This is an outdated disappearing message setting',
`fromConfigMessage = ${fromConfigMessage}`,
`fromSync: ${fromSync}`
);
return;
@ -858,9 +854,8 @@ export class ConversationModel extends Backbone.Model<ConversationAttributes> {
) {
window.log.info(
`WIP: conversation: updateExpireTimer() Ignoring ExpireTimerUpdate ${
fromSync ? 'sync ' : ''
}message as we already have the same one set.`,
fromConfigMessage && 'This came from libsession.'
fromSync ? 'config/sync ' : ''
}message as we already have the same one set.`
);
return;
}
@ -939,9 +934,9 @@ export class ConversationModel extends Backbone.Model<ConversationAttributes> {
}
// if change was made remotely, don't send it to the contact/group
if (receivedAt || fromSync || fromConfigMessage) {
if (receivedAt || fromSync) {
window.log.debug(
`WIP: updateExpireTimer() We dont send an ExpireTimerUpdate because this was a remote change receivedAt:${receivedAt} fromSync:${fromSync} fromConfigMessage:${fromConfigMessage} `
`WIP: updateExpireTimer() We dont send an ExpireTimerUpdate because this was a remote change receivedAt:${receivedAt} fromSync:${fromSync}`
);
return;
}

@ -1170,7 +1170,7 @@ export class MessageModel extends Backbone.Model<MessageAttributes> {
await this.commit();
}
window?.log?.debug('WIP: Set message expiration', {
window?.log?.debug('Set message expiration', {
expiresAt,
sentAt: this.get('sent_at'),
});

@ -322,8 +322,8 @@ export async function handleNewClosedGroup(
providedExpireTimer: expireTimer,
providedChangeTimestamp: GetNetworkTime.getNowWithNetworkOffset(),
providedSource: sender,
receivedAt: Date.now(),
fromConfigMessage: fromLegacyConfig,
receivedAt: GetNetworkTime.getNowWithNetworkOffset(),
fromSync: fromLegacyConfig,
});
if (isKeyPairAlreadyHere) {

@ -390,9 +390,9 @@ async function handleContactsUpdate(result: IncomingConfResult): Promise<Incomin
providedExpireTimer: wrapperConvo.expirationTimerSeconds,
providedChangeTimestamp: result.latestEnvelopeTimestamp,
providedSource: wrapperConvo.id,
shouldCommit: false,
fromConfigMessage: true,
receivedAt: result.latestEnvelopeTimestamp,
fromSync: true,
shouldCommit: false,
});
changes = true;
}

@ -22,6 +22,7 @@ import { LinkPreviews } from '../util/linkPreviews';
import { ReleasedFeatures } from '../util/releaseFeature';
import { PropsForMessageWithoutConvoProps, lookupQuote } from '../state/ducks/conversations';
import { PubKey } from '../session/types';
import { UserUtils } from '../session/utils';
function contentTypeSupported(type: string): boolean {
const Chrome = GoogleChrome;
@ -502,11 +503,11 @@ export async function handleMessageJob(
providedExpireTimer: expireTimerUpdate,
providedChangeTimestamp: lastDisappearingMessageChangeTimestamp,
providedSource: source,
fromSync: source === UserUtils.getOurPubKeyStrFromCache(),
receivedAt: messageModel.get('received_at'),
// NOTE we don't commit yet because we want to get the message id, see below
shouldCommit: false,
existingMessage: messageModel,
fromConfigMessage: false,
shouldCommit: false,
// NOTE we don't commit yet because we want to get the message id, see below
});
} else {
// this does not commit to db nor UI unless we need to approve a convo

Loading…
Cancel
Save