fix: we can trust the read start from libsession for expirationTimerUpdates

therefore we don't need to update the read status explicitly
pull/2971/head
William Grant 2 years ago
parent 958f64e27f
commit 238a16149d

@ -7,7 +7,7 @@ import { MessageModel } from '../models/message';
import { getConversationController } from '../session/conversations'; import { getConversationController } from '../session/conversations';
import { Quote } from './types'; import { Quote } from './types';
import { ConversationTypeEnum, READ_MESSAGE_STATE } from '../models/conversationAttributes'; import { ConversationTypeEnum } from '../models/conversationAttributes';
import { MessageDirection } from '../models/messageType'; import { MessageDirection } from '../models/messageType';
import { SignalService } from '../protobuf'; import { SignalService } from '../protobuf';
import { ProfileManager } from '../session/profile_manager/ProfileManager'; import { ProfileManager } from '../session/profile_manager/ProfileManager';
@ -177,35 +177,6 @@ async function processProfileKeyNoCommit(
} }
} }
function updateReadStatus(message: MessageModel) {
if (message.isExpirationTimerUpdate()) {
message.set({ unread: READ_MESSAGE_STATE.read });
const convo = message.getConversation();
// TODO legacy messages support will be removed in a future release
const canBeDeleteAfterRead = convo && !convo.isMe() && convo.isPrivate();
const expirationType = message.get('expirationType');
const expireTimer = message.get('expireTimer');
if (canBeDeleteAfterRead && expirationType && expireTimer > 0) {
const expirationMode = changeToDisappearingMessageConversationType(
convo,
expirationType,
expireTimer
);
if (expirationMode === 'legacy' || expirationMode === 'deleteAfterRead') {
message.set({
expirationStartTimestamp: setExpirationStartTimestamp(
expirationMode,
undefined,
'updateReadStatus'
),
});
}
}
}
}
function handleSyncedReceiptsNoCommit(message: MessageModel, conversation: ConversationModel) { function handleSyncedReceiptsNoCommit(message: MessageModel, conversation: ConversationModel) {
// If the newly received message is from us, we assume that we've seen the messages up until that point // If the newly received message is from us, we assume that we've seen the messages up until that point
const sentTimestamp = message.get('sent_at'); const sentTimestamp = message.get('sent_at');
@ -296,7 +267,6 @@ async function handleRegularMessage(
if (type === 'incoming') { if (type === 'incoming') {
if (conversation.isPrivate()) { if (conversation.isPrivate()) {
updateReadStatus(message);
const incomingMessageCount = await Data.getMessageCountByType( const incomingMessageCount = await Data.getMessageCountByType(
conversation.id, conversation.id,
MessageDirection.incoming MessageDirection.incoming

Loading…
Cancel
Save