Fix handling of encrypted unprocessed envelopes

This commit is contained in:
Fedor Indutny
2025-02-10 12:44:59 -08:00
committed by GitHub
parent 0d87e3e6c9
commit 5bdb39a95b
7 changed files with 73 additions and 23 deletions

View File

@@ -0,0 +1,38 @@
// Copyright 2025 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { LoggerType } from '../../types/Logging';
import { sql } from '../util';
import type { WritableDB } from '../Interface';
export const version = 1320;
export function updateToSchemaVersion1320(
currentVersion: number,
db: WritableDB,
logger: LoggerType
): void {
if (currentVersion >= 1320) {
return;
}
db.transaction(() => {
const [query] = sql`
DROP INDEX unprocessed_timestamp;
ALTER TABLE unprocessed
ADD COLUMN receivedAtDate INTEGER DEFAULT 0 NOT NULL;
UPDATE unprocessed
SET receivedAtDate = timestamp;
CREATE INDEX unprocessed_byReceivedAtDate ON unprocessed
(receivedAtDate);
`;
db.exec(query);
db.pragma('user_version = 1320');
})();
logger.info('updateToSchemaVersion1320: success!');
}

View File

@@ -107,10 +107,11 @@ import { updateToSchemaVersion1270 } from './1270-normalize-messages';
import { updateToSchemaVersion1280 } from './1280-blob-unprocessed';
import { updateToSchemaVersion1290 } from './1290-int-unprocessed-source-device';
import { updateToSchemaVersion1300 } from './1300-sticker-pack-refs';
import { updateToSchemaVersion1310 } from './1310-muted-fixup';
import {
updateToSchemaVersion1310,
updateToSchemaVersion1320,
version as MAX_VERSION,
} from './1310-muted-fixup';
} from './1320-unprocessed-received-at-date';
import { DataWriter } from '../Server';
function updateToSchemaVersion1(
@@ -2089,6 +2090,7 @@ export const SCHEMA_VERSIONS = [
updateToSchemaVersion1300,
updateToSchemaVersion1310,
updateToSchemaVersion1320,
];
export class DBVersionFromFutureError extends Error {