log cleanup and expose members$

This commit is contained in:
Timo K
2025-12-01 13:49:33 +01:00
parent 284a52c23c
commit 0664af0f1b
5 changed files with 58 additions and 16 deletions

View File

@@ -30,12 +30,14 @@ import {
widget,
} from "./helper";
import { ElementWidgetActions } from "../src/widget";
import { type MatrixLivekitMember } from "../src/state/CallViewModel/remoteMembers/MatrixLivekitMembers";
interface MatrixRTCSdk {
join: () => LocalMemberConnectionState;
/** @throws on leave errors */
leave: () => void;
data$: Observable<{ sender: string; data: string }>;
members$: Behavior<MatrixLivekitMember[]>;
sendData?: (data: unknown) => Promise<void>;
}
export async function createMatrixRTCSdk(): Promise<MatrixRTCSdk> {
@@ -143,7 +145,7 @@ export async function createMatrixRTCSdk(): Promise<MatrixRTCSdk> {
// create sendData function
const sendFn: Behavior<(data: string) => Promise<TextStreamInfo>> =
scope.behavior(
callViewModel.localmatrixLivekitMembers$.pipe(
callViewModel.localMatrixLivekitMember$.pipe(
switchMap((m) => {
if (!m)
return of((data: string): never => {
@@ -223,6 +225,7 @@ export async function createMatrixRTCSdk(): Promise<MatrixRTCSdk> {
livekitRoomItemsSub.unsubscribe();
},
data$,
members$: callViewModel.matrixLivekitMembers$,
sendData,
};
}