Skip to content

Commit

Permalink
Mark stories as viewed if we have a view sync during modifyTargetMessage
Browse files Browse the repository at this point in the history
  • Loading branch information
josh-signal committed Aug 16, 2022
1 parent 201c6f9 commit ce77465
Showing 1 changed file with 30 additions and 12 deletions.
42 changes: 30 additions & 12 deletions ts/models/messages.ts
Expand Up @@ -3021,18 +3021,36 @@ export class MessageModel extends window.Backbone.Model<MessageAttributesType> {
}
}

if (
isStory(message.attributes) &&
!message.get('expirationStartTimestamp')
) {
message.set(
'expirationStartTimestamp',
Math.min(
message.get('serverTimestamp') || message.get('timestamp'),
Date.now()
)
);
changed = true;
if (isStory(message.attributes)) {
const viewSyncs = ViewSyncs.getSingleton().forMessage(message);

if (viewSyncs.length !== 0) {
message.set({
readStatus: ReadStatus.Viewed,
seenStatus: SeenStatus.Seen,
});
changed = true;

const markReadAt = Math.min(
Date.now(),
...viewSyncs.map(sync => sync.get('viewedAt'))
);
this.pendingMarkRead = Math.min(
this.pendingMarkRead ?? Date.now(),
markReadAt
);
}

if (!message.get('expirationStartTimestamp')) {
message.set(
'expirationStartTimestamp',
Math.min(
message.get('serverTimestamp') || message.get('timestamp'),
Date.now()
)
);
changed = true;
}
}

// Does this message have any pending, previously-received associated reactions?
Expand Down

0 comments on commit ce77465

Please sign in to comment.