Don't show user as 'waiting for media' if they don't intend to publish

We don't expect them to be publishing on any transport; they might be a subscribe-only bot.
This commit is contained in:
Robin
2025-12-10 17:17:37 -05:00
parent 93ab3ba1ff
commit ea6f934667
3 changed files with 25 additions and 9 deletions

View File

@@ -601,7 +601,14 @@ export class RemoteUserMediaViewModel extends BaseUserMediaViewModel {
* could be because either we or the remote party are still connecting.
*/
public readonly waitingForMedia$ = this.scope.behavior<boolean>(
this.participant$.pipe(map((participant) => participant === null)),
combineLatest(
[this.livekitRoom$, this.participant$],
(livekitRoom, participant) =>
// If livekitRoom is undefined, the user is not attempting to publish on
// any transport and so we shouldn't expect a participant. (They might
// be a subscribe-only bot for example.)
livekitRoom !== undefined && participant === null,
),
);
// This private field is used to override the value from the superclass