feat: created getters on convo model

replaced all expirationMode calls
pull/2971/head
William Grant 2 years ago
parent da869bfdd3
commit 3ed041c4a5

@ -327,8 +327,8 @@ export class ConversationModel extends Backbone.Model<ConversationAttributes> {
toRet.avatarPath = avatarPath; toRet.avatarPath = avatarPath;
} }
if (this.get('expirationMode')) { if (this.getExpirationMode()) {
toRet.expirationMode = this.get('expirationMode'); toRet.expirationMode = this.getExpirationMode();
} }
if (this.get('lastDisappearingMessageChangeTimestamp')) { if (this.get('lastDisappearingMessageChangeTimestamp')) {
@ -757,7 +757,7 @@ export class ConversationModel extends Backbone.Model<ConversationAttributes> {
expirationType: changeToDisappearingMessageType( expirationType: changeToDisappearingMessageType(
this, this,
this.get('expireTimer'), this.get('expireTimer'),
this.get('expirationMode') this.getExpirationMode()
), ),
expireTimer: this.get('expireTimer'), expireTimer: this.get('expireTimer'),
serverTimestamp: this.isPublic() ? networkTimestamp : undefined, serverTimestamp: this.isPublic() ? networkTimestamp : undefined,
@ -849,7 +849,7 @@ export class ConversationModel extends Backbone.Model<ConversationAttributes> {
// NOTE: We don' mind if the message is the same, we still want to update the conversation because we want to show visible control messages we receive an ExpirationTimerUpdate // NOTE: We don' mind if the message is the same, we still want to update the conversation because we want to show visible control messages we receive an ExpirationTimerUpdate
// Compare mode and timestamp // Compare mode and timestamp
if ( if (
isEqual(expirationMode, this.get('expirationMode')) && isEqual(expirationMode, this.getExpirationMode()) &&
isEqual(expireTimer, this.get('expireTimer')) isEqual(expireTimer, this.get('expireTimer'))
) { ) {
window.log.info( window.log.info(
@ -2337,15 +2337,35 @@ export class ConversationModel extends Backbone.Model<ConversationAttributes> {
private isDisappearingMode(mode: DisappearingMessageConversationModeType) { private isDisappearingMode(mode: DisappearingMessageConversationModeType) {
const success = const success =
mode === 'deleteAfterRead' mode === 'deleteAfterRead'
? this.get('expirationMode') === 'deleteAfterRead' ? this.getExpirationMode() === 'deleteAfterRead'
: mode === 'deleteAfterSend' : mode === 'deleteAfterSend'
? this.get('expirationMode') === 'deleteAfterSend' ? this.getExpirationMode() === 'deleteAfterSend'
: mode === 'off' : mode === 'off'
? this.get('expirationMode') === 'off' ? this.getExpirationMode() === 'off'
: false; : false;
return success; return success;
} }
// NOTE We want to replace Backbone .get() calls with these getters as we migrate to Redux completely eventually
// region Start of getters
public getExpirationMode() {
return this.get('expirationMode');
}
public getExpireTimer() {
return this.get('expireTimer');
}
public getHasOutdatedClient() {
return this.get('hasOutdatedClient');
}
public getLastDisappearingMessageChangeTimestamp() {
return this.get('lastDisappearingMessageChangeTimestamp');
}
// endregon
} }
export async function commitConversationAndRefreshWrapper(id: string) { export async function commitConversationAndRefreshWrapper(id: string) {

@ -384,7 +384,7 @@ async function handleContactsUpdate(result: IncomingConfResult): Promise<Incomin
if ( if (
wrapperConvo.expirationTimerSeconds !== contactConvo.get('expireTimer') || wrapperConvo.expirationTimerSeconds !== contactConvo.get('expireTimer') ||
wrapperConvo.expirationMode !== contactConvo.get('expirationMode') wrapperConvo.expirationMode !== contactConvo.getExpirationMode()
) { ) {
await contactConvo.updateExpireTimer({ await contactConvo.updateExpireTimer({
providedDisappearingMode: wrapperConvo.expirationMode, providedDisappearingMode: wrapperConvo.expirationMode,
@ -694,8 +694,8 @@ async function applyConvoVolatileUpdateFromWrapper(
// TODO legacy messages support will be removed in a future release // TODO legacy messages support will be removed in a future release
if ( if (
canBeDeleteAfterRead && canBeDeleteAfterRead &&
(foundConvo.get('expirationMode') === 'deleteAfterRead' || (foundConvo.getExpirationMode() === 'deleteAfterRead' ||
foundConvo.get('expirationMode') === 'legacy') && foundConvo.getExpirationMode() === 'legacy') &&
foundConvo.get('expireTimer') > 0 foundConvo.get('expireTimer') > 0
) { ) {
const messages2Expire = await Data.getDisappearingUnreadByConversation( const messages2Expire = await Data.getDisappearingUnreadByConversation(

@ -872,7 +872,7 @@ export async function handleDataExtractionNotification(
const envelopeTimestamp = toNumber(timestamp); const envelopeTimestamp = toNumber(timestamp);
const referencedAttachmentTimestamp = toNumber(referencedAttachment); const referencedAttachmentTimestamp = toNumber(referencedAttachment);
const expirationMode = convo.get('expirationMode'); const expirationMode = convo.getExpirationMode();
const expireTimer = convo.get('expireTimer'); const expireTimer = convo.get('expireTimer');
let expirationType; let expirationType;
let expirationStartTimestamp; let expirationStartTimestamp;

@ -75,7 +75,7 @@ export async function initiateClosedGroupUpdate(
const expirationType = changeToDisappearingMessageType( const expirationType = changeToDisappearingMessageType(
convo, convo,
convo.get('expireTimer'), convo.get('expireTimer'),
convo.get('expirationMode') convo.getExpirationMode()
); );
if (expirationType === 'deleteAfterRead') { if (expirationType === 'deleteAfterRead') {
@ -173,7 +173,7 @@ export async function addUpdateMessage(
groupUpdate.kicked = diff.kickedMembers; groupUpdate.kicked = diff.kickedMembers;
} }
const expirationMode = convo.get('expirationMode'); const expirationMode = convo.getExpirationMode();
const expireTimer = convo.get('expireTimer'); const expireTimer = convo.get('expireTimer');
let expirationType; let expirationType;
let expirationStartTimestamp; let expirationStartTimestamp;
@ -316,7 +316,7 @@ async function sendAddedMembers(
} }
const encryptionKeyPair = ECKeyPair.fromHexKeyPair(hexEncryptionKeyPair); const encryptionKeyPair = ECKeyPair.fromHexKeyPair(hexEncryptionKeyPair);
const expirationMode = convo.get('expirationMode') || 'off'; const expirationMode = convo.getExpirationMode() || 'off';
const existingExpireTimer = convo.get('expireTimer') || 0; const existingExpireTimer = convo.get('expireTimer') || 0;
// Send the Added Members message to the group (only members already in the group will get it) // Send the Added Members message to the group (only members already in the group will get it)
const closedGroupControlMessage = new ClosedGroupAddedMembersMessage({ const closedGroupControlMessage = new ClosedGroupAddedMembersMessage({

@ -516,7 +516,7 @@ export async function USER_callRecipient(recipient: string) {
await calledConvo.unhideIfNeeded(false); await calledConvo.unhideIfNeeded(false);
weAreCallerOnCurrentCall = true; weAreCallerOnCurrentCall = true;
const expirationMode = calledConvo.get('expirationMode'); const expirationMode = calledConvo.getExpirationMode();
const expireTimer = calledConvo.get('expireTimer') || 0; const expireTimer = calledConvo.get('expireTimer') || 0;
let expirationType; let expirationType;
let expirationStartTimestamp; let expirationStartTimestamp;
@ -901,7 +901,7 @@ export async function USER_acceptIncomingCallRequest(fromSender: string) {
callerConvo.set('active_at', networkTimestamp); callerConvo.set('active_at', networkTimestamp);
await callerConvo.unhideIfNeeded(false); await callerConvo.unhideIfNeeded(false);
const expirationMode = callerConvo.get('expirationMode'); const expirationMode = callerConvo.getExpirationMode();
const expireTimer = callerConvo.get('expireTimer') || 0; const expireTimer = callerConvo.get('expireTimer') || 0;
let expirationType; let expirationType;
let expirationStartTimestamp; let expirationStartTimestamp;
@ -1258,7 +1258,7 @@ async function addMissedCallMessage(callerPubkey: string, sentAt: number) {
await incomingCallConversation.unhideIfNeeded(false); await incomingCallConversation.unhideIfNeeded(false);
} }
const expirationMode = incomingCallConversation.get('expirationMode'); const expirationMode = incomingCallConversation.getExpirationMode();
const expireTimer = incomingCallConversation.get('expireTimer') || 0; const expireTimer = incomingCallConversation.get('expireTimer') || 0;
let expirationType; let expirationType;
let expirationStartTimestamp; let expirationStartTimestamp;

@ -54,7 +54,7 @@ async function insertContactFromDBIntoWrapperAndRefresh(id: string): Promise<voi
const dbApprovedMe = !!foundConvo.get('didApproveMe') || false; const dbApprovedMe = !!foundConvo.get('didApproveMe') || false;
const dbBlocked = !!foundConvo.isBlocked() || false; const dbBlocked = !!foundConvo.isBlocked() || false;
const priority = foundConvo.get('priority') || 0; const priority = foundConvo.get('priority') || 0;
const expirationMode = foundConvo.get('expirationMode') || undefined; const expirationMode = foundConvo.getExpirationMode() || undefined;
const expireTimer = foundConvo.get('expireTimer') || 0; const expireTimer = foundConvo.get('expireTimer') || 0;
const wrapperContact = getContactInfoFromDBValues({ const wrapperContact = getContactInfoFromDBValues({

@ -116,7 +116,7 @@ async function insertGroupsFromDBIntoWrapperAndRefresh(convoId: string): Promise
priority: foundConvo.get('priority'), priority: foundConvo.get('priority'),
members: foundConvo.get('members') || [], members: foundConvo.get('members') || [],
groupAdmins: foundConvo.get('groupAdmins') || [], groupAdmins: foundConvo.get('groupAdmins') || [],
expirationMode: foundConvo.get('expirationMode') || 'off', expirationMode: foundConvo.getExpirationMode() || 'off',
expireTimer: foundConvo.get('expireTimer') || 0, expireTimer: foundConvo.get('expireTimer') || 0,
displayNameInProfile: foundConvo.get('displayNameInProfile'), displayNameInProfile: foundConvo.get('displayNameInProfile'),
encPubkeyHex: encryptionKeyPair?.publicHex || '', encPubkeyHex: encryptionKeyPair?.publicHex || '',

@ -394,7 +394,7 @@ function checkDisappearButIsntMessage(
content.dataMessage?.flags !== SignalService.DataMessage.Flags.EXPIRATION_TIMER_UPDATE && content.dataMessage?.flags !== SignalService.DataMessage.Flags.EXPIRATION_TIMER_UPDATE &&
expirationMode === 'off' && expirationMode === 'off' &&
expirationTimer === 0 && expirationTimer === 0 &&
convo.get('expirationMode') !== 'off' && convo.getExpirationMode() !== 'off' &&
convo.get('expireTimer') !== 0 convo.get('expireTimer') !== 0
); );
} }
@ -501,10 +501,10 @@ export async function checkForExpireUpdateInContentMessage(
!isDisappearingMessagesV2Released && !isDisappearingMessagesV2Released &&
!isLegacyConversationSettingMessage && !isLegacyConversationSettingMessage &&
couldBeLegacyContentMessage && couldBeLegacyContentMessage &&
convoToUpdate.get('expirationMode') !== 'off' convoToUpdate.getExpirationMode() !== 'off'
) { ) {
if ( if (
expirationMode !== convoToUpdate.get('expirationMode') || expirationMode !== convoToUpdate.getExpirationMode() ||
expirationTimer !== convoToUpdate.get('expireTimer') expirationTimer !== convoToUpdate.get('expireTimer')
) { ) {
window.log.debug( window.log.debug(
@ -517,7 +517,7 @@ export async function checkForExpireUpdateInContentMessage(
expireUpdate.expirationType = changeToDisappearingMessageType( expireUpdate.expirationType = changeToDisappearingMessageType(
convoToUpdate, convoToUpdate,
expireUpdate.expirationTimer, expireUpdate.expirationTimer,
convoToUpdate.get('expirationMode') convoToUpdate.getExpirationMode()
); );
expireUpdate.isLegacyDataMessage = true; expireUpdate.isLegacyDataMessage = true;
} }
@ -538,7 +538,7 @@ export async function checkForExpireUpdateInContentMessage(
expireUpdate.expirationType = changeToDisappearingMessageType( expireUpdate.expirationType = changeToDisappearingMessageType(
convoToUpdate, convoToUpdate,
expireUpdate.expirationTimer, expireUpdate.expirationTimer,
convoToUpdate.get('expirationMode') convoToUpdate.getExpirationMode()
); );
expireUpdate.isLegacyDataMessage = true; expireUpdate.isLegacyDataMessage = true;
} }

Loading…
Cancel
Save