Skip to content

Commit 1237462

Browse files
committed
Replacing MatrixClient with trimmed down RTCClient
Signed-off-by: Milton Moura <[email protected]>
1 parent c537a36 commit 1237462

File tree

4 files changed

+24
-16
lines changed

4 files changed

+24
-16
lines changed

src/matrixrtc/EncryptionManager.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { type MatrixEvent } from "../models/event.ts";
44
import { type Room } from "../models/room.ts";
55
import { type EncryptionConfig } from "./MatrixRTCSession.ts";
66
import { secureRandomBase64Url } from "../randomstring.ts";
7-
import { type EncryptionKeysEventContent } from "./types.ts";
7+
import { RTCClient, type EncryptionKeysEventContent } from "./types.ts";
88
import { decodeBase64, encodeUnpaddedBase64 } from "../base64.ts";
99
import { type MatrixError, safeGetRetryAfterMs } from "../http-api/errors.ts";
1010
import { type CallMembership } from "./CallMembership.ts";
@@ -99,7 +99,7 @@ export class EncryptionManager implements IEncryptionManager {
9999
private joinConfig: EncryptionConfig | undefined;
100100

101101
public constructor(
102-
private client: Pick<MatrixClient, "sendEvent" | "getDeviceId" | "getUserId" | "cancelPendingEvent">,
102+
private client: RTCClient,
103103
private room: Pick<Room, "roomId">,
104104
private getMemberships: () => CallMembership[],
105105
private onEncryptionKeysChanged: (

src/matrixrtc/MatrixRTCSession.ts

+6-3
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import { logger as rootLogger } from "../logger.ts";
1818
import { TypedEventEmitter } from "../models/typed-event-emitter.ts";
1919
import { EventTimeline } from "../models/event-timeline.ts";
2020
import { type Room } from "../models/room.ts";
21-
import { type MatrixClient } from "../client.ts";
2221
import { EventType } from "../@types/event.ts";
2322
import { CallMembership } from "./CallMembership.ts";
2423
import { RoomStateEvent } from "../models/room-state.ts";
@@ -27,6 +26,7 @@ import { KnownMembership } from "../@types/membership.ts";
2726
import { type MatrixEvent } from "../models/event.ts";
2827
import { LegacyMembershipManager, type IMembershipManager } from "./MembershipManager.ts";
2928
import { EncryptionManager, type IEncryptionManager, type Statistics } from "./EncryptionManager.ts";
29+
import { RTCClient } from "./types.ts";
3030

3131
const logger = rootLogger.getChild("MatrixRTCSession");
3232

@@ -219,14 +219,17 @@ export class MatrixRTCSession extends TypedEventEmitter<MatrixRTCSessionEvent, M
219219
/**
220220
* Return the MatrixRTC session for the room, whether there are currently active members or not
221221
*/
222-
public static roomSessionForRoom(client: MatrixClient, room: Room): MatrixRTCSession {
222+
public static roomSessionForRoom(
223+
client: RTCClient,
224+
room: Room): MatrixRTCSession
225+
{
223226
const callMemberships = MatrixRTCSession.callMembershipsForRoom(room);
224227

225228
return new MatrixRTCSession(client, room, callMemberships);
226229
}
227230

228231
private constructor(
229-
private readonly client: MatrixClient,
232+
private readonly client: RTCClient,
230233
public readonly room: Room,
231234
public memberships: CallMembership[],
232235
) {

src/matrixrtc/MembershipManager.ts

+2-10
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { EventType } from "../@types/event.ts";
22
import { UpdateDelayedEventAction } from "../@types/requests.ts";
3-
import type { MatrixClient } from "../client.ts";
43
import { HTTPError, MatrixError } from "../http-api/errors.ts";
54
import { logger } from "../logger.ts";
65
import { EventTimeline } from "../models/event-timeline.ts";
@@ -11,6 +10,7 @@ import { type Focus } from "./focus.ts";
1110
import { isLivekitFocusActive } from "./LivekitFocus.ts";
1211
import { type MembershipConfig } from "./MatrixRTCSession.ts";
1312
import { type EmptyObject } from "../@types/common.ts";
13+
import { RTCClient } from "./types.ts";
1414
/**
1515
* This interface defines what a MembershipManager uses and exposes.
1616
* This interface is what we use to write tests and allows to change the actual implementation
@@ -112,15 +112,7 @@ export class LegacyMembershipManager implements IMembershipManager {
112112
public constructor(
113113
private joinConfig: MembershipConfig | undefined,
114114
private room: Pick<Room, "getLiveTimeline" | "roomId" | "getVersion">,
115-
private client: Pick<
116-
MatrixClient,
117-
| "getUserId"
118-
| "getDeviceId"
119-
| "sendStateEvent"
120-
| "_unstable_sendDelayedEvent"
121-
| "_unstable_sendDelayedStateEvent"
122-
| "_unstable_updateDelayedEvent"
123-
>,
115+
private client: RTCClient,
124116
private getOldestMembership: () => CallMembership | undefined,
125117
) {}
126118

src/matrixrtc/types.ts

+14-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,20 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1313
See the License for the specific language governing permissions and
1414
limitations under the License.
1515
*/
16-
import { type IMentions } from "../matrix.ts";
16+
import { MatrixClient, type IMentions } from "../matrix.ts";
17+
18+
export type RTCClient = Pick<
19+
MatrixClient,
20+
| "cancelPendingEvent"
21+
| "getUserId"
22+
| "getDeviceId"
23+
| "sendEvent"
24+
| "sendStateEvent"
25+
| "_unstable_sendDelayedEvent"
26+
| "_unstable_sendDelayedStateEvent"
27+
| "_unstable_updateDelayedEvent"
28+
>;
29+
1730
export interface EncryptionKeyEntry {
1831
index: number;
1932
key: string;

0 commit comments

Comments
 (0)