From 0f65088fd986f5bc7c1c802e8712cc996c7d882b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Jan 2024 17:56:06 +0000 Subject: [PATCH] Update dependency prettier to v3 (#3983) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Michael Telatynski <7t3chguy@gmail.com> --- package.json | 4 +-- spec/test-utils/webrtc.ts | 28 +++++++++++++++---- spec/unit/crypto.spec.ts | 4 +-- spec/unit/crypto/cross-signing.spec.ts | 4 +-- spec/unit/crypto/verification/sas.spec.ts | 10 +++---- spec/unit/models/MSC3089Branch.spec.ts | 6 ++-- spec/unit/models/MSC3089TreeSpace.spec.ts | 4 +-- spec/unit/rendezvous/DummyTransport.ts | 5 +++- spec/unit/room.spec.ts | 8 +++--- spec/unit/rust-crypto/rust-crypto.spec.ts | 4 +-- spec/unit/webrtc/groupCall.spec.ts | 8 +++--- src/NamespacedValue.ts | 5 +++- src/crypto/SecretSharing.ts | 5 +++- src/crypto/algorithms/base.ts | 12 ++++++-- src/crypto/algorithms/megolm.ts | 5 +++- src/crypto/backup.ts | 10 +++++-- src/crypto/index.ts | 13 +++++---- src/crypto/store/indexeddb-crypto-store.ts | 5 +++- src/crypto/verification/Base.ts | 15 ++++++---- .../verification/request/InRoomChannel.ts | 6 +++- src/errors.ts | 10 +++++-- src/filter-component.ts | 5 +++- src/filter.ts | 5 +++- src/http-api/errors.ts | 5 +++- src/http-api/fetch.ts | 4 +-- src/interactive-auth.ts | 8 ++++-- src/logger.ts | 5 +++- src/matrixrtc/CallMembership.ts | 5 +++- src/models/MSC3089TreeSpace.ts | 5 +++- src/models/event-timeline-set.ts | 5 ++-- src/models/poll.ts | 6 +++- src/models/relations-container.ts | 5 +++- src/models/room-member.ts | 5 +++- src/models/room-receipts.ts | 6 +++- src/models/room-state.ts | 5 +++- src/models/room-summary.ts | 5 +++- src/models/search-result.ts | 5 +++- src/models/thread.ts | 6 +++- src/models/typed-event-emitter.ts | 4 +-- src/oidc/authorize.ts | 2 +- src/rendezvous/RendezvousError.ts | 5 +++- src/sliding-sync-sdk.ts | 5 +++- src/store/indexeddb-local-backend.ts | 5 +++- src/store/indexeddb-remote-backend.ts | 5 +++- src/sync.ts | 6 +++- src/timeline-window.ts | 5 +++- src/webrtc/call.ts | 10 +++---- src/webrtc/groupCall.ts | 25 +++++++++-------- src/webrtc/stats/groupCallStats.ts | 6 +++- yarn.lock | 8 +++--- 50 files changed, 240 insertions(+), 107 deletions(-) diff --git a/package.json b/package.json index 6ae5629e4..25cb173ab 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "gendoc": "typedoc", "lint": "yarn lint:types && yarn lint:js && yarn lint:workflows", "lint:js": "eslint --max-warnings 0 src spec && prettier --check .", - "lint:js-fix": "prettier --loglevel=warn --write . && eslint --fix src spec", + "lint:js-fix": "prettier --log-level=warn --write . && eslint --fix src spec", "lint:types": "tsc --noEmit", "lint:workflows": "find .github/workflows -type f \\( -iname '*.yaml' -o -iname '*.yml' \\) | xargs -I {} sh -c 'echo \"Linting {}\"; action-validator \"{}\"'", "test": "jest", @@ -117,7 +117,7 @@ "jest-mock": "^29.0.0", "lint-staged": "^15.0.2", "matrix-mock-request": "^2.5.0", - "prettier": "2.8.8", + "prettier": "3.1.1", "rimraf": "^5.0.0", "ts-node": "^10.9.1", "typedoc": "^0.24.0", diff --git a/spec/test-utils/webrtc.ts b/spec/test-utils/webrtc.ts index 41ab56c84..9b91a3d27 100644 --- a/spec/test-utils/webrtc.ts +++ b/spec/test-utils/webrtc.ts @@ -269,7 +269,11 @@ export class MockRTCRtpTransceiver { } export class MockMediaStreamTrack { - constructor(public readonly id: string, public readonly kind: "audio" | "video", public enabled = true) {} + constructor( + public readonly id: string, + public readonly kind: "audio" | "video", + public enabled = true, + ) {} public stop = jest.fn(); @@ -306,7 +310,10 @@ export class MockMediaStreamTrack { // XXX: Using EventTarget in jest doesn't seem to work, so we write our own // implementation export class MockMediaStream { - constructor(public id: string, private tracks: MockMediaStreamTrack[] = []) {} + constructor( + public id: string, + private tracks: MockMediaStreamTrack[] = [], + ) {} public listeners: [string, (...args: any[]) => any][] = []; public isStopped = false; @@ -435,7 +442,11 @@ type EmittedEventMap = CallEventHandlerEventHandlerMap & export class MockCallMatrixClient extends TypedEventEmitter { public mediaHandler = new MockMediaHandler(); - constructor(public userId: string, public deviceId: string, public sessionId: string) { + constructor( + public userId: string, + public deviceId: string, + public sessionId: string, + ) { super(); } @@ -502,7 +513,10 @@ export class MockCallMatrixClient extends TypedEventEmitter { - constructor(public roomId: string, public groupCallId?: string) { + constructor( + public roomId: string, + public groupCallId?: string, + ) { super(); } @@ -550,7 +564,11 @@ export class MockMatrixCall extends TypedEventEmitter ({ failures: {} }); alice.setAccountData = async () => ({}); - alice.getAccountDataFromServer = async () => ({} as T); + alice.getAccountDataFromServer = async () => ({}) as T; // set Alice's cross-signing key await alice.bootstrapCrossSigning({ authUploadDeviceSigningKeys: async (func) => { @@ -146,7 +146,7 @@ describe("Cross Signing", function () { }; alice.uploadKeySignatures = async () => ({ failures: {} }); alice.setAccountData = async () => ({}); - alice.getAccountDataFromServer = async (): Promise => ({} as T); + alice.getAccountDataFromServer = async (): Promise => ({}) as T; const authUploadDeviceSigningKeys: BootstrapCrossSigningOpts["authUploadDeviceSigningKeys"] = async (func) => { await func({}); }; diff --git a/spec/unit/crypto/verification/sas.spec.ts b/spec/unit/crypto/verification/sas.spec.ts index ba73ced6a..a37a104d7 100644 --- a/spec/unit/crypto/verification/sas.spec.ts +++ b/spec/unit/crypto/verification/sas.spec.ts @@ -189,12 +189,10 @@ describe("SAS verification", function () { const origSendToDevice = bob.client.sendToDevice.bind(bob.client); bob.client.sendToDevice = async (type, map) => { if (type === "m.key.verification.accept") { - macMethod = map - .get(alice.client.getUserId()!) - ?.get(alice.client.deviceId!)?.message_authentication_code; - keyAgreement = map - .get(alice.client.getUserId()!) - ?.get(alice.client.deviceId!)?.key_agreement_protocol; + macMethod = map.get(alice.client.getUserId()!)?.get(alice.client.deviceId!) + ?.message_authentication_code; + keyAgreement = map.get(alice.client.getUserId()!)?.get(alice.client.deviceId!) + ?.key_agreement_protocol; } return origSendToDevice(type, map); }; diff --git a/spec/unit/models/MSC3089Branch.spec.ts b/spec/unit/models/MSC3089Branch.spec.ts index e9c4877d3..9fe718697 100644 --- a/spec/unit/models/MSC3089Branch.spec.ts +++ b/spec/unit/models/MSC3089Branch.spec.ts @@ -213,7 +213,7 @@ describe("MSC3089Branch", () => { expect(eventId).toEqual(fileEventId); return fileEvent; }, - } as EventTimelineSet); + }) as EventTimelineSet; client.mxcUrlToHttp = (mxc: string) => { expect(mxc).toEqual("mxc://" + mxcLatter); return `https://example.org/_matrix/media/v1/download/${mxcLatter}`; @@ -239,7 +239,7 @@ describe("MSC3089Branch", () => { expect(eventId).toEqual(fileEventId); return fileEvent; }, - } as EventTimelineSet); + }) as EventTimelineSet; client.mxcUrlToHttp = (mxc: string) => { expect(mxc).toEqual("mxc://" + mxcLatter); return `https://example.org/_matrix/media/v1/download/${mxcLatter}`; @@ -332,7 +332,7 @@ describe("MSC3089Branch", () => { getId: () => "$unknown", }, ]; - staticRoom.getLiveTimeline = () => ({ getEvents: () => events } as EventTimeline); + staticRoom.getLiveTimeline = () => ({ getEvents: () => events }) as EventTimeline; directory.getFile = (evId: string) => { expect(evId).toEqual(fileEventId); diff --git a/spec/unit/models/MSC3089TreeSpace.spec.ts b/spec/unit/models/MSC3089TreeSpace.spec.ts index 31b3c5ecd..9ff97f253 100644 --- a/spec/unit/models/MSC3089TreeSpace.spec.ts +++ b/spec/unit/models/MSC3089TreeSpace.spec.ts @@ -399,7 +399,7 @@ describe("MSC3089TreeSpace", () => { ]; }, }; - client.getRoom = () => ({} as Room); // to appease the TreeSpace constructor + client.getRoom = () => ({}) as Room; // to appease the TreeSpace constructor const getFn = jest.fn().mockImplementation((roomId: string) => { if (roomId === thirdChildRoom) { @@ -422,7 +422,7 @@ describe("MSC3089TreeSpace", () => { }); it("should find specific directories", () => { - client.getRoom = () => ({} as Room); // to appease the TreeSpace constructor + client.getRoom = () => ({}) as Room; // to appease the TreeSpace constructor // Only mocking used API const firstSubdirectory = { roomId: "!first:example.org" } as any as MSC3089TreeSpace; diff --git a/spec/unit/rendezvous/DummyTransport.ts b/spec/unit/rendezvous/DummyTransport.ts index caa8eaa0d..e8503f718 100644 --- a/spec/unit/rendezvous/DummyTransport.ts +++ b/spec/unit/rendezvous/DummyTransport.ts @@ -32,7 +32,10 @@ export class DummyTransport implements ready = false; cancelled = false; - constructor(private name: string, private mockDetails: D) {} + constructor( + private name: string, + private mockDetails: D, + ) {} onCancelled?: RendezvousFailureListener; details(): Promise { diff --git a/spec/unit/room.spec.ts b/spec/unit/room.spec.ts index 93a096f17..11eaf6980 100644 --- a/spec/unit/room.spec.ts +++ b/spec/unit/room.spec.ts @@ -3315,7 +3315,7 @@ describe("Room", function () { return event1 === `eventId${i}` ? 1 : -1; }, findEventById: jest.fn().mockReturnValue({} as MatrixEvent), - } as unknown as EventTimelineSet); + }) as unknown as EventTimelineSet; expect(room.getEventReadUpTo(userA)).toEqual(`eventId${i}`); } @@ -3328,7 +3328,7 @@ describe("Room", function () { ({ compareEventOrdering: () => null, findEventById: jest.fn().mockReturnValue({} as MatrixEvent), - } as unknown as EventTimelineSet); + }) as unknown as EventTimelineSet; room.getReadReceiptForUserId = (userId, ignore, receiptType): WrappedReceipt | null => { if (receiptType === ReceiptType.ReadPrivate) { return { eventId: "eventId1", data: { ts: i === 1 ? 2 : 1 } } as WrappedReceipt; @@ -3348,7 +3348,7 @@ describe("Room", function () { ({ compareEventOrdering: () => null, findEventById: jest.fn().mockReturnValue({} as MatrixEvent), - } as unknown as EventTimelineSet); + }) as unknown as EventTimelineSet; room.getReadReceiptForUserId = (userId, ignore, receiptType): WrappedReceipt | null => { if (receiptType === ReceiptType.Read) { return { eventId: "eventId2", data: { ts: 1 } } as WrappedReceipt; @@ -3366,7 +3366,7 @@ describe("Room", function () { ({ compareEventOrdering: () => null, findEventById: jest.fn().mockReturnValue({} as MatrixEvent), - } as unknown as EventTimelineSet); + }) as unknown as EventTimelineSet; }); it("should give precedence to m.read.private", () => { diff --git a/spec/unit/rust-crypto/rust-crypto.spec.ts b/spec/unit/rust-crypto/rust-crypto.spec.ts index c50f6e5b0..6cc711263 100644 --- a/spec/unit/rust-crypto/rust-crypto.spec.ts +++ b/spec/unit/rust-crypto/rust-crypto.spec.ts @@ -484,7 +484,7 @@ describe("RustCrypto", () => { decryptEvent: () => ({ senderCurve25519Key: "1234", - } as IEventDecryptionResult), + }) as IEventDecryptionResult, } as unknown as CryptoBackend; await event.attemptDecryption(mockCryptoBackend); @@ -524,7 +524,7 @@ describe("RustCrypto", () => { decryptEvent: () => ({ clearEvent: { content: { body: "1234" } }, - } as unknown as IEventDecryptionResult), + }) as unknown as IEventDecryptionResult, } as unknown as CryptoBackend; await encryptedEvent.attemptDecryption(mockCryptoBackend); return encryptedEvent; diff --git a/spec/unit/webrtc/groupCall.spec.ts b/spec/unit/webrtc/groupCall.spec.ts index 876a447d2..7723b4c17 100644 --- a/spec/unit/webrtc/groupCall.spec.ts +++ b/spec/unit/webrtc/groupCall.spec.ts @@ -954,7 +954,7 @@ describe("Group Call", function () { }, }, }), - } as MatrixEvent); + }) as MatrixEvent; it("should mute remote feed's audio after receiving metadata with video audio", async () => { const metadataEvent = getMetadataEvent(true, false); @@ -965,7 +965,7 @@ describe("Group Call", function () { // @ts-ignore const call = groupCall.calls.get(FAKE_USER_ID_2)!.get(FAKE_DEVICE_ID_2)!; - call.getOpponentMember = () => ({ userId: call.invitee } as RoomMember); + call.getOpponentMember = () => ({ userId: call.invitee }) as RoomMember; // @ts-ignore Mock call.pushRemoteFeed( // @ts-ignore Mock @@ -992,7 +992,7 @@ describe("Group Call", function () { // @ts-ignore const call = groupCall.calls.get(FAKE_USER_ID_2).get(FAKE_DEVICE_ID_2)!; - call.getOpponentMember = () => ({ userId: call.invitee } as RoomMember); + call.getOpponentMember = () => ({ userId: call.invitee }) as RoomMember; // @ts-ignore Mock call.pushRemoteFeed( // @ts-ignore Mock @@ -1310,7 +1310,7 @@ describe("Group Call", function () { // @ts-ignore const call = groupCall.calls.get(FAKE_USER_ID_2)!.get(FAKE_DEVICE_ID_2)!; - call.getOpponentMember = () => ({ userId: call.invitee } as RoomMember); + call.getOpponentMember = () => ({ userId: call.invitee }) as RoomMember; call.onNegotiateReceived({ getContent: () => ({ [SDPStreamMetadataKey]: { diff --git a/src/NamespacedValue.ts b/src/NamespacedValue.ts index a1a7e5d2b..a161d9e5c 100644 --- a/src/NamespacedValue.ts +++ b/src/NamespacedValue.ts @@ -26,7 +26,10 @@ export class NamespacedValue { public constructor(stable: S, unstable: U); public constructor(stable: S, unstable?: U); public constructor(stable: null | undefined, unstable: U); - public constructor(public readonly stable?: S | null, public readonly unstable?: U) { + public constructor( + public readonly stable?: S | null, + public readonly unstable?: U, + ) { if (!this.unstable && !this.stable) { throw new Error("One of stable or unstable values must be supplied"); } diff --git a/src/crypto/SecretSharing.ts b/src/crypto/SecretSharing.ts index 0ec2eca29..5083a8c24 100644 --- a/src/crypto/SecretSharing.ts +++ b/src/crypto/SecretSharing.ts @@ -38,7 +38,10 @@ interface ISecretRequestInternal { export class SecretSharing { private requests = new Map(); - public constructor(private readonly baseApis: MatrixClient, private readonly cryptoCallbacks: ICryptoCallbacks) {} + public constructor( + private readonly baseApis: MatrixClient, + private readonly cryptoCallbacks: ICryptoCallbacks, + ) {} /** * Request a secret from another device diff --git a/src/crypto/algorithms/base.ts b/src/crypto/algorithms/base.ts index 647300948..d571cd220 100644 --- a/src/crypto/algorithms/base.ts +++ b/src/crypto/algorithms/base.ts @@ -210,7 +210,11 @@ export abstract class DecryptionAlgorithm { export class DecryptionError extends Error { public readonly detailedString: string; - public constructor(public readonly code: string, msg: string, details?: Record) { + public constructor( + public readonly code: string, + msg: string, + details?: Record, + ) { super(msg); this.code = code; this.name = "DecryptionError"; @@ -242,7 +246,11 @@ export class UnknownDeviceError extends Error { * @param msg - message describing the problem * @param devices - set of unknown devices per user we're warning about */ - public constructor(msg: string, public readonly devices: DeviceInfoMap, public event?: MatrixEvent) { + public constructor( + msg: string, + public readonly devices: DeviceInfoMap, + public event?: MatrixEvent, + ) { super(msg); this.name = "UnknownDeviceError"; this.devices = devices; diff --git a/src/crypto/algorithms/megolm.ts b/src/crypto/algorithms/megolm.ts index 54d9d7fa3..6badbf3c5 100644 --- a/src/crypto/algorithms/megolm.ts +++ b/src/crypto/algorithms/megolm.ts @@ -164,7 +164,10 @@ class OutboundSessionInfo { * @param sharedHistory - whether the session can be freely shared with * other group members, according to the room history visibility settings */ - public constructor(public readonly sessionId: string, public readonly sharedHistory = false) { + public constructor( + public readonly sessionId: string, + public readonly sharedHistory = false, + ) { this.creationTime = new Date().getTime(); } diff --git a/src/crypto/backup.ts b/src/crypto/backup.ts index 59d637328..6325402ee 100644 --- a/src/crypto/backup.ts +++ b/src/crypto/backup.ts @@ -124,7 +124,10 @@ export class BackupManager { // The backup manager will schedule backup of keys when active (`scheduleKeyBackupSend`), this allows cancel when client is stopped private clientRunning = true; - public constructor(private readonly baseApis: MatrixClient, public readonly getKey: GetKey) { + public constructor( + private readonly baseApis: MatrixClient, + public readonly getKey: GetKey, + ) { this.checkedForBackup = false; this.sendingBackups = false; } @@ -773,7 +776,10 @@ const UNSTABLE_MSC3270_NAME = new UnstableValue( export class Aes256 implements BackupAlgorithm { public static algorithmName = UNSTABLE_MSC3270_NAME.name; - public constructor(public readonly authData: IAes256AuthData, private readonly key: Uint8Array) {} + public constructor( + public readonly authData: IAes256AuthData, + private readonly key: Uint8Array, + ) {} public static async init(authData: IAes256AuthData, getKey: () => Promise): Promise { if (!authData) { diff --git a/src/crypto/index.ts b/src/crypto/index.ts index 1172e00e3..c1ef1ac54 100644 --- a/src/crypto/index.ts +++ b/src/crypto/index.ts @@ -973,7 +973,7 @@ export class Crypto extends TypedEventEmitter => ({} as IRecoveryKey), + createSecretStorageKey = async (): Promise => ({}) as IRecoveryKey, keyBackupInfo, setupNewKeyBackup, setupNewSecretStorage, @@ -2243,10 +2243,13 @@ export class Crypto extends TypedEventEmitter { - delete this.fallbackCleanup; - this.olmDevice.forgetOldFallbackKey(); - }, 60 * 60 * 1000); + this.fallbackCleanup = setTimeout( + () => { + delete this.fallbackCleanup; + this.olmDevice.forgetOldFallbackKey(); + }, + 60 * 60 * 1000, + ); } await this.olmDevice.markKeysAsPublished(); diff --git a/src/crypto/store/indexeddb-crypto-store.ts b/src/crypto/store/indexeddb-crypto-store.ts index 80f71fd9f..bfb5de554 100644 --- a/src/crypto/store/indexeddb-crypto-store.ts +++ b/src/crypto/store/indexeddb-crypto-store.ts @@ -71,7 +71,10 @@ export class IndexedDBCryptoStore implements CryptoStore { * @param indexedDB - global indexedDB instance * @param dbName - name of db to connect to */ - public constructor(private readonly indexedDB: IDBFactory, private readonly dbName: string) {} + public constructor( + private readonly indexedDB: IDBFactory, + private readonly dbName: string, + ) {} /** * Returns true if this CryptoStore has ever been initialised (ie, it might contain data). diff --git a/src/crypto/verification/Base.ts b/src/crypto/verification/Base.ts index 18818989e..308ea4401 100644 --- a/src/crypto/verification/Base.ts +++ b/src/crypto/verification/Base.ts @@ -137,12 +137,15 @@ export class VerificationBase< if (this.transactionTimeoutTimer !== null) { clearTimeout(this.transactionTimeoutTimer); } - this.transactionTimeoutTimer = setTimeout(() => { - if (!this._done && !this.cancelled) { - logger.info("Triggering verification timeout"); - this.cancel(timeoutException); - } - }, 10 * 60 * 1000); // 10 minutes + this.transactionTimeoutTimer = setTimeout( + () => { + if (!this._done && !this.cancelled) { + logger.info("Triggering verification timeout"); + this.cancel(timeoutException); + } + }, + 10 * 60 * 1000, + ); // 10 minutes } private endTimer(): void { diff --git a/src/crypto/verification/request/InRoomChannel.ts b/src/crypto/verification/request/InRoomChannel.ts index c776ddbe3..59b90a17d 100644 --- a/src/crypto/verification/request/InRoomChannel.ts +++ b/src/crypto/verification/request/InRoomChannel.ts @@ -39,7 +39,11 @@ export class InRoomChannel implements IVerificationChannel { * @param roomId - id of the room where verification events should be posted in, should be a DM with the given user. * @param userId - id of user that the verification request is directed at, should be present in the room. */ - public constructor(private readonly client: MatrixClient, public readonly roomId: string, public userId?: string) {} + public constructor( + private readonly client: MatrixClient, + public readonly roomId: string, + public userId?: string, + ) {} public get receiveStartFromOtherDevices(): boolean { return true; diff --git a/src/errors.ts b/src/errors.ts index bbdf4735f..77dc054cd 100644 --- a/src/errors.ts +++ b/src/errors.ts @@ -21,7 +21,10 @@ export enum InvalidStoreState { export class InvalidStoreError extends Error { public static TOGGLED_LAZY_LOADING = InvalidStoreState.ToggledLazyLoading; - public constructor(public readonly reason: InvalidStoreState, public readonly value: any) { + public constructor( + public readonly reason: InvalidStoreState, + public readonly value: any, + ) { const message = `Store is invalid because ${reason}, ` + `please stop the client, delete all data and start the client again`; @@ -47,7 +50,10 @@ export class InvalidCryptoStoreError extends Error { } export class KeySignatureUploadError extends Error { - public constructor(message: string, public readonly value: any) { + public constructor( + message: string, + public readonly value: any, + ) { super(message); } } diff --git a/src/filter-component.ts b/src/filter-component.ts index e28571d64..0954e634f 100644 --- a/src/filter-component.ts +++ b/src/filter-component.ts @@ -62,7 +62,10 @@ export interface IFilterComponent { * 'Filters' are referred to as 'FilterCollections'. */ export class FilterComponent { - public constructor(private filterJson: IFilterComponent, public readonly userId?: string | undefined | null) {} + public constructor( + private filterJson: IFilterComponent, + public readonly userId?: string | undefined | null, + ) {} /** * Checks with the filter component matches the given event diff --git a/src/filter.ts b/src/filter.ts index 4d74c8c3e..aea2fb491 100644 --- a/src/filter.ts +++ b/src/filter.ts @@ -92,7 +92,10 @@ export class Filter { * @param userId - The user ID for this filter. * @param filterId - The filter ID if known. */ - public constructor(public readonly userId: string | undefined | null, public filterId?: string) {} + public constructor( + public readonly userId: string | undefined | null, + public filterId?: string, + ) {} /** * Get the ID of this filter on your homeserver (if known) diff --git a/src/http-api/errors.ts b/src/http-api/errors.ts index e48fc029c..c5aba882b 100644 --- a/src/http-api/errors.ts +++ b/src/http-api/errors.ts @@ -30,7 +30,10 @@ interface IErrorJson extends Partial { * @param httpStatus - The HTTP response status code. */ export class HTTPError extends Error { - public constructor(msg: string, public readonly httpStatus?: number) { + public constructor( + msg: string, + public readonly httpStatus?: number, + ) { super(msg); } } diff --git a/src/http-api/fetch.ts b/src/http-api/fetch.ts index 0c6f9a5bf..fbe842f1e 100644 --- a/src/http-api/fetch.ts +++ b/src/http-api/fetch.ts @@ -33,8 +33,8 @@ interface TypedResponse extends Response { export type ResponseType = O extends undefined ? T : O extends { onlyData: true } - ? T - : TypedResponse; + ? T + : TypedResponse; export class FetchHttpApi { private abortController = new AbortController(); diff --git a/src/interactive-auth.ts b/src/interactive-auth.ts index d2a1fe087..7232559cd 100644 --- a/src/interactive-auth.ts +++ b/src/interactive-auth.ts @@ -149,8 +149,12 @@ export type IAuthDict = AuthDict; export class NoAuthFlowFoundError extends Error { public name = "NoAuthFlowFoundError"; - // eslint-disable-next-line @typescript-eslint/naming-convention, camelcase - public constructor(m: string, public readonly required_stages: string[], public readonly flows: UIAFlow[]) { + public constructor( + m: string, + // eslint-disable-next-line @typescript-eslint/naming-convention, camelcase + public readonly required_stages: string[], + public readonly flows: UIAFlow[], + ) { super(m); } } diff --git a/src/logger.ts b/src/logger.ts index 778396332..5fc53611a 100644 --- a/src/logger.ts +++ b/src/logger.ts @@ -156,7 +156,10 @@ extendLogger(logger); export class LogSpan implements BaseLogger { private readonly name; - public constructor(private readonly parent: BaseLogger, name: string) { + public constructor( + private readonly parent: BaseLogger, + name: string, + ) { this.name = name + ":"; } diff --git a/src/matrixrtc/CallMembership.ts b/src/matrixrtc/CallMembership.ts index d24b32add..917e36f0d 100644 --- a/src/matrixrtc/CallMembership.ts +++ b/src/matrixrtc/CallMembership.ts @@ -37,7 +37,10 @@ export class CallMembership { return deepCompare(a.data, b.data); } - public constructor(private parentEvent: MatrixEvent, private data: CallMembershipData) { + public constructor( + private parentEvent: MatrixEvent, + private data: CallMembershipData, + ) { if (typeof data.expires !== "number") throw new Error("Malformed membership: expires must be numeric"); if (typeof data.device_id !== "string") throw new Error("Malformed membership event: device_id must be string"); if (typeof data.call_id !== "string") throw new Error("Malformed membership event: call_id must be string"); diff --git a/src/models/MSC3089TreeSpace.ts b/src/models/MSC3089TreeSpace.ts index b0e71d971..4de507a79 100644 --- a/src/models/MSC3089TreeSpace.ts +++ b/src/models/MSC3089TreeSpace.ts @@ -85,7 +85,10 @@ export enum TreePermissions { export class MSC3089TreeSpace { public readonly room: Room; - public constructor(private client: MatrixClient, public readonly roomId: string) { + public constructor( + private client: MatrixClient, + public readonly roomId: string, + ) { this.room = this.client.getRoom(this.roomId)!; if (!this.room) throw new Error("Unknown room"); diff --git a/src/models/event-timeline-set.ts b/src/models/event-timeline-set.ts index b23b5ca16..6175ac9ae 100644 --- a/src/models/event-timeline-set.ts +++ b/src/models/event-timeline-set.ts @@ -1003,9 +1003,8 @@ export class EventTimelineSet extends TypedEventEmitter, P */ private undecryptableRelationEventIds = new Set(); - public constructor(public readonly rootEvent: MatrixEvent, private matrixClient: MatrixClient, private room: Room) { + public constructor( + public readonly rootEvent: MatrixEvent, + private matrixClient: MatrixClient, + private room: Room, + ) { super(); if (!this.rootEvent.getRoomId() || !this.rootEvent.getId()) { throw new Error("Invalid poll start event."); diff --git a/src/models/relations-container.ts b/src/models/relations-container.ts index d328b1c8b..9637223b0 100644 --- a/src/models/relations-container.ts +++ b/src/models/relations-container.ts @@ -26,7 +26,10 @@ export class RelationsContainer { // this.relations.get(parentEventId).get(relationType).get(relationEventType) private relations = new Map>>(); - public constructor(private readonly client: MatrixClient, private readonly room?: Room) {} + public constructor( + private readonly client: MatrixClient, + private readonly room?: Room, + ) {} /** * Get a collection of child events to a given event in this timeline set. diff --git a/src/models/room-member.ts b/src/models/room-member.ts index e8fcfa606..5aad565cd 100644 --- a/src/models/room-member.ts +++ b/src/models/room-member.ts @@ -140,7 +140,10 @@ export class RoomMember extends TypedEventEmitter * and shared when the room state is cloned for the new timeline. * This should only be passed from clone. */ - public constructor(public readonly roomId: string, private oobMemberFlags = { status: OobStatus.NotStarted }) { + public constructor( + public readonly roomId: string, + private oobMemberFlags = { status: OobStatus.NotStarted }, + ) { super(); this.updateModifiedTime(); } diff --git a/src/models/room-summary.ts b/src/models/room-summary.ts index 936ec1d82..0877ba797 100644 --- a/src/models/room-summary.ts +++ b/src/models/room-summary.ts @@ -40,5 +40,8 @@ interface IInfo { * @param info - Optional. The summary info. Additional keys are supported. */ export class RoomSummary { - public constructor(public readonly roomId: string, info?: IInfo) {} + public constructor( + public readonly roomId: string, + info?: IInfo, + ) {} } diff --git a/src/models/search-result.ts b/src/models/search-result.ts index 21192a6ea..525b525fc 100644 --- a/src/models/search-result.ts +++ b/src/models/search-result.ts @@ -50,5 +50,8 @@ export class SearchResult { * @param context - the matching event and its * context */ - public constructor(public readonly rank: number, public readonly context: EventContext) {} + public constructor( + public readonly rank: number, + public readonly context: EventContext, + ) {} } diff --git a/src/models/thread.ts b/src/models/thread.ts index 71e5d749d..855febb1a 100644 --- a/src/models/thread.ts +++ b/src/models/thread.ts @@ -140,7 +140,11 @@ export class Thread extends ReadReceipt void; export type Listener, T extends E | EventEmitterEvents> = T extends E ? A[T] : T extends EventEmitterEvents - ? EventEmitterErrorListener - : EventEmitterEventListener; + ? EventEmitterErrorListener + : EventEmitterEventListener; /** * Typed Event Emitter class which can act as a Base Model for all our model diff --git a/src/oidc/authorize.ts b/src/oidc/authorize.ts index 54ffd86d8..557a5c7e4 100644 --- a/src/oidc/authorize.ts +++ b/src/oidc/authorize.ts @@ -186,7 +186,7 @@ const normalizeBearerTokenResponseTokenType = (response: SigninResponse): Bearer refresh_token: response.refresh_token, access_token: response.access_token, token_type: "Bearer", - } as BearerTokenResponse); + }) as BearerTokenResponse; /** * @experimental diff --git a/src/rendezvous/RendezvousError.ts b/src/rendezvous/RendezvousError.ts index 8b76fc118..b3026d43b 100644 --- a/src/rendezvous/RendezvousError.ts +++ b/src/rendezvous/RendezvousError.ts @@ -17,7 +17,10 @@ limitations under the License. import { RendezvousFailureReason } from "."; export class RendezvousError extends Error { - public constructor(message: string, public readonly code: RendezvousFailureReason) { + public constructor( + message: string, + public readonly code: RendezvousFailureReason, + ) { super(message); } } diff --git a/src/sliding-sync-sdk.ts b/src/sliding-sync-sdk.ts index 780144222..eea6656d9 100644 --- a/src/sliding-sync-sdk.ts +++ b/src/sliding-sync-sdk.ts @@ -114,7 +114,10 @@ type ExtensionToDeviceResponse = { class ExtensionToDevice implements Extension { private nextBatch: string | null = null; - public constructor(private readonly client: MatrixClient, private readonly cryptoCallbacks?: SyncCryptoCallbacks) {} + public constructor( + private readonly client: MatrixClient, + private readonly cryptoCallbacks?: SyncCryptoCallbacks, + ) {} public name(): string { return "to_device"; diff --git a/src/store/indexeddb-local-backend.ts b/src/store/indexeddb-local-backend.ts index 0ade8f1c4..f9e51e4ff 100644 --- a/src/store/indexeddb-local-backend.ts +++ b/src/store/indexeddb-local-backend.ts @@ -143,7 +143,10 @@ export class LocalIndexedDBStoreBackend implements IIndexedDBBackend { * @param dbName - Optional database name. The same name must be used * to open the same database. */ - public constructor(private readonly indexedDB: IDBFactory, dbName = "default") { + public constructor( + private readonly indexedDB: IDBFactory, + dbName = "default", + ) { this.dbName = "matrix-js-sdk:" + dbName; this.syncAccumulator = new SyncAccumulator(); } diff --git a/src/store/indexeddb-remote-backend.ts b/src/store/indexeddb-remote-backend.ts index 32ff51efe..e3285afec 100644 --- a/src/store/indexeddb-remote-backend.ts +++ b/src/store/indexeddb-remote-backend.ts @@ -43,7 +43,10 @@ export class RemoteIndexedDBStoreBackend implements IIndexedDBBackend { * @param dbName - Optional database name. The same name must be used * to open the same database. */ - public constructor(private readonly workerFactory: () => Worker, private readonly dbName?: string) {} + public constructor( + private readonly workerFactory: () => Worker, + private readonly dbName?: string, + ) {} /** * Attempt to connect to the database. This can fail if the user does not diff --git a/src/sync.ts b/src/sync.ts index 408aec6bb..57afaff24 100644 --- a/src/sync.ts +++ b/src/sync.ts @@ -234,7 +234,11 @@ export class SyncApi { * @param syncOpts - sync-specific options passed by the client * @internal */ - public constructor(private readonly client: MatrixClient, opts?: IStoredClientOpts, syncOpts?: SyncApiOptions) { + public constructor( + private readonly client: MatrixClient, + opts?: IStoredClientOpts, + syncOpts?: SyncApiOptions, + ) { this.opts = defaultClientOpts(opts); this.syncOpts = defaultSyncApiOpts(syncOpts); diff --git a/src/timeline-window.ts b/src/timeline-window.ts index 0022ae871..793b68e7d 100644 --- a/src/timeline-window.ts +++ b/src/timeline-window.ts @@ -441,7 +441,10 @@ export class TimelineIndex { public pendingPaginate?: Promise; // index: the indexes are relative to BaseIndex, so could well be negative. - public constructor(public timeline: EventTimeline, public index: number) {} + public constructor( + public timeline: EventTimeline, + public index: number, + ) {} /** * @returns the minimum possible value for the index in the current diff --git a/src/webrtc/call.ts b/src/webrtc/call.ts index 187a9443f..445afefbf 100644 --- a/src/webrtc/call.ts +++ b/src/webrtc/call.ts @@ -1309,9 +1309,8 @@ export class MatrixCall extends TypedEventEmitter track.kind === "video"); - const sender = this.transceivers.get( - getTransceiverKey(SDPStreamMetadataPurpose.Usermedia, "video"), - )?.sender; + const sender = this.transceivers.get(getTransceiverKey(SDPStreamMetadataPurpose.Usermedia, "video")) + ?.sender; sender?.replaceTrack(track ?? null); @@ -1327,9 +1326,8 @@ export class MatrixCall extends TypedEventEmitter track.kind === "video"); - const sender = this.transceivers.get( - getTransceiverKey(SDPStreamMetadataPurpose.Usermedia, "video"), - )?.sender; + const sender = this.transceivers.get(getTransceiverKey(SDPStreamMetadataPurpose.Usermedia, "video")) + ?.sender; sender?.replaceTrack(track ?? null); this.client.getMediaHandler().stopScreensharingStream(this.localScreensharingStream!); diff --git a/src/webrtc/groupCall.ts b/src/webrtc/groupCall.ts index 4307a7a25..362db27a2 100644 --- a/src/webrtc/groupCall.ts +++ b/src/webrtc/groupCall.ts @@ -1605,17 +1605,20 @@ export class GroupCall extends TypedEventEmitter< await this.addDeviceToMemberState(); // Resend the state event every so often so it doesn't become stale - this.resendMemberStateTimer = setInterval(async () => { - logger.log(`GroupCall ${this.groupCallId} updateMemberState() resending call member state"`); - try { - await this.addDeviceToMemberState(); - } catch (e) { - logger.error( - `GroupCall ${this.groupCallId} updateMemberState() failed to resend call member state`, - e, - ); - } - }, (DEVICE_TIMEOUT * 3) / 4); + this.resendMemberStateTimer = setInterval( + async () => { + logger.log(`GroupCall ${this.groupCallId} updateMemberState() resending call member state"`); + try { + await this.addDeviceToMemberState(); + } catch (e) { + logger.error( + `GroupCall ${this.groupCallId} updateMemberState() failed to resend call member state`, + e, + ); + } + }, + (DEVICE_TIMEOUT * 3) / 4, + ); } else { // Remove the local device await this.updateDevices( diff --git a/src/webrtc/stats/groupCallStats.ts b/src/webrtc/stats/groupCallStats.ts index de660f990..1c976a9dd 100644 --- a/src/webrtc/stats/groupCallStats.ts +++ b/src/webrtc/stats/groupCallStats.ts @@ -25,7 +25,11 @@ export class GroupCallStats { public readonly reports = new StatsReportEmitter(); private readonly summaryStatsReportGatherer = new SummaryStatsReportGatherer(this.reports); - public constructor(private groupCallId: string, private userId: string, private interval: number = 10000) {} + public constructor( + private groupCallId: string, + private userId: string, + private interval: number = 10000, + ) {} public start(): void { if (this.timer === undefined && this.interval > 0) { diff --git a/yarn.lock b/yarn.lock index cc1c8d278..73d337a05 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5469,10 +5469,10 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prettier@2.8.8: - version "2.8.8" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" - integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== +prettier@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.1.1.tgz#6ba9f23165d690b6cbdaa88cb0807278f7019848" + integrity sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw== pretty-format@^28.1.3: version "28.1.3"