Support for global.messageQueueTimeInSeconds

Co-authored-by: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com>
This commit is contained in:
automated-signal 2024-10-15 18:12:03 -05:00 committed by GitHub
parent 23e3a847d1
commit 6cc07a4d17
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 57 additions and 31 deletions

View file

@ -541,7 +541,9 @@ type ReadableInterface = {
getMessagesUnexpectedlyMissingExpirationStartTimestamp: () => Array<MessageType>;
getSoonestMessageExpiry: () => undefined | number;
getNextTapToViewMessageTimestampToAgeOut: () => undefined | number;
getTapToViewMessagesNeedingErase: () => Array<MessageType>;
getTapToViewMessagesNeedingErase: (
maxTimestamp: number
) => Array<MessageType>;
// getOlderMessagesByConversation is JSON on server, full message on Client
getAllStories: (options: {
conversationId?: string;

View file

@ -4524,9 +4524,10 @@ function getNextTapToViewMessageTimestampToAgeOut(
return isNormalNumber(result) ? result : undefined;
}
function getTapToViewMessagesNeedingErase(db: ReadableDB): Array<MessageType> {
const THIRTY_DAYS_AGO = Date.now() - 30 * 24 * 60 * 60 * 1000;
function getTapToViewMessagesNeedingErase(
db: ReadableDB,
maxTimestamp: number
): Array<MessageType> {
const rows: JSONRows = db
.prepare<Query>(
`
@ -4535,12 +4536,12 @@ function getTapToViewMessagesNeedingErase(db: ReadableDB): Array<MessageType> {
WHERE
isViewOnce = 1
AND (isErased IS NULL OR isErased != 1)
AND received_at <= $THIRTY_DAYS_AGO
AND received_at <= $maxTimestamp
ORDER BY received_at ASC, sent_at ASC;
`
)
.all({
THIRTY_DAYS_AGO,
maxTimestamp,
});
return rows.map(row => jsonToObject(row.json));