Make the type of participant$ stricter
It is, in fact, required to be a behavior.
This commit is contained in:
@@ -259,7 +259,7 @@ abstract class BaseMediaViewModel {
|
|||||||
public readonly userId: string,
|
public readonly userId: string,
|
||||||
// We don't necessarily have a participant if a user connects via MatrixRTC but not (yet) through
|
// We don't necessarily have a participant if a user connects via MatrixRTC but not (yet) through
|
||||||
// livekit.
|
// livekit.
|
||||||
protected readonly participant$: Observable<
|
protected readonly participant$: Behavior<
|
||||||
LocalParticipant | RemoteParticipant | null
|
LocalParticipant | RemoteParticipant | null
|
||||||
>,
|
>,
|
||||||
|
|
||||||
@@ -410,7 +410,7 @@ abstract class BaseUserMediaViewModel extends BaseMediaViewModel {
|
|||||||
* The expected identity of the LiveKit participant. Exposed for debugging.
|
* The expected identity of the LiveKit participant. Exposed for debugging.
|
||||||
*/
|
*/
|
||||||
public readonly rtcBackendIdentity: string,
|
public readonly rtcBackendIdentity: string,
|
||||||
participant$: Observable<LocalParticipant | RemoteParticipant | null>,
|
participant$: Behavior<LocalParticipant | RemoteParticipant | null>,
|
||||||
encryptionSystem: EncryptionSystem,
|
encryptionSystem: EncryptionSystem,
|
||||||
livekitRoom$: Behavior<LivekitRoom | undefined>,
|
livekitRoom$: Behavior<LivekitRoom | undefined>,
|
||||||
focusUrl$: Behavior<string | undefined>,
|
focusUrl$: Behavior<string | undefined>,
|
||||||
@@ -678,7 +678,7 @@ export class RemoteUserMediaViewModel extends BaseUserMediaViewModel {
|
|||||||
id: string,
|
id: string,
|
||||||
userId: string,
|
userId: string,
|
||||||
rtcBackendIdentity: string,
|
rtcBackendIdentity: string,
|
||||||
participant$: Observable<RemoteParticipant | null>,
|
participant$: Behavior<RemoteParticipant | null>,
|
||||||
encryptionSystem: EncryptionSystem,
|
encryptionSystem: EncryptionSystem,
|
||||||
livekitRoom$: Behavior<LivekitRoom | undefined>,
|
livekitRoom$: Behavior<LivekitRoom | undefined>,
|
||||||
focusUrl$: Behavior<string | undefined>,
|
focusUrl$: Behavior<string | undefined>,
|
||||||
@@ -780,7 +780,7 @@ export class ScreenShareViewModel extends BaseMediaViewModel {
|
|||||||
scope: ObservableScope,
|
scope: ObservableScope,
|
||||||
id: string,
|
id: string,
|
||||||
userId: string,
|
userId: string,
|
||||||
participant$: Observable<LocalParticipant | RemoteParticipant>,
|
participant$: Behavior<LocalParticipant | RemoteParticipant>,
|
||||||
encryptionSystem: EncryptionSystem,
|
encryptionSystem: EncryptionSystem,
|
||||||
livekitRoom$: Behavior<LivekitRoom | undefined>,
|
livekitRoom$: Behavior<LivekitRoom | undefined>,
|
||||||
focusUrl$: Behavior<string | undefined>,
|
focusUrl$: Behavior<string | undefined>,
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ Copyright 2025 New Vector Ltd.
|
|||||||
SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
||||||
Please see LICENSE in the repository root for full details.
|
Please see LICENSE in the repository root for full details.
|
||||||
*/
|
*/
|
||||||
import { of } from "rxjs";
|
|
||||||
import {
|
import {
|
||||||
type LocalParticipant,
|
type LocalParticipant,
|
||||||
type RemoteParticipant,
|
type RemoteParticipant,
|
||||||
@@ -14,7 +14,7 @@ import {
|
|||||||
import { type ObservableScope } from "./ObservableScope.ts";
|
import { type ObservableScope } from "./ObservableScope.ts";
|
||||||
import { ScreenShareViewModel } from "./MediaViewModel.ts";
|
import { ScreenShareViewModel } from "./MediaViewModel.ts";
|
||||||
import type { EncryptionSystem } from "../e2ee/sharedKeyManagement.ts";
|
import type { EncryptionSystem } from "../e2ee/sharedKeyManagement.ts";
|
||||||
import type { Behavior } from "./Behavior.ts";
|
import { constant, type Behavior } from "./Behavior.ts";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A screen share media item to be presented in a tile. This is a thin wrapper
|
* A screen share media item to be presented in a tile. This is a thin wrapper
|
||||||
@@ -40,7 +40,7 @@ export class ScreenShare {
|
|||||||
this.scope,
|
this.scope,
|
||||||
id,
|
id,
|
||||||
userId,
|
userId,
|
||||||
of(participant),
|
constant(participant),
|
||||||
encryptionSystem,
|
encryptionSystem,
|
||||||
livekitRoom$,
|
livekitRoom$,
|
||||||
focusUrl$,
|
focusUrl$,
|
||||||
|
|||||||
Reference in New Issue
Block a user