Convert signal.js and preload.js to Typescript

This commit is contained in:
Scott Nonnenberg 2022-06-13 14:39:35 -07:00 committed by GitHub
parent e18510e41c
commit 2464e0a9c1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
94 changed files with 2113 additions and 1848 deletions

View file

@ -38,7 +38,11 @@ import type {
WebAPIType,
} from './WebAPI';
import createTaskWithTimeout from './TaskWithTimeout';
import type { CallbackResultType } from './Types.d';
import type {
CallbackResultType,
StorageServiceCallOptionsType,
StorageServiceCredentials,
} from './Types.d';
import type {
SerializedCertificateType,
SendLogCallbackType,
@ -47,10 +51,6 @@ import OutgoingMessage from './OutgoingMessage';
import type { CDSResponseType } from './CDSSocketManager';
import * as Bytes from '../Bytes';
import { getRandomBytes, getZeroes, encryptAttachment } from '../Crypto';
import type {
StorageServiceCallOptionsType,
StorageServiceCredentials,
} from '../textsecure.d';
import {
MessageError,
SignedPreKeyRotationError,
@ -73,6 +73,7 @@ import {
numberToEmailType,
numberToAddressType,
} from '../types/EmbeddedContact';
import type { StickerWithHydratedData } from '../types/Stickers';
export type SendMetadataType = {
[identifier: string]: {
@ -106,13 +107,7 @@ type GroupCallUpdateType = {
eraId: string;
};
export type StickerType = {
packId: string;
stickerId: number;
packKey: string;
data: Readonly<AttachmentType>;
emoji?: string;
export type StickerType = StickerWithHydratedData & {
attachmentPointer?: Proto.IAttachmentPointer;
};
@ -631,7 +626,7 @@ export default class MessageSender {
);
}
getRandomPadding(): Uint8Array {
static getRandomPadding(): Uint8Array {
// Generate a random int from 1 and 512
const buffer = getRandomBytes(2);
const paddingLength = (new Uint16Array(buffer)[0] & 0x1ff) + 1;
@ -996,7 +991,7 @@ export default class MessageSender {
};
}
createSyncMessage(): Proto.SyncMessage {
static createSyncMessage(): Proto.SyncMessage {
const syncMessage = new Proto.SyncMessage();
syncMessage.padding = this.getRandomPadding();
@ -1287,7 +1282,7 @@ export default class MessageSender {
];
}
const syncMessage = this.createSyncMessage();
const syncMessage = MessageSender.createSyncMessage();
syncMessage.sent = sentMessage;
const contentMessage = new Proto.Content();
contentMessage.syncMessage = syncMessage;
@ -1303,12 +1298,12 @@ export default class MessageSender {
});
}
getRequestBlockSyncMessage(): SingleProtoJobData {
static getRequestBlockSyncMessage(): SingleProtoJobData {
const myUuid = window.textsecure.storage.user.getCheckedUuid();
const request = new Proto.SyncMessage.Request();
request.type = Proto.SyncMessage.Request.Type.BLOCKED;
const syncMessage = this.createSyncMessage();
const syncMessage = MessageSender.createSyncMessage();
syncMessage.request = request;
const contentMessage = new Proto.Content();
contentMessage.syncMessage = syncMessage;
@ -1326,12 +1321,12 @@ export default class MessageSender {
};
}
getRequestConfigurationSyncMessage(): SingleProtoJobData {
static getRequestConfigurationSyncMessage(): SingleProtoJobData {
const myUuid = window.textsecure.storage.user.getCheckedUuid();
const request = new Proto.SyncMessage.Request();
request.type = Proto.SyncMessage.Request.Type.CONFIGURATION;
const syncMessage = this.createSyncMessage();
const syncMessage = MessageSender.createSyncMessage();
syncMessage.request = request;
const contentMessage = new Proto.Content();
contentMessage.syncMessage = syncMessage;
@ -1349,7 +1344,7 @@ export default class MessageSender {
};
}
getRequestGroupSyncMessage(): SingleProtoJobData {
static getRequestGroupSyncMessage(): SingleProtoJobData {
const myUuid = window.textsecure.storage.user.getCheckedUuid();
const request = new Proto.SyncMessage.Request();
@ -1372,7 +1367,7 @@ export default class MessageSender {
};
}
getRequestContactSyncMessage(): SingleProtoJobData {
static getRequestContactSyncMessage(): SingleProtoJobData {
const myUuid = window.textsecure.storage.user.getCheckedUuid();
const request = new Proto.SyncMessage.Request();
@ -1395,7 +1390,7 @@ export default class MessageSender {
};
}
getRequestPniIdentitySyncMessage(): SingleProtoJobData {
static getRequestPniIdentitySyncMessage(): SingleProtoJobData {
const myUuid = window.textsecure.storage.user.getCheckedUuid();
const request = new Proto.SyncMessage.Request();
@ -1418,7 +1413,7 @@ export default class MessageSender {
};
}
getFetchManifestSyncMessage(): SingleProtoJobData {
static getFetchManifestSyncMessage(): SingleProtoJobData {
const myUuid = window.textsecure.storage.user.getCheckedUuid();
const fetchLatest = new Proto.SyncMessage.FetchLatest();
@ -1442,7 +1437,7 @@ export default class MessageSender {
};
}
getFetchLocalProfileSyncMessage(): SingleProtoJobData {
static getFetchLocalProfileSyncMessage(): SingleProtoJobData {
const myUuid = window.textsecure.storage.user.getCheckedUuid();
const fetchLatest = new Proto.SyncMessage.FetchLatest();
@ -1466,7 +1461,7 @@ export default class MessageSender {
};
}
getRequestKeySyncMessage(): SingleProtoJobData {
static getRequestKeySyncMessage(): SingleProtoJobData {
const myUuid = window.textsecure.storage.user.getCheckedUuid();
const request = new Proto.SyncMessage.Request();
@ -1500,7 +1495,7 @@ export default class MessageSender {
): Promise<CallbackResultType> {
const myUuid = window.textsecure.storage.user.getCheckedUuid();
const syncMessage = this.createSyncMessage();
const syncMessage = MessageSender.createSyncMessage();
syncMessage.read = [];
for (let i = 0; i < reads.length; i += 1) {
const proto = new Proto.SyncMessage.Read({
@ -1534,7 +1529,7 @@ export default class MessageSender {
): Promise<CallbackResultType> {
const myUuid = window.textsecure.storage.user.getCheckedUuid();
const syncMessage = this.createSyncMessage();
const syncMessage = MessageSender.createSyncMessage();
syncMessage.viewed = views.map(
view =>
new Proto.SyncMessage.Viewed({
@ -1577,7 +1572,7 @@ export default class MessageSender {
const myUuid = window.textsecure.storage.user.getCheckedUuid();
const syncMessage = this.createSyncMessage();
const syncMessage = MessageSender.createSyncMessage();
const viewOnceOpen = new Proto.SyncMessage.ViewOnceOpen();
if (senderE164 !== undefined) {
@ -1601,7 +1596,7 @@ export default class MessageSender {
});
}
getMessageRequestResponseSync(
static getMessageRequestResponseSync(
options: Readonly<{
threadE164?: string;
threadUuid?: string;
@ -1611,7 +1606,7 @@ export default class MessageSender {
): SingleProtoJobData {
const myUuid = window.textsecure.storage.user.getCheckedUuid();
const syncMessage = this.createSyncMessage();
const syncMessage = MessageSender.createSyncMessage();
const response = new Proto.SyncMessage.MessageRequestResponse();
if (options.threadE164 !== undefined) {
@ -1642,7 +1637,7 @@ export default class MessageSender {
};
}
getStickerPackSync(
static getStickerPackSync(
operations: ReadonlyArray<{
packId: string;
packKey: string;
@ -1663,7 +1658,7 @@ export default class MessageSender {
return operation;
});
const syncMessage = this.createSyncMessage();
const syncMessage = MessageSender.createSyncMessage();
syncMessage.stickerPackOperation = packOperations;
const contentMessage = new Proto.Content();
@ -1682,7 +1677,7 @@ export default class MessageSender {
};
}
getVerificationSync(
static getVerificationSync(
destinationE164: string | undefined,
destinationUuid: string | undefined,
state: number,
@ -1694,7 +1689,7 @@ export default class MessageSender {
throw new Error('syncVerification: Neither e164 nor UUID were provided');
}
const padding = this.getRandomPadding();
const padding = MessageSender.getRandomPadding();
const verified = new Proto.Verified();
verified.state = state;
@ -1707,7 +1702,7 @@ export default class MessageSender {
verified.identityKey = identityKey;
verified.nullMessage = padding;
const syncMessage = this.createSyncMessage();
const syncMessage = MessageSender.createSyncMessage();
syncMessage.verified = verified;
const contentMessage = new Proto.Content();
@ -1832,7 +1827,7 @@ export default class MessageSender {
});
}
getNullMessage({
static getNullMessage({
uuid,
e164,
padding,
@ -1848,7 +1843,7 @@ export default class MessageSender {
throw new Error('sendNullMessage: Got neither uuid nor e164!');
}
nullMessage.padding = padding || this.getRandomPadding();
nullMessage.padding = padding || MessageSender.getRandomPadding();
const contentMessage = new Proto.Content();
contentMessage.nullMessage = nullMessage;