@tribe-nest/media-client 0.1.0 → 0.1.1

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.
package/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # @tribe-nest/media-client
2
2
 
3
- The client SDK for the media network. This is **P3a: the headless core only.**
3
+ The client SDK for the media network: the headless core (P3a), the room API
4
+ over `mediasoup-client`, and the React hooks (P3b).
4
5
 
5
6
  ```
6
7
  src/core/ the ./core subpath. ISOMORPHIC: no DOM, no mediasoup-client,
@@ -11,9 +12,23 @@ src/core/ the ./core subpath. ISOMORPHIC: no DOM, no mediasoup-client,
11
12
  state.ts a pure reducer: peers, producers, active speakers, recording
12
13
  socket.ts the WebSocketLike shape and the injected factory
13
14
 
14
- src/protocol.ts a re-export of @tribe-nest/media-protocol. Nothing added.
15
+ src/room/ the `.` export. `MediaRoom` over mediasoup-client: the device,
16
+ one transport per direction, publish/subscribe, the reconnect
17
+ ladder driven by `decideReconnect`, and the derived room state.
18
+ src/react/ the ./react subpath. `MediaRoomProvider` and the hooks Forge's
19
+ `CallStage` is built on.
20
+ src/protocol.ts the ./protocol subpath: a re-export of @tribe-nest/media-protocol.
15
21
  ```
16
22
 
23
+ `package.json` carries top-level `main`/`types` pointing at the `.` build as
24
+ well as the `exports` map, for tooling that reads only the former.
25
+
26
+ `mediasoup-client` is a hard dependency because the `.` and `./react` subpaths
27
+ need it and `@tribe-nest/forge` depends on this package unconditionally. A
28
+ core-only consumer (the load harness, the egress client, the SIP gateway) still
29
+ installs it but never loads it: nothing reachable from `./core` imports it, and
30
+ `src/core/_tests/coreBoundary.spec.ts` is what holds that line.
31
+
17
32
  ## Why `./core` is not a browser SDK
18
33
 
19
34
  The load harness, the egress client and the SIP gateway all need a protocol
@@ -22,8 +37,9 @@ hand-rolls a socket, and three hand-rolled clients drift from each other and
22
37
  from the node. `src/core/_tests/coreBoundary.spec.ts` and the DOM-free `lib` in
23
38
  `tsconfig.json` are what hold the line.
24
39
 
25
- The room API, `mediasoup-client`, and the React and Forge wrappers are **P3b**
26
- and land at other subpaths. There is deliberately no `.` export yet.
40
+ The room API and `mediasoup-client` live at `.`, the React hooks at `./react`,
41
+ and Forge's call UI at `@tribe-nest/forge/media`. None of them is reachable from
42
+ `./core`.
27
43
 
28
44
  ## The three things the core owns
29
45
 
