Fix TileStore's ability to swap spotlight speakers without a layout shift

This was regressed in 79c40f198c because of the overlooked renaming of the 'speaking' field to 'speaking$'.
This commit is contained in:
Robin
2025-10-17 11:23:34 -04:00
parent 1eec7314e8
commit 414322e5d9
2 changed files with 20 additions and 4 deletions

View File

@@ -118,10 +118,11 @@ export class TileStore {
*/
export class TileStoreBuilder {
private spotlight: SpotlightTileData | null = null;
private readonly prevSpotlightSpeaker =
private readonly prevSpotlightSpeaker: UserMediaViewModel | null =
this.prevSpotlight?.media.length === 1 &&
"speaking" in this.prevSpotlight.media[0] &&
this.prevSpotlight.media[0];
"speaking$" in this.prevSpotlight.media[0]
? this.prevSpotlight.media[0]
: null;
private readonly prevGridByMedia: Map<
MediaViewModel,
@@ -201,7 +202,7 @@ export class TileStoreBuilder {
if (
media === this.prevSpotlightSpeaker &&
this.spotlight.media.length === 1 &&
"speaking" in this.spotlight.media[0] &&
"speaking$" in this.spotlight.media[0] &&
this.prevSpotlightSpeaker !== this.spotlight.media[0]
) {
const prev = this.prevGridByMedia.get(this.spotlight.media[0]);