fix: remove final instances of legacy type not in UI

fixed closed groups being deleteAfterSend incorrectly
pull/2971/head
William Grant 2 years ago
parent ff19c95a92
commit cc63887273

@ -117,8 +117,10 @@ import {
getSubscriberCountOutsideRedux,
} from '../state/selectors/sogsRoomInfo'; // decide it it makes sense to move this to a redux slice?
import { DisappearingMessageConversationType } from '../util/expiringMessages';
import { ReleasedFeatures } from '../util/releaseFeature';
import {
DisappearingMessageConversationType,
isLegacyDisappearingModeEnabled,
} from '../util/expiringMessages';
import { markAttributesAsReadIfNeeded } from './messageFactory';
type InMemoryConvoInfos = {
@ -848,9 +850,6 @@ export class ConversationModel extends Backbone.Model<ConversationAttributes> {
return;
}
// We will only support legacy disappearing messages for a short period before disappearing messages v2 is unlocked
const isDisappearingMessagesV2Released = await ReleasedFeatures.checkIsDisappearMessageV2FeatureReleased();
const isOutgoing = Boolean(!receivedAt);
source = source || UserUtils.getOurPubKeyStrFromCache();
@ -886,10 +885,10 @@ export class ConversationModel extends Backbone.Model<ConversationAttributes> {
fromSync,
},
// TODO legacy messages support will be removed in a future release
expirationType:
expirationType !== 'off' || isDisappearingMessagesV2Released ? expirationType : undefined,
expireTimer:
expirationType !== 'off' || isDisappearingMessagesV2Released ? expireTimer : undefined,
expirationType: isLegacyDisappearingModeEnabled(expirationType)
? undefined
: expirationType,
expireTimer: isLegacyDisappearingModeEnabled(expirationType) ? undefined : expireTimer,
};
if (!message) {

@ -90,8 +90,8 @@ import {
import { ReactionList } from '../types/Reaction';
import { roomHasBlindEnabled } from '../types/sqlSharedTypes';
import {
DisappearingMessageConversationSetting,
DisappearingMessageConversationType,
DisappearingMessageMode,
DisappearingMessageType,
DisappearingMessageUpdate,
ExpirationTimerOptions,
isLegacyDisappearingModeEnabled,
@ -1008,20 +1008,26 @@ export class MessageModel extends Backbone.Model<MessageAttributes> {
}
// TODO legacy messages support will be removed in a future release
const isLegacyDataMessage = Boolean(
const isLegacyDisappearingDataMessage = Boolean(
(dataMessage.expireTimer && dataMessage.expireTimer > -1) ||
(!content.expirationTimer &&
dataMessage.flags === SignalService.DataMessage.Flags.EXPIRATION_TIMER_UPDATE)
);
const expirationType: DisappearingMessageConversationType = content.expirationType
? DisappearingMessageConversationSetting[content.expirationType]
: isLegacyDataMessage
? DisappearingMessageConversationSetting[3]
: 'off';
const expirationTimer = isLegacyDataMessage
let expirationType: DisappearingMessageType = DisappearingMessageMode[content.expirationType];
if (isLegacyDisappearingDataMessage) {
if (conversation.isMe() || conversation.isClosedGroup()) {
expirationType = 'deleteAfterSend';
} else {
expirationType = 'deleteAfterRead';
}
}
const expirationTimer = isLegacyDisappearingDataMessage
? Number(dataMessage.expireTimer)
: content.expirationTimer;
const lastDisappearingMessageChangeTimestamp = content.lastDisappearingMessageChangeTimestamp
? Number(content.lastDisappearingMessageChangeTimestamp)
: undefined;

@ -567,9 +567,9 @@ async function handleLegacyGroupUpdate(latestEnvelopeTimestamp: number) {
? legacyGroupConvo.get('active_at')
: latestEnvelopeTimestamp,
expirationType:
!!fromWrapper.disappearingTimerSeconds && fromWrapper.disappearingTimerSeconds === 0
? 'off'
: 'deleteAfterSend',
fromWrapper.disappearingTimerSeconds && fromWrapper.disappearingTimerSeconds > 0
? 'deleteAfterSend'
: 'off',
expireTimer: fromWrapper.disappearingTimerSeconds,
};

Loading…
Cancel
Save