- @for (user of users; track user; let i = $index) {
-
+ @for (user of users; track user.uid) {
+
}
diff --git a/openvidu-testapp/src/app/components/test-sessions/test-sessions.component.ts b/openvidu-testapp/src/app/components/test-sessions/test-sessions.component.ts
index 51433e068..1e6e504af 100644
--- a/openvidu-testapp/src/app/components/test-sessions/test-sessions.component.ts
+++ b/openvidu-testapp/src/app/components/test-sessions/test-sessions.component.ts
@@ -11,6 +11,8 @@ import { OpenviduInstanceComponent } from '../openvidu-instance/openvidu-instanc
import stringify from 'json-stringify-safe';
export interface RoomConf {
+ // Stable unique id for this instance
+ uid: number;
subscriber: boolean;
publisher: boolean;
startSession: boolean;
@@ -36,6 +38,11 @@ export class TestSessionsComponent {
// OpenViduInstance collection
users: RoomConf[] = [];
+ // Monotonic counter assigning a stable uid to each instance. Reset only on a
+ // full clear (removeAllUsers / loadScenario), never on individual removals, so
+ // uids are never reused while instances come and go.
+ private nextUid = 0;
+
numberParticipants = 2;
autoJoin = false;
@@ -54,8 +61,12 @@ export class TestSessionsComponent {
this.eventsInfoSubscription.unsubscribe();
}
+ private pushUser(conf: Omit