diff --git a/src/Modal.tsx b/src/Modal.tsx index 31ad6b9bfcf..947383948b1 100644 --- a/src/Modal.tsx +++ b/src/Modal.tsx @@ -10,7 +10,6 @@ Please see LICENSE files in the repository root for full details. import React, { StrictMode } from "react"; import { createRoot, Root } from "react-dom/client"; import classNames from "classnames"; -import { IDeferred, defer } from "matrix-js-sdk/src/utils"; import { TypedEventEmitter } from "matrix-js-sdk/src/matrix"; import { Glass, TooltipProvider } from "@vector-im/compound-web"; @@ -45,7 +44,7 @@ export interface IModal { onFinished: ComponentProps["onFinished"]; close(...args: Parameters["onFinished"]>): void; hidden?: boolean; - deferred?: IDeferred["onFinished"]>>; + deferred?: PromiseWithResolvers["onFinished"]>>; } export interface IHandle { @@ -214,7 +213,7 @@ export class ModalManager extends TypedEventEmitter, props?: ComponentProps, ): [IHandle["close"], IHandle["finished"]] { - modal.deferred = defer["onFinished"]>>(); + modal.deferred = Promise.withResolvers["onFinished"]>>(); return [ async (...args: Parameters["onFinished"]>): Promise => { if (modal.beforeClosePromise) { diff --git a/src/SlidingSyncManager.ts b/src/SlidingSyncManager.ts index b9922e2290f..9fa66975cce 100644 --- a/src/SlidingSyncManager.ts +++ b/src/SlidingSyncManager.ts @@ -46,7 +46,7 @@ import { SlidingSync, } from "matrix-js-sdk/src/sliding-sync"; import { logger } from "matrix-js-sdk/src/logger"; -import { defer, sleep } from "matrix-js-sdk/src/utils"; +import { sleep } from "matrix-js-sdk/src/utils"; import SettingsStore from "./settings/SettingsStore"; import SlidingSyncController from "./settings/controllers/SlidingSyncController"; @@ -110,7 +110,7 @@ export class SlidingSyncManager { public slidingSync?: SlidingSync; private client?: MatrixClient; - private configureDefer = defer(); + private configureDefer = Promise.withResolvers(); public static get instance(): SlidingSyncManager { return SlidingSyncManager.internalInstance; diff --git a/src/WorkerManager.ts b/src/WorkerManager.ts index 089463dc915..7f17bca053a 100644 --- a/src/WorkerManager.ts +++ b/src/WorkerManager.ts @@ -6,14 +6,12 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Com Please see LICENSE files in the repository root for full details. */ -import { defer, IDeferred } from "matrix-js-sdk/src/utils"; - import { WorkerPayload } from "./workers/worker"; export class WorkerManager { private readonly worker: Worker; private seq = 0; - private pendingDeferredMap = new Map>(); + private pendingDeferredMap = new Map>(); public constructor(worker: Worker) { this.worker = worker; @@ -30,7 +28,7 @@ export class WorkerManager { public call(request: Request): Promise { const seq = this.seq++; - const deferred = defer(); + const deferred = Promise.withResolvers(); this.pendingDeferredMap.set(seq, deferred); this.worker.postMessage({ seq, ...request }); return deferred.promise; diff --git a/src/audio/Playback.ts b/src/audio/Playback.ts index af777a8c011..fada8d0d4da 100644 --- a/src/audio/Playback.ts +++ b/src/audio/Playback.ts @@ -9,7 +9,6 @@ Please see LICENSE files in the repository root for full details. import EventEmitter from "events"; import { SimpleObservable } from "matrix-widget-api"; import { logger } from "matrix-js-sdk/src/logger"; -import { defer } from "matrix-js-sdk/src/utils"; import { UPDATE_EVENT } from "../stores/AsyncStore"; import { arrayFastResample } from "../utils/arrays"; @@ -158,7 +157,7 @@ export class Playback extends EventEmitter implements IDestroyable, PlaybackInte // 5mb logger.log("Audio file too large: processing through