@conference-kit/react 0.0.9 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,24 +19,24 @@ export type UseMeshRoomOptions = {
19
19
  features?: FeatureConfig;
20
20
  };
21
21
  export declare function useMeshRoom(options: UseMeshRoomOptions): {
22
- readonly localStream: MediaStream | null;
23
- readonly ready: boolean;
24
- readonly requesting: boolean;
25
- readonly mediaError: Error | null;
26
- readonly participants: MeshParticipant[];
27
- readonly roster: string[];
28
- readonly waitingList: string[];
29
- readonly inWaitingRoom: boolean;
30
- readonly activeSpeakerId: string | null;
31
- readonly raisedHands: Set<string>;
32
- readonly signalingStatus: "closed" | "connecting" | "open" | "idle";
33
- readonly admitPeer: (id: string) => void;
34
- readonly rejectPeer: (id: string) => void;
35
- readonly raiseHand: () => void;
36
- readonly lowerHand: () => void;
37
- readonly requestStream: () => Promise<MediaStream | null>;
38
- readonly stopStream: () => void;
39
- readonly leave: () => void;
40
- readonly error: Error | null;
22
+ localStream: MediaStream | null;
23
+ ready: boolean;
24
+ requesting: boolean;
25
+ mediaError: Error | null;
26
+ participants: MeshParticipant[];
27
+ roster: string[];
28
+ waitingList: string[];
29
+ inWaitingRoom: boolean;
30
+ activeSpeakerId: string | null;
31
+ raisedHands: Set<string>;
32
+ signalingStatus: "closed" | "connecting" | "open" | "idle";
33
+ admitPeer: (id: string) => void;
34
+ rejectPeer: (id: string) => void;
35
+ raiseHand: () => void;
36
+ lowerHand: () => void;
37
+ requestStream: () => Promise<MediaStream | null>;
38
+ stopStream: () => void;
39
+ leave: () => void;
40
+ error: Error | null;
41
41
  };
42
42
  //# sourceMappingURL=useMeshRoom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMeshRoom.d.ts","sourceRoot":"","sources":["../../src/hooks/useMeshRoom.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAkC,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIvE,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,eAAe,EAAE,sBAAsB,CAAC;IACxC,QAAQ,EAAE,qBAAqB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B,CAAC;AAEF,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB;;;;;;;;;;;;6BA0S9C,MAAM;8BAQN,MAAM;;;;;;;EAgKd"}
1
+ {"version":3,"file":"useMeshRoom.d.ts","sourceRoot":"","sources":["../../src/hooks/useMeshRoom.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAkC,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIvE,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,eAAe,EAAE,sBAAsB,CAAC;IACxC,QAAQ,EAAE,qBAAqB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B,CAAC;AAEF,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB;;;;;;;;;;;;oBAgT9C,MAAM;qBAQN,MAAM;;;;;;;EA6Ld"}
@@ -127,7 +127,14 @@ export function useMeshRoom(options) {
127
127
  useEffect(() => {
128
128
  const handleOpen = () => setSignalingStatus("open");
129
129
  const handleClose = () => setSignalingStatus("closed");
130
- const handleError = (err) => setError(err);
130
+ const handleError = (err) => {
131
+ // Only set error if it's a new error message to prevent rapid re-renders
132
+ setError((prev) => {
133
+ if (prev?.message === err.message)
134
+ return prev;
135
+ return err;
136
+ });
137
+ };
131
138
  signaling.on("open", handleOpen);
132
139
  signaling.on("close", handleClose);
133
140
  signaling.on("error", handleError);
@@ -273,20 +280,11 @@ export function useMeshRoom(options) {
273
280
  const activeCandidate = useRef(null);
274
281
  const activeSince = useRef(0);
275
282
  const silenceSince = useRef(0);
283
+ // Separate effect to manage analyzers based on participants
284
+ // This runs when participants change but doesn't recreate the interval
276
285
  useEffect(() => {
277
- if (!features.enableActiveSpeaker || signalingStatus !== "open") {
278
- setActiveSpeakerId(null);
279
- analyzers.current.forEach((entry) => {
280
- entry.source.disconnect();
281
- entry.analyser.disconnect();
282
- entry.ctx.close();
283
- });
284
- analyzers.current.clear();
285
- activeCandidate.current = null;
286
- activeSince.current = 0;
287
- silenceSince.current = 0;
286
+ if (!features.enableActiveSpeaker || signalingStatus !== "open")
288
287
  return;
289
- }
290
288
  const ensureAnalyzer = (id, stream) => {
291
289
  if (analyzers.current.has(id))
292
290
  return;
@@ -301,7 +299,7 @@ export function useMeshRoom(options) {
301
299
  if (p.remoteStream)
302
300
  ensureAnalyzer(p.id, p.remoteStream);
303
301
  });
304
- const removedIds = [];
302
+ // Cleanup analyzers for participants no longer present
305
303
  analyzers.current.forEach((_value, id) => {
306
304
  const stillPresent = participants.find((p) => p.id === id && p.remoteStream);
307
305
  if (!stillPresent) {
@@ -310,9 +308,24 @@ export function useMeshRoom(options) {
310
308
  entry?.analyser.disconnect();
311
309
  entry?.ctx.close();
312
310
  analyzers.current.delete(id);
313
- removedIds.push(id);
314
311
  }
315
312
  });
313
+ }, [features.enableActiveSpeaker, participants, signalingStatus]);
314
+ // Separate effect for the interval - only depends on feature flag and signaling status
315
+ useEffect(() => {
316
+ if (!features.enableActiveSpeaker || signalingStatus !== "open") {
317
+ setActiveSpeakerId((prev) => (prev === null ? prev : null));
318
+ analyzers.current.forEach((entry) => {
319
+ entry.source.disconnect();
320
+ entry.analyser.disconnect();
321
+ entry.ctx.close();
322
+ });
323
+ analyzers.current.clear();
324
+ activeCandidate.current = null;
325
+ activeSince.current = 0;
326
+ silenceSince.current = 0;
327
+ return;
328
+ }
316
329
  const minHoldMs = 700;
317
330
  const minLevel = 18;
318
331
  const silenceHoldMs = 1200;
@@ -361,8 +374,8 @@ export function useMeshRoom(options) {
361
374
  activeSince.current = 0;
362
375
  silenceSince.current = 0;
363
376
  };
364
- }, [features.enableActiveSpeaker, participants, signalingStatus]);
365
- return {
377
+ }, [features.enableActiveSpeaker, signalingStatus]);
378
+ return useMemo(() => ({
366
379
  localStream,
367
380
  ready,
368
381
  requesting,
@@ -382,6 +395,26 @@ export function useMeshRoom(options) {
382
395
  stopStream,
383
396
  leave,
384
397
  error,
385
- };
398
+ }), [
399
+ localStream,
400
+ ready,
401
+ requesting,
402
+ mediaError,
403
+ participants,
404
+ roster,
405
+ waitingList,
406
+ inWaitingRoom,
407
+ activeSpeakerId,
408
+ raisedHands,
409
+ signalingStatus,
410
+ admitPeer,
411
+ rejectPeer,
412
+ raiseHand,
413
+ lowerHand,
414
+ requestStream,
415
+ stopStream,
416
+ leave,
417
+ error,
418
+ ]);
386
419
  }
387
420
  //# sourceMappingURL=useMeshRoom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMeshRoom.js","sourceRoot":"","sources":["../../src/hooks/useMeshRoom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useMeshRoom.js","sourceRoot":"","sources":["../../src/hooks/useMeshRoom.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,8 @@ export declare class SignalingClient {
42
42
  private reconnectTimeout;
43
43
  private shouldReconnect;
44
44
  private pendingQueue;
45
+ private reconnectAttempts;
46
+ private maxReconnectAttempts;
45
47
  constructor(options: SignalingClientOptions);
46
48
  connect(): void;
47
49
  close(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"SignalingClient.d.ts","sourceRoot":"","sources":["../../src/signaling/SignalingClient.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IACxC,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IACjE,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;KAC1B,CAAC;CACH,CAAC;AAEF,KAAK,QAAQ,GAAG,MAAM,QAAQ,CAAC;AAE/B,KAAK,OAAO,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAwBlE,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAyBF,qBAAa,eAAe;IAC1B,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,gBAAgB,CAA8C;IACtE,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,YAAY,CAAyB;gBAEjC,OAAO,EAAE,sBAAsB;IAK3C,OAAO;IAiEP,KAAK;IAOL,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IAIpC,SAAS,CAAC,IAAI,EAAE,OAAO;IAIvB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAI1C,EAAE,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAIpD,GAAG,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAIrD,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,iBAAiB;CAM1B"}
1
+ {"version":3,"file":"SignalingClient.d.ts","sourceRoot":"","sources":["../../src/signaling/SignalingClient.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IACxC,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IACjE,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;KAC1B,CAAC;CACH,CAAC;AAEF,KAAK,QAAQ,GAAG,MAAM,QAAQ,CAAC;AAE/B,KAAK,OAAO,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAwBlE,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAyBF,qBAAa,eAAe;IAC1B,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,gBAAgB,CAA8C;IACtE,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,oBAAoB,CAAM;gBAEtB,OAAO,EAAE,sBAAsB;IAK3C,OAAO;IA+FP,KAAK;IAOL,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IAIpC,SAAS,CAAC,IAAI,EAAE,OAAO;IAIvB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAI1C,EAAE,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAIpD,GAAG,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAIrD,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,iBAAiB;CA8B1B"}
@@ -29,6 +29,8 @@ export class SignalingClient {
29
29
  this.emitter = createEmitter();
30
30
  this.reconnectTimeout = null;
31
31
  this.pendingQueue = [];
32
+ this.reconnectAttempts = 0;
33
+ this.maxReconnectAttempts = 10;
32
34
  this.options = options;
33
35
  this.shouldReconnect = options.autoReconnect ?? true;
34
36
  }
@@ -41,6 +43,19 @@ export class SignalingClient {
41
43
  return;
42
44
  }
43
45
  const { url, peerId, room, isHost, enableWaitingRoom } = this.options;
46
+ // Normalize URL: convert http(s):// to ws(s)://
47
+ let normalizedUrl = url.trim();
48
+ if (normalizedUrl.startsWith("https://")) {
49
+ normalizedUrl = "wss://" + normalizedUrl.slice(8);
50
+ }
51
+ else if (normalizedUrl.startsWith("http://")) {
52
+ normalizedUrl = "ws://" + normalizedUrl.slice(7);
53
+ }
54
+ else if (!normalizedUrl.startsWith("ws://") &&
55
+ !normalizedUrl.startsWith("wss://")) {
56
+ // If no protocol, assume ws://
57
+ normalizedUrl = "ws://" + normalizedUrl;
58
+ }
44
59
  const params = new URLSearchParams({ peerId });
45
60
  if (room)
46
61
  params.set("room", room);
@@ -48,9 +63,19 @@ export class SignalingClient {
48
63
  params.set("host", "1");
49
64
  if (enableWaitingRoom)
50
65
  params.set("waitingRoom", "1");
51
- const wsUrl = `${url}?${params.toString()}`;
52
- this.ws = new WebSocket(wsUrl);
66
+ const wsUrl = `${normalizedUrl}?${params.toString()}`;
67
+ console.log("[SignalingClient] Connecting to:", wsUrl);
68
+ try {
69
+ this.ws = new WebSocket(wsUrl);
70
+ }
71
+ catch (err) {
72
+ console.error("[SignalingClient] Failed to create WebSocket:", err);
73
+ this.emitter.emit("error", err);
74
+ return;
75
+ }
53
76
  this.ws.addEventListener("open", () => {
77
+ console.log("[SignalingClient] WebSocket connected successfully");
78
+ this.reconnectAttempts = 0; // Reset on successful connection
54
79
  this.emitter.emit("open", undefined);
55
80
  this.flushQueue();
56
81
  });
@@ -90,10 +115,12 @@ export class SignalingClient {
90
115
  }
91
116
  });
92
117
  this.ws.addEventListener("close", (event) => {
118
+ console.log("[SignalingClient] WebSocket closed:", event.code, event.reason);
93
119
  this.emitter.emit("close", event);
94
120
  this.scheduleReconnect();
95
121
  });
96
- this.ws.addEventListener("error", () => {
122
+ this.ws.addEventListener("error", (evt) => {
123
+ console.error("[SignalingClient] WebSocket error:", evt);
97
124
  this.emitter.emit("error", new Error("WebSocket error"));
98
125
  });
99
126
  }
@@ -138,7 +165,16 @@ export class SignalingClient {
138
165
  scheduleReconnect() {
139
166
  if (!this.shouldReconnect)
140
167
  return;
141
- const delay = this.options.reconnectDelayMs ?? 1000;
168
+ this.reconnectAttempts++;
169
+ if (this.reconnectAttempts > this.maxReconnectAttempts) {
170
+ console.warn(`[SignalingClient] Max reconnection attempts (${this.maxReconnectAttempts}) reached. Giving up.`);
171
+ this.emitter.emit("error", new Error(`Failed to connect after ${this.maxReconnectAttempts} attempts`));
172
+ return;
173
+ }
174
+ // Exponential backoff: 1s, 2s, 4s, 8s, ... up to 30s
175
+ const baseDelay = this.options.reconnectDelayMs ?? 1000;
176
+ const delay = Math.min(baseDelay * Math.pow(2, this.reconnectAttempts - 1), 30000);
177
+ console.log(`[SignalingClient] Reconnecting in ${delay}ms (attempt ${this.reconnectAttempts}/${this.maxReconnectAttempts})`);
142
178
  if (this.reconnectTimeout)
143
179
  clearTimeout(this.reconnectTimeout);
144
180
  this.reconnectTimeout = setTimeout(() => this.connect(), delay);
@@ -1 +1 @@
1
- {"version":3,"file":"SignalingClient.js","sourceRoot":"","sources":["../../src/signaling/SignalingClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SignalingClient.js","sourceRoot":"","sources":["../../src/signaling/SignalingClient.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@conference-kit/react",
3
- "version": "0.0.9",
3
+ "version": "0.0.11",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -200,7 +200,13 @@ export function useMeshRoom(options: UseMeshRoomOptions) {
200
200
  useEffect(() => {
201
201
  const handleOpen = () => setSignalingStatus("open");
202
202
  const handleClose = () => setSignalingStatus("closed");
203
- const handleError = (err: Error) => setError(err);
203
+ const handleError = (err: Error) => {
204
+ // Only set error if it's a new error message to prevent rapid re-renders
205
+ setError((prev) => {
206
+ if (prev?.message === err.message) return prev;
207
+ return err;
208
+ });
209
+ };
204
210
 
205
211
  signaling.on("open", handleOpen as any);
206
212
  signaling.on("close", handleClose as any);
@@ -371,20 +377,10 @@ export function useMeshRoom(options: UseMeshRoomOptions) {
371
377
  const activeSince = useRef<number>(0);
372
378
  const silenceSince = useRef<number>(0);
373
379
 
380
+ // Separate effect to manage analyzers based on participants
381
+ // This runs when participants change but doesn't recreate the interval
374
382
  useEffect(() => {
375
- if (!features.enableActiveSpeaker || signalingStatus !== "open") {
376
- setActiveSpeakerId(null);
377
- analyzers.current.forEach((entry) => {
378
- entry.source.disconnect();
379
- entry.analyser.disconnect();
380
- entry.ctx.close();
381
- });
382
- analyzers.current.clear();
383
- activeCandidate.current = null;
384
- activeSince.current = 0;
385
- silenceSince.current = 0;
386
- return;
387
- }
383
+ if (!features.enableActiveSpeaker || signalingStatus !== "open") return;
388
384
 
389
385
  const ensureAnalyzer = (id: string, stream: MediaStream) => {
390
386
  if (analyzers.current.has(id)) return;
@@ -400,7 +396,7 @@ export function useMeshRoom(options: UseMeshRoomOptions) {
400
396
  if (p.remoteStream) ensureAnalyzer(p.id, p.remoteStream);
401
397
  });
402
398
 
403
- const removedIds: string[] = [];
399
+ // Cleanup analyzers for participants no longer present
404
400
  analyzers.current.forEach((_value, id) => {
405
401
  const stillPresent = participants.find(
406
402
  (p) => p.id === id && p.remoteStream
@@ -411,9 +407,25 @@ export function useMeshRoom(options: UseMeshRoomOptions) {
411
407
  entry?.analyser.disconnect();
412
408
  entry?.ctx.close();
413
409
  analyzers.current.delete(id);
414
- removedIds.push(id);
415
410
  }
416
411
  });
412
+ }, [features.enableActiveSpeaker, participants, signalingStatus]);
413
+
414
+ // Separate effect for the interval - only depends on feature flag and signaling status
415
+ useEffect(() => {
416
+ if (!features.enableActiveSpeaker || signalingStatus !== "open") {
417
+ setActiveSpeakerId((prev) => (prev === null ? prev : null));
418
+ analyzers.current.forEach((entry) => {
419
+ entry.source.disconnect();
420
+ entry.analyser.disconnect();
421
+ entry.ctx.close();
422
+ });
423
+ analyzers.current.clear();
424
+ activeCandidate.current = null;
425
+ activeSince.current = 0;
426
+ silenceSince.current = 0;
427
+ return;
428
+ }
417
429
 
418
430
  const minHoldMs = 700;
419
431
  const minLevel = 18;
@@ -467,27 +479,50 @@ export function useMeshRoom(options: UseMeshRoomOptions) {
467
479
  activeSince.current = 0;
468
480
  silenceSince.current = 0;
469
481
  };
470
- }, [features.enableActiveSpeaker, participants, signalingStatus]);
482
+ }, [features.enableActiveSpeaker, signalingStatus]);
471
483
 
472
- return {
473
- localStream,
474
- ready,
475
- requesting,
476
- mediaError,
477
- participants,
478
- roster,
479
- waitingList,
480
- inWaitingRoom,
481
- activeSpeakerId,
482
- raisedHands,
483
- signalingStatus,
484
- admitPeer,
485
- rejectPeer,
486
- raiseHand,
487
- lowerHand,
488
- requestStream,
489
- stopStream,
490
- leave,
491
- error,
492
- } as const;
484
+ return useMemo(
485
+ () => ({
486
+ localStream,
487
+ ready,
488
+ requesting,
489
+ mediaError,
490
+ participants,
491
+ roster,
492
+ waitingList,
493
+ inWaitingRoom,
494
+ activeSpeakerId,
495
+ raisedHands,
496
+ signalingStatus,
497
+ admitPeer,
498
+ rejectPeer,
499
+ raiseHand,
500
+ lowerHand,
501
+ requestStream,
502
+ stopStream,
503
+ leave,
504
+ error,
505
+ }),
506
+ [
507
+ localStream,
508
+ ready,
509
+ requesting,
510
+ mediaError,
511
+ participants,
512
+ roster,
513
+ waitingList,
514
+ inWaitingRoom,
515
+ activeSpeakerId,
516
+ raisedHands,
517
+ signalingStatus,
518
+ admitPeer,
519
+ rejectPeer,
520
+ raiseHand,
521
+ lowerHand,
522
+ requestStream,
523
+ stopStream,
524
+ leave,
525
+ error,
526
+ ]
527
+ );
493
528
  }
@@ -84,6 +84,8 @@ export class SignalingClient {
84
84
  private reconnectTimeout: ReturnType<typeof setTimeout> | null = null;
85
85
  private shouldReconnect: boolean;
86
86
  private pendingQueue: OutgoingMessage[] = [];
87
+ private reconnectAttempts = 0;
88
+ private maxReconnectAttempts = 10;
87
89
 
88
90
  constructor(options: SignalingClientOptions) {
89
91
  this.options = options;
@@ -101,14 +103,38 @@ export class SignalingClient {
101
103
  }
102
104
 
103
105
  const { url, peerId, room, isHost, enableWaitingRoom } = this.options;
106
+
107
+ // Normalize URL: convert http(s):// to ws(s)://
108
+ let normalizedUrl = url.trim();
109
+ if (normalizedUrl.startsWith("https://")) {
110
+ normalizedUrl = "wss://" + normalizedUrl.slice(8);
111
+ } else if (normalizedUrl.startsWith("http://")) {
112
+ normalizedUrl = "ws://" + normalizedUrl.slice(7);
113
+ } else if (
114
+ !normalizedUrl.startsWith("ws://") &&
115
+ !normalizedUrl.startsWith("wss://")
116
+ ) {
117
+ // If no protocol, assume ws://
118
+ normalizedUrl = "ws://" + normalizedUrl;
119
+ }
120
+
104
121
  const params = new URLSearchParams({ peerId });
105
122
  if (room) params.set("room", room);
106
123
  if (isHost) params.set("host", "1");
107
124
  if (enableWaitingRoom) params.set("waitingRoom", "1");
108
- const wsUrl = `${url}?${params.toString()}`;
109
- this.ws = new WebSocket(wsUrl);
125
+ const wsUrl = `${normalizedUrl}?${params.toString()}`;
126
+ console.log("[SignalingClient] Connecting to:", wsUrl);
127
+ try {
128
+ this.ws = new WebSocket(wsUrl);
129
+ } catch (err) {
130
+ console.error("[SignalingClient] Failed to create WebSocket:", err);
131
+ this.emitter.emit("error", err as Error);
132
+ return;
133
+ }
110
134
 
111
135
  this.ws.addEventListener("open", () => {
136
+ console.log("[SignalingClient] WebSocket connected successfully");
137
+ this.reconnectAttempts = 0; // Reset on successful connection
112
138
  this.emitter.emit("open", undefined as void);
113
139
  this.flushQueue();
114
140
  });
@@ -146,11 +172,17 @@ export class SignalingClient {
146
172
  });
147
173
 
148
174
  this.ws.addEventListener("close", (event) => {
175
+ console.log(
176
+ "[SignalingClient] WebSocket closed:",
177
+ event.code,
178
+ event.reason
179
+ );
149
180
  this.emitter.emit("close", event);
150
181
  this.scheduleReconnect();
151
182
  });
152
183
 
153
- this.ws.addEventListener("error", () => {
184
+ this.ws.addEventListener("error", (evt) => {
185
+ console.error("[SignalingClient] WebSocket error:", evt);
154
186
  this.emitter.emit("error", new Error("WebSocket error"));
155
187
  });
156
188
  }
@@ -200,7 +232,31 @@ export class SignalingClient {
200
232
 
201
233
  private scheduleReconnect() {
202
234
  if (!this.shouldReconnect) return;
203
- const delay = this.options.reconnectDelayMs ?? 1000;
235
+
236
+ this.reconnectAttempts++;
237
+ if (this.reconnectAttempts > this.maxReconnectAttempts) {
238
+ console.warn(
239
+ `[SignalingClient] Max reconnection attempts (${this.maxReconnectAttempts}) reached. Giving up.`
240
+ );
241
+ this.emitter.emit(
242
+ "error",
243
+ new Error(
244
+ `Failed to connect after ${this.maxReconnectAttempts} attempts`
245
+ )
246
+ );
247
+ return;
248
+ }
249
+
250
+ // Exponential backoff: 1s, 2s, 4s, 8s, ... up to 30s
251
+ const baseDelay = this.options.reconnectDelayMs ?? 1000;
252
+ const delay = Math.min(
253
+ baseDelay * Math.pow(2, this.reconnectAttempts - 1),
254
+ 30000
255
+ );
256
+ console.log(
257
+ `[SignalingClient] Reconnecting in ${delay}ms (attempt ${this.reconnectAttempts}/${this.maxReconnectAttempts})`
258
+ );
259
+
204
260
  if (this.reconnectTimeout) clearTimeout(this.reconnectTimeout);
205
261
  this.reconnectTimeout = setTimeout(() => this.connect(), delay);
206
262
  }