@@ -79,8 +79,14 @@ export declare function decideReconnect(input: {
79
79
  *
80
80
  * Deliberately knows nothing about sockets: `attempt` returns whatever a
81
81
  * session is and `waitForClose` resolves with why it ended. That is what makes
82
- * the whole loop testable with no server, and it is the same loop the room API
83
- * (P3b) should use rather than deriving a second one.
82
+ * the whole loop testable with no server.
83
+ *
84
+ * Who uses it: headless callers with nothing else to do between attempts (the
85
+ * load harness, an egress leg, the SIP gateway). `room/room.ts` does NOT: the
86
+ * room needs a retry it can cancel from `close()`, and has to publish whether
87
+ * one is booked (`isRecovering`) between attempts, so it holds its own timer
88
+ * and calls `decideReconnect` directly. Both drivers share the ONE policy in
89
+ * `decideReconnect`; neither restates it.
84
90
  */
85
91
  export declare function superviseConnection<TSession>(input: {
86
92
  attempt: () => Promise<TSession>;
@@ -1 +1 @@
1
- {"version":3,"file":"reconnect.d.ts","sourceRoot":"","sources":["../../src/core/reconnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhE;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,wBAAwB,EAAE,MAAM,CAAC;IACjC,MAAM,EAAE,MAAM,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,gBAQvC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAWzF;AAED,MAAM,MAAM,UAAU,GAClB,eAAe,GACf,aAAa,GACb,SAAS,GACT,oBAAoB,CAAC;AAEzB,MAAM,MAAM,iBAAiB,GACzB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,CAAC,EAAE,cAAc,CAAA;CAAE,GAC7D;IACE,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,WAAW,EAAE,IAAI,CAAC;CACnB,CAAC;AAsCN,uFAAuF;AACvF,eAAO,MAAM,sBAAsB;;;;CAIzB,CAAC;AAEX,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,WAAW,GAAG,YAAY,GAAG,UAAU,CAO1F;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,KAAK,EAAE,eAAe,CAAC;IACvB,uFAAuF;IACvF,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACrC,GAAG,iBAAiB,CAwBpB;AAmBD;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,KAAK,EAAE;IACzD,OAAO,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjC,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9D,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC1C,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC3E,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACrC,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAwB1D"}
1
+ {"version":3,"file":"reconnect.d.ts","sourceRoot":"","sources":["../../src/core/reconnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhE;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,wBAAwB,EAAE,MAAM,CAAC;IACjC,MAAM,EAAE,MAAM,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,gBAQvC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAWzF;AAED,MAAM,MAAM,UAAU,GAClB,eAAe,GACf,aAAa,GACb,SAAS,GACT,oBAAoB,CAAC;AAEzB,MAAM,MAAM,iBAAiB,GACzB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,CAAC,EAAE,cAAc,CAAA;CAAE,GAC7D;IACE,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,WAAW,EAAE,IAAI,CAAC;CACnB,CAAC;AAsCN,uFAAuF;AACvF,eAAO,MAAM,sBAAsB;;;;CAIzB,CAAC;AAEX,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,WAAW,GAAG,YAAY,GAAG,UAAU,CAO1F;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,KAAK,EAAE,eAAe,CAAC;IACvB,uFAAuF;IACvF,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACrC,GAAG,iBAAiB,CAwBpB;AAmBD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,KAAK,EAAE;IACzD,OAAO,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjC,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9D,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC1C,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC3E,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACrC,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAwB1D"}
@@ -130,8 +130,14 @@ function delayFor(cause, attempt, o) {
130
130
  *
131
131
  * Deliberately knows nothing about sockets: `attempt` returns whatever a
132
132
  * session is and `waitForClose` resolves with why it ended. That is what makes
133
- * the whole loop testable with no server, and it is the same loop the room API
134
- * (P3b) should use rather than deriving a second one.
133
+ * the whole loop testable with no server.
134
+ *
135
+ * Who uses it: headless callers with nothing else to do between attempts (the
136
+ * load harness, an egress leg, the SIP gateway). `room/room.ts` does NOT: the
137
+ * room needs a retry it can cancel from `close()`, and has to publish whether
138
+ * one is booked (`isRecovering`) between attempts, so it holds its own timer
139
+ * and calls `decideReconnect` directly. Both drivers share the ONE policy in
140
+ * `decideReconnect`; neither restates it.
135
141
  */
136
142
  async function superviseConnection(input) {
137
143
  const sleep = input.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
@@ -1 +1 @@
1
- {"version":3,"file":"reconnect.js","sourceRoot":"","sources":["../../src/core/reconnect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reconnect.js","sourceRoot":"","sources":["../../src/core/reconnect.ts"],"names":[],"mappings":"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"}
@@ -151,7 +151,16 @@ export declare class MediaSignal {
151
151
  * A leave that hangs must not stop a user closing a tab.
152
152
  */
153
153
  leave(): Promise<void>;
154
- /** Closes the socket. Idempotent. */
154
+ /**
155
+ * Closes the socket. Idempotent.
156
+ *
157
+ * A close the CLIENT asked for is the cause, whatever the node had announced
158
+ * before it. `draining` is recorded the moment the frame arrives, seconds
159
+ * before the node actually hangs up, and a person who presses Leave inside
160
+ * that window has left: reporting the drain instead sent the room to
161
+ * "reconnecting" over a call somebody had deliberately ended, and the screen
162
+ * offered them a way back into it.
163
+ */
155
164
  close(): void;
156
165
  on<K extends EventName>(event: K, handler: (frame: Extract<EventFrame, {
157
166
  event: K;
@@ -1 +1 @@
1
- {"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["../../src/core/signal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["../../src/core/signal.ts"],"names":[],"mappings":"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"}
@@ -86,13 +86,34 @@ class MediaSignal {
86
86
  this.resetForConnect();
87
87
  const attempt = ++this.attempt;
88
88
  this.phaseValue = "connecting";
89
- const credentials = await this.options.getCredentials();
90
- // Fetching a ticket is a network round trip of its own, so this window is
91
- // seconds wide and a caller giving up inside it is ordinary. Every later
92
- // step has a socket and is cancelled by `handleClose`; this one is the only
93
- // part of a connect that a `close()` could not reach.
94
- this.assertAttemptIsCurrent(attempt);
95
- assertTokenNotInUrl(credentials.mediaUrl);
89
+ let credentials;
90
+ try {
91
+ credentials = await this.options.getCredentials();
92
+ // Fetching a ticket is a network round trip of its own, so this window is
93
+ // seconds wide and a caller giving up inside it is ordinary. Every later
94
+ // step has a socket and is cancelled by `handleClose`; this one is the
95
+ // only part of a connect that a `close()` could not reach.
96
+ this.assertAttemptIsCurrent(attempt);
97
+ assertTokenNotInUrl(credentials.mediaUrl);
98
+ }
99
+ catch (error) {
100
+ // No socket exists yet, so nothing is going to arrive and end this attempt
101
+ // for us: without this the phase stays `connecting` for ever, no close
102
+ // handler ever fires, and every later `connect()` is refused as "already
103
+ // connecting". A ticket endpoint answering 409 at the edge of the booking
104
+ // window was a spinner for the rest of the session. So a failed fetch is
105
+ // ended the way a failed handshake is: cause recorded, close handlers
106
+ // told, phase reset. Only when this attempt is still the live one,
107
+ // though. An attempt that `close()` or a second `connect()` overtook has
108
+ // already been ended by whichever did it, and must not close THEIR
109
+ // attempt on the way out.
110
+ if (attempt === this.attempt && this.phaseValue === "connecting") {
111
+ if (!this.terminalCause)
112
+ this.terminalCause = causeFromError(error);
113
+ this.closeSocket();
114
+ }
115
+ throw error;
116
+ }
96
117
  const factory = this.options.webSocket ?? socket_1.defaultWebSocketFactory;
97
118
  const socket = factory(credentials.mediaUrl);
98
119
  this.socket = socket;
@@ -156,10 +177,18 @@ class MediaSignal {
156
177
  }
157
178
  this.close();
158
179
  }
159
- /** Closes the socket. Idempotent. */
180
+ /**
181
+ * Closes the socket. Idempotent.
182
+ *
183
+ * A close the CLIENT asked for is the cause, whatever the node had announced
184
+ * before it. `draining` is recorded the moment the frame arrives, seconds
185
+ * before the node actually hangs up, and a person who presses Leave inside
186
+ * that window has left: reporting the drain instead sent the room to
187
+ * "reconnecting" over a call somebody had deliberately ended, and the screen
188
+ * offered them a way back into it.
189
+ */
160
190
  close() {
161
- if (!this.terminalCause)
162
- this.terminalCause = { type: "closed_by_client" };
191
+ this.terminalCause = { type: "closed_by_client" };
163
192
  this.closeSocket();
164
193
  }
165
194
  on(event, handler) {
@@ -1 +1 @@
1
- {"version":3,"file":"signal.js","sourceRoot":"","sources":["../../src/core/signal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signal.js","sourceRoot":"","sources":["../../src/core/signal.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,UAAU,EAAoB,KAAK,IAAI,EAAE,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE5H;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpC,iDAAiD;IACjD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,gEAAgE;IAChE,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IACvB;;;;OAIG;IACH,SAAS,EAAE,SAAS,aAAa,EAAE,CAAC;IACpC,gEAAgE;IAChE,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,8EAA8E;IAC9E,SAAS,EAAE,OAAO,CAAC;IACnB,sDAAsD;IACtD,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,uDAAuD;IACvD,QAAQ,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,SAW9B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,GAAG,SAAS,CAkH9E;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,CAE7F;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAE5F;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,aAAa,EAAE,CAExF;AAED,wFAAwF;AACxF,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,aAAa,EAAE,CAO1E;AAYD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,aAAa,EAAE,CAE3E"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,UAAU,EAEf,KAAK,IAAI,EACT,KAAK,aAAa,EACnB,MAAM,4BAA4B,CAAC;AAEpC;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpC,iDAAiD;IACjD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,gEAAgE;IAChE,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IACvB;;;;OAIG;IACH,SAAS,EAAE,SAAS,aAAa,EAAE,CAAC;IACpC,gEAAgE;IAChE,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,8EAA8E;IAC9E,SAAS,EAAE,OAAO,CAAC;IACnB,sDAAsD;IACtD,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,uDAAuD;IACvD,QAAQ,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,SAW9B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,GAAG,SAAS,CA6H9E;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,CAE7F;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAE5F;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,aAAa,EAAE,CAExF;AAED,wFAAwF;AACxF,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,aAAa,EAAE,CAO1E;AAYD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,aAAa,EAAE,CAE3E"}
@@ -28,22 +28,33 @@ exports.initialRoomState = {
28
28
  */
29
29
  function reduceRoomState(state, frame) {
30
30
  switch (frame.event) {
31
- case "joined":
31
+ case "joined": {
32
32
  // A wholesale replace, not a merge. `joined` also arrives after a
33
33
  // reconnect, and merging would leave peers who left while we were away
34
34
  // on screen for the rest of the call.
35
+ //
36
+ // The active set is the ONE field carried across, pruned to the producers
37
+ // this snapshot names. The contract fixes no order between `joined` and
38
+ // the node's first `activeSpeakers` broadcast, so a set that lands first
39
+ // is the node's current instruction, not a stale one, and resetting it
40
+ // here left a client that had been told what to consume consuming
41
+ // nothing until the next speaker change. A set left over from a PREVIOUS
42
+ // connection is not this reducer's to recognise (a rejoin and a first
43
+ // join look the same from here); the room clears it on disconnect.
44
+ const producers = frame.producers.map((p) => ({ ...p, paused: false }));
35
45
  return {
36
46
  phase: "joined",
37
47
  identity: frame.identity,
38
48
  room: frame.room,
39
49
  peers: frame.peers,
40
- producers: frame.producers.map((p) => ({ ...p, paused: false })),
41
- activeSpeakers: [],
50
+ producers,
51
+ activeSpeakers: pruneSpeakers(state.activeSpeakers, producers),
42
52
  recording: frame.recording,
43
53
  subscribeRule: null,
44
54
  draining: null,
45
55
  closedReason: null,
46
56
  };
57
+ }
47
58
  case "peerJoined": {
48
59
  const without = state.peers.filter((p) => p.identity !== frame.peer.identity);
49
60
  return { ...state, peers: [...without, frame.peer] };
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type ReactNode } from "react";
2
2
  import type { MediaGrants, Peer } from "@tribe-nest/media-protocol";
3
- import { MediaRoom, type ConnectionState, type LocalPublication, type MediaRoomOptions, type MediaTrack } from "../room/room";
3
+ import { MediaRoom, type ConnectionState, type LocalPublication, type LocalPublicationSource, type MediaRoomOptions, type MediaTrack } from "../room/room";
4
4
  import type { DisconnectCause, ProducerEntry, RoomState } from "../core";
5
5
  /**
6
6
  * The React surface.
@@ -115,15 +115,36 @@ export declare function useRemoteTrack(producerId: string): {
115
115
  track: MediaTrack | undefined;
116
116
  attach: (element: HTMLMediaElement | null) => void;
117
117
  };
118
- export type LocalSource = "camera" | "microphone" | "screen";
118
+ export type LocalSource = LocalPublicationSource;
119
119
  export type LocalMediaControls = {
120
120
  publishCamera: () => Promise<void>;
121
121
  publishMicrophone: () => Promise<void>;
122
122
  publishScreen: () => Promise<void>;
123
123
  unpublish: (source: LocalSource) => Promise<void>;
124
+ /**
125
+ * Mute or unmute a source that is already published, keeping its capture.
126
+ *
127
+ * What a Mute button and a camera-off button call. NOT `unpublish` and a
128
+ * later re-publish: that path starts with `getUserMedia` again, and Safari
129
+ * puts a permission prompt in front of every call to it, so a toggle built
130
+ * that way asked permission on every unmute. No-op for a source that is not
131
+ * published.
132
+ */
133
+ setPaused: (source: LocalSource, paused: boolean) => Promise<void>;
134
+ /** Published, whether or not currently paused. */
124
135
  isCameraEnabled: boolean;
125
136
  isMicrophoneEnabled: boolean;
126
137
  screenSharing: boolean;
138
+ /** Published AND paused at the source: muted, camera off. */
139
+ paused: Record<LocalSource, boolean>;
140
+ /**
141
+ * What the person was sending when the connection dropped, and is not now.
142
+ *
143
+ * A drop stops every local capture (the camera light goes out, on purpose)
144
+ * and the SDK does not turn it back on by itself. This is what a screen tells
145
+ * the person so they press the button. Cleared per source on republish.
146
+ */
147
+ lostSources: readonly LocalSource[];
127
148
  /**
128
149
  * A capture or a publish is in flight for this source.
129
150
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAGpE,OAAO,EACL,SAAS,EACT,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzE;;;;;;;;;;;;;;;;;;GAkBG;AAEH,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;IACjC,KAAK,EAAE,eAAe,GAAG,SAAS,CAAC;IACnC;;;;;;;OAOG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAIF,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GACnE,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,GAAG;IAC1C,QAAQ,EAAE,SAAS,CAAC;IACpB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEJ,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,EAAE,sBAAsB,GAAG,SAAS,CAsD/G;AAQD,wBAAgB,YAAY,IAAI,qBAAqB,CAEpD;AAiCD,wBAAgB,YAAY,IAAI,SAAS,CAExC;AAED,wBAAgB,eAAe,IAAI,SAAS,IAAI,EAAE,CAEjD;AAED,wBAAgB,iBAAiB,IAAI,SAAS,MAAM,EAAE,CAErD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,aAAa,EAAE,CAG9D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,IAAI,SAAS,gBAAgB,EAAE,CAElE;AAED;uEACuE;AACvE,wBAAgB,SAAS,IAAI,WAAW,GAAG,SAAS,CAGnD;AAED,sEAAsE;AACtE,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG;IAClD,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC;IAC9B,MAAM,EAAE,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,CAAC;CACpD,CAaA;AAED,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE7D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,eAAe,EAAE,OAAO,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB;;;;;;;OAOG;IACH,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACtC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;CAC1B,CAAC;AAIF;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,kBAAkB,CAkHlD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.tsx"],"names":[],"mappings":"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"}
@@ -187,6 +187,8 @@ function useRemoteTrack(producerId) {
187
187
  return { track, attach };
188
188
  }
189
189
  const NOTHING_PENDING = { camera: false, microphone: false, screen: false };
190
+ const NOTHING_PAUSED = NOTHING_PENDING;
191
+ const selectLostSources = (room) => room.lostPublicationSources;
190
192
  /**
191
193
  * Capture and publish.
192
194
  *
@@ -199,7 +201,18 @@ function useLocalMedia() {
199
201
  const [error, setError] = (0, react_1.useState)(undefined);
200
202
  const [pending, setPending] = (0, react_1.useState)(NOTHING_PENDING);
201
203
  const publications = useRoomSnapshot(selectPublications, EMPTY_PUBLICATIONS);
204
+ const lostSources = useRoomSnapshot(selectLostSources, EMPTY_SOURCES);
202
205
  const has = (source) => publications.some((p) => p.source === source);
206
+ // Rebuilt only when the publications snapshot moves, which is the only time
207
+ // a pause flag can have changed.
208
+ const paused = (0, react_1.useMemo)(() => {
209
+ const isPaused = (source) => {
210
+ const mine = publications.filter((p) => p.source === source);
211
+ return mine.length > 0 && mine.every((p) => p.paused);
212
+ };
213
+ const next = { camera: isPaused("camera"), microphone: isPaused("microphone"), screen: isPaused("screen") };
214
+ return next.camera || next.microphone || next.screen ? next : NOTHING_PAUSED;
215
+ }, [publications]);
203
216
  /**
204
217
  * One operation per source at a time, held in a REF.
205
218
  *
@@ -288,14 +301,26 @@ function useLocalMedia() {
288
301
  await room.unpublish(publication.producerId);
289
302
  }
290
303
  }), [room, exclusively]);
304
+ // Under the same lock, for the same reason: a mute pressed while the publish
305
+ // it is muting is still capturing would find nothing to pause.
306
+ const setPaused = (0, react_1.useCallback)(async (source, value) => exclusively(source, async () => {
307
+ if (!room)
308
+ return;
309
+ for (const publication of room.localPublications.filter((p) => p.source === source)) {
310
+ await room.setPaused(publication.producerId, value);
311
+ }
312
+ }), [room, exclusively]);
291
313
  return {
292
314
  publishCamera: (0, react_1.useCallback)(() => publish("camera"), [publish]),
293
315
  publishMicrophone: (0, react_1.useCallback)(() => publish("microphone"), [publish]),
294
316
  publishScreen: (0, react_1.useCallback)(() => publish("screen"), [publish]),
295
317
  unpublish,
318
+ setPaused,
296
319
  isCameraEnabled: has("camera"),
297
320
  isMicrophoneEnabled: has("microphone"),
298
321
  screenSharing: has("screen"),
322
+ paused,
323
+ lostSources,
299
324
  pending,
300
325
  error,
301
326
  };
@@ -304,6 +329,7 @@ function useLocalMedia() {
304
329
  * `useSyncExternalStore` a new array on every read and loop it. */
305
330
  const EMPTY_TRACKS = [];
306
331
  const EMPTY_PUBLICATIONS = [];
332
+ const EMPTY_SOURCES = [];
307
333
  const EMPTY_STATE = {
308
334
  phase: "idle",
309
335
  identity: null,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.tsx"],"names":[],"mappings":"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"}