feat(lotus): keep your own tile on mobile with the camera off (cinny #265)
Upstream drops the local PiP in the one-on-one mobile layout whenever the local camera is off. In Lotus voice rooms that is nearly always, so on a phone you never saw yourself or your own speaking ring. Show it as the desktop layout does; the tile falls back to your avatar. Tests updated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
5693e81bb9
commit
fbf8e44276
@@ -1220,19 +1220,22 @@ export function createCallViewModel$(
|
||||
}),
|
||||
);
|
||||
|
||||
// [lotus / cinny #265] Upstream drops the local PiP on mobile while your
|
||||
// camera is off; in Lotus voice rooms that is almost always, so on a phone
|
||||
// you never saw yourself (or your own speaking ring). Show it as desktop
|
||||
// does: the tile falls back to your avatar.
|
||||
const oneOnOneMobileLayoutMedia$: Observable<OneOnOneMobileLayoutMedia | null> =
|
||||
oneOnOneLayoutMedia$.pipe(
|
||||
switchMap((media) => {
|
||||
if (media === null) return of(null);
|
||||
return media.local.videoEnabled$.pipe(
|
||||
map((videoEnabled) => ({
|
||||
type: "one-on-one-mobile" as const,
|
||||
edgeToEdge: true as const,
|
||||
spotlight: media.remote,
|
||||
pip: videoEnabled ? media.local : undefined,
|
||||
})),
|
||||
);
|
||||
}),
|
||||
map((media) =>
|
||||
media === null
|
||||
? null
|
||||
: {
|
||||
type: "one-on-one-mobile" as const,
|
||||
edgeToEdge: true as const,
|
||||
spotlight: media.remote,
|
||||
pip: media.local,
|
||||
},
|
||||
),
|
||||
);
|
||||
|
||||
const pipLayoutMedia$: Observable<LayoutMedia> = spotlight$.pipe(
|
||||
|
||||
Reference in New Issue
Block a user