@fishjam-cloud/react-client 0.8.0 → 0.9.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"useDeviceManager.d.ts","sourceRoot":"","sources":["../../../src/hooks/deviceManagers/useDeviceManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAuB,MAAM,qBAAqB,CAAC;AAe9E,eAAO,MAAM,gBAAgB,kBAAmB,aAAa,uBAmC5D,CAAC"}
1
+ {"version":3,"file":"useDeviceManager.d.ts","sourceRoot":"","sources":["../../../src/hooks/deviceManagers/useDeviceManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAuB,MAAM,qBAAqB,CAAC;AAe9E,eAAO,MAAM,gBAAgB,kBAAmB,aAAa,uBAoC5D,CAAC"}
@@ -29,6 +29,7 @@ export const useDeviceManager = (deviceManager) => {
29
29
  lastSnapshotRef.current = {
30
30
  deviceState: deviceManager.getState(),
31
31
  status: deviceManager.getStatus(),
32
+ type: deviceManager.getDeviceType(),
32
33
  };
33
34
  mutationRef.current = false;
34
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useCamera.d.ts","sourceRoot":"","sources":["../../../src/hooks/devices/useCamera.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAIjD;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,CA+BlC"}
1
+ {"version":3,"file":"useCamera.d.ts","sourceRoot":"","sources":["../../../src/hooks/devices/useCamera.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAIjD;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAIlC"}
@@ -1,35 +1,10 @@
1
- import { useDeviceManager } from "../deviceManagers/useDeviceManager";
2
1
  import { useFishjamContext } from "../useFishjamContext";
2
+ import { useDeviceApi } from "./useDeviceApi";
3
3
  /**
4
4
  *
5
5
  * @category Devices
6
6
  */
7
7
  export function useCamera() {
8
8
  const { videoTrackManager, videoDeviceManagerRef } = useFishjamContext();
9
- const { deviceState, status } = useDeviceManager(videoDeviceManagerRef.current);
10
- const { currentTrack, ...trackManager } = videoTrackManager;
11
- const stream = deviceState.media?.stream ?? null;
12
- const currentMiddleware = deviceState.currentMiddleware ?? null;
13
- const isStreaming = Boolean(currentTrack?.stream);
14
- const track = stream?.getAudioTracks()[0] ?? null;
15
- const trackId = currentTrack?.trackId ?? null;
16
- const devices = deviceState.devices ?? [];
17
- const activeDevice = deviceState.media?.deviceInfo ?? null;
18
- const isMuted = !deviceState.media?.enabled;
19
- const deviceError = deviceState.error ?? null;
20
- const isDeviceEnabled = Boolean(deviceState.media);
21
- return {
22
- ...trackManager,
23
- currentMiddleware,
24
- status,
25
- stream,
26
- track,
27
- devices,
28
- activeDevice,
29
- deviceError,
30
- isMuted,
31
- isStreaming,
32
- trackId,
33
- isDeviceEnabled,
34
- };
9
+ return useDeviceApi({ trackManager: videoTrackManager, deviceManager: videoDeviceManagerRef.current });
35
10
  }
@@ -0,0 +1,10 @@
1
+ import type { TrackManager } from "../../types/internal";
2
+ import type { Device } from "../../types/public";
3
+ import type { DeviceManager } from "../../DeviceManager";
4
+ type DeviceApiDependencies = {
5
+ trackManager: TrackManager;
6
+ deviceManager: DeviceManager;
7
+ };
8
+ export declare const useDeviceApi: ({ trackManager, deviceManager }: DeviceApiDependencies) => Device;
9
+ export {};
10
+ //# sourceMappingURL=useDeviceApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDeviceApi.d.ts","sourceRoot":"","sources":["../../../src/hooks/devices/useDeviceApi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,KAAK,qBAAqB,GAAG;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,YAAY,oCAAqC,qBAAqB,KAAG,MAkCrF,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { useMemo } from "react";
2
+ import { useDeviceManager } from "../deviceManagers/useDeviceManager";
3
+ export const useDeviceApi = ({ trackManager, deviceManager }) => {
4
+ const { deviceState, status, type } = useDeviceManager(deviceManager);
5
+ const { currentTrack } = trackManager;
6
+ const stream = useMemo(() => deviceState.media?.stream ?? null, [deviceState.media?.stream]);
7
+ const currentMiddleware = deviceState.currentMiddleware ?? null;
8
+ const isStreaming = Boolean(currentTrack?.stream && !trackManager.paused);
9
+ const track = useMemo(() => {
10
+ if (type === "video")
11
+ return stream?.getVideoTracks()[0] ?? null;
12
+ return stream?.getAudioTracks()[0] ?? null;
13
+ }, [stream, type]);
14
+ const trackId = currentTrack?.trackId ?? null;
15
+ const devices = useMemo(() => deviceState.devices ?? [], [deviceState.devices]);
16
+ const activeDevice = deviceState.media?.deviceInfo ?? null;
17
+ const isMuted = !deviceState.media?.enabled;
18
+ const deviceError = deviceState.error ?? null;
19
+ const isDeviceEnabled = Boolean(deviceState.media);
20
+ return {
21
+ ...trackManager,
22
+ currentMiddleware,
23
+ status,
24
+ stream,
25
+ devices,
26
+ activeDevice,
27
+ isStreaming,
28
+ track,
29
+ trackId,
30
+ isMuted,
31
+ deviceError,
32
+ isDeviceEnabled,
33
+ };
34
+ };
@@ -1,7 +1,7 @@
1
- import type { AudioDevice } from "../../types/public";
1
+ import type { Device } from "../../types/public";
2
2
  /**
3
3
  *
4
4
  * @category Devices
5
5
  */
6
- export declare function useMicrophone(): AudioDevice;
6
+ export declare function useMicrophone(): Device;
7
7
  //# sourceMappingURL=useMicrophone.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMicrophone.d.ts","sourceRoot":"","sources":["../../../src/hooks/devices/useMicrophone.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD;;;GAGG;AACH,wBAAgB,aAAa,IAAI,WAAW,CAiC3C"}
1
+ {"version":3,"file":"useMicrophone.d.ts","sourceRoot":"","sources":["../../../src/hooks/devices/useMicrophone.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAIjD;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAItC"}
@@ -1,37 +1,10 @@
1
- import { useDeviceManager } from "../deviceManagers/useDeviceManager";
2
1
  import { useFishjamContext } from "../useFishjamContext";
2
+ import { useDeviceApi } from "./useDeviceApi";
3
3
  /**
4
4
  *
5
5
  * @category Devices
6
6
  */
7
7
  export function useMicrophone() {
8
8
  const { audioTrackManager, audioDeviceManagerRef } = useFishjamContext();
9
- const { deviceState, status } = useDeviceManager(audioDeviceManagerRef.current);
10
- const { currentTrack, ...trackManager } = audioTrackManager;
11
- const stream = deviceState.media?.stream ?? null;
12
- const currentMiddleware = deviceState.currentMiddleware ?? null;
13
- const isStreaming = Boolean(currentTrack?.stream);
14
- const track = stream?.getAudioTracks()[0] ?? null;
15
- const trackId = currentTrack?.trackId ?? null;
16
- const devices = deviceState.devices ?? [];
17
- const activeDevice = deviceState.media?.deviceInfo ?? null;
18
- const isAudioPlaying = currentTrack?.vadStatus === "speech";
19
- const isMuted = !deviceState.media?.enabled;
20
- const deviceError = deviceState.error ?? null;
21
- const isDeviceEnabled = Boolean(deviceState.media);
22
- return {
23
- ...trackManager,
24
- currentMiddleware,
25
- isDeviceEnabled,
26
- status,
27
- stream,
28
- track,
29
- isStreaming,
30
- trackId,
31
- devices,
32
- activeDevice,
33
- isMuted,
34
- deviceError,
35
- isAudioPlaying,
36
- };
9
+ return useDeviceApi({ trackManager: audioTrackManager, deviceManager: audioDeviceManagerRef.current });
37
10
  }
@@ -6,4 +6,5 @@ export { useInitializeDevices } from "./devices/useInitializeDevices";
6
6
  export { usePeers } from "./usePeers";
7
7
  export { useScreenShare } from "./useScreenShare";
8
8
  export { useStatus } from "./useStatus";
9
+ export { useVAD } from "./useVAD";
9
10
  //# sourceMappingURL=public.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/hooks/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/hooks/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
@@ -6,3 +6,4 @@ export { useInitializeDevices } from "./devices/useInitializeDevices";
6
6
  export { usePeers } from "./usePeers";
7
7
  export { useScreenShare } from "./useScreenShare";
8
8
  export { useStatus } from "./useStatus";
9
+ export { useVAD } from "./useVAD";
@@ -1,9 +1,9 @@
1
- import type { FishjamClient } from "@fishjam-cloud/ts-client";
2
- import type { PeerMetadata, PeerState, TrackMetadata } from "../types/internal";
1
+ import type { Component, Endpoint, Peer, FishjamClient } from "@fishjam-cloud/ts-client";
2
+ import type { PeerId, PeerMetadata, TrackMetadata } from "../types/internal";
3
3
  export interface FishjamClientState {
4
- peers: PeerState[];
5
- components: PeerState[];
6
- localPeer: PeerState | null;
4
+ peers: Record<PeerId, Peer<PeerMetadata, TrackMetadata>>;
5
+ components: Record<string, Component<PeerMetadata, TrackMetadata>>;
6
+ localPeer: Endpoint<PeerMetadata, TrackMetadata> | null;
7
7
  isReconnecting: boolean;
8
8
  }
9
9
  export declare function useFishjamClientState(fishjamClient: FishjamClient<PeerMetadata, TrackMetadata>): FishjamClientState;
@@ -1 +1 @@
1
- {"version":3,"file":"useFishjamClientState.d.ts","sourceRoot":"","sources":["../../src/hooks/useFishjamClientState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA0D,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACtH,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAW,aAAa,EAAE,MAAM,mBAAmB,CAAC;AA2CzF,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;CACzB;AAmCD,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,kBAAkB,CAyCnH"}
1
+ {"version":3,"file":"useFishjamClientState.d.ts","sourceRoot":"","sources":["../../src/hooks/useFishjamClientState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAiB,IAAI,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACxG,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AA0C7E,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;IACzD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;IACnE,SAAS,EAAE,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,IAAI,CAAC;IACxD,cAAc,EAAE,OAAO,CAAC;CACzB;AAMD,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,kBAAkB,CAwCnH"}
@@ -38,25 +38,6 @@ const eventNames = [
38
38
  "localTrackMetadataChanged",
39
39
  "disconnectRequested",
40
40
  ];
41
- function trackContextToTrack(track) {
42
- return {
43
- metadata: track.metadata,
44
- trackId: track.trackId,
45
- stream: track.stream,
46
- simulcastConfig: track.simulcastConfig ?? null,
47
- encoding: track.encoding ?? null,
48
- vadStatus: track.vadStatus,
49
- track: track.track,
50
- };
51
- }
52
- function endpointToPeerState(peer) {
53
- const tracks = [...peer.tracks].reduce((acc, [, track]) => ({ ...acc, [track.trackId]: trackContextToTrack(track) }), {});
54
- return {
55
- metadata: peer.metadata,
56
- id: peer.id,
57
- tracks,
58
- };
59
- }
60
41
  /*
61
42
  This is an internally used hook.
62
43
  It is not meant to be used by the end user.
@@ -77,10 +58,9 @@ export function useFishjamClientState(fishjamClient) {
77
58
  const lastSnapshotRef = useRef(null);
78
59
  const getSnapshot = useCallback(() => {
79
60
  if (mutationRef.current || lastSnapshotRef.current === null) {
80
- const peers = Object.values(client.getRemotePeers()).map(endpointToPeerState);
81
- const components = Object.values(client.getRemoteComponents()).map(endpointToPeerState);
82
- const localEndpoint = client.getLocalPeer();
83
- const localPeer = localEndpoint ? endpointToPeerState(localEndpoint) : null;
61
+ const peers = client.getRemotePeers();
62
+ const components = client.getRemoteComponents();
63
+ const localPeer = client.getLocalPeer();
84
64
  const isReconnecting = client.isReconnecting();
85
65
  lastSnapshotRef.current = {
86
66
  peers,
@@ -1,10 +1,27 @@
1
1
  import type { PeerWithTracks } from "../types/public";
2
2
  /**
3
- *
4
- * @category Connection
3
+ * Result type for the usePeers hook.
5
4
  */
6
- export declare function usePeers(): {
5
+ export type UsePeersResult = {
6
+ /**
7
+ * The local peer with distinguished tracks (camera, microphone, screen share).
8
+ * Will be null if the local peer is not found.
9
+ */
7
10
  localPeer: PeerWithTracks | null;
11
+ /**
12
+ * Array of remote peers with distinguished tracks (camera, microphone, screen share).
13
+ */
14
+ remotePeers: PeerWithTracks[];
15
+ /**
16
+ * @deprecated Use remotePeers instead
17
+ * Legacy array containing remote peers.
18
+ * This property will be removed in future versions.
19
+ */
8
20
  peers: PeerWithTracks[];
9
21
  };
22
+ /**
23
+ *
24
+ * @category Connection
25
+ */
26
+ export declare function usePeers(): UsePeersResult;
10
27
  //# sourceMappingURL=usePeers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePeers.d.ts","sourceRoot":"","sources":["../../src/hooks/usePeers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AActD;;;GAGG;AACH,wBAAgB,QAAQ;;;EAOvB"}
1
+ {"version":3,"file":"usePeers.d.ts","sourceRoot":"","sources":["../../src/hooks/usePeers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAS,MAAM,iBAAiB,CAAC;AA2C7D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;;OAGG;IACH,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IAEjC;;OAEG;IACH,WAAW,EAAE,cAAc,EAAE,CAAC;IAE9B;;;;OAIG;IACH,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,cAAc,CAYzC"}
@@ -7,13 +7,34 @@ function getPeerWithDistinguishedTracks(peerState) {
7
7
  const screenShareAudioTrack = peerTracks.find(({ metadata }) => metadata?.type === "screenShareAudio");
8
8
  return { ...peerState, cameraTrack, microphoneTrack, screenShareVideoTrack, screenShareAudioTrack };
9
9
  }
10
+ function trackContextToTrack(track) {
11
+ return {
12
+ metadata: track.metadata,
13
+ trackId: track.trackId,
14
+ stream: track.stream,
15
+ simulcastConfig: track.simulcastConfig ?? null,
16
+ encoding: track.encoding ?? null,
17
+ vadStatus: track.vadStatus,
18
+ track: track.track,
19
+ };
20
+ }
21
+ function endpointToPeerState(peer) {
22
+ const tracks = [...peer.tracks].reduce((acc, [, track]) => ({ ...acc, [track.trackId]: trackContextToTrack(track) }), {});
23
+ return {
24
+ metadata: peer.metadata,
25
+ id: peer.id,
26
+ tracks,
27
+ };
28
+ }
10
29
  /**
11
30
  *
12
31
  * @category Connection
13
32
  */
14
33
  export function usePeers() {
15
34
  const { clientState } = useFishjamContext();
16
- const localPeer = clientState.localPeer ? getPeerWithDistinguishedTracks(clientState.localPeer) : null;
17
- const peers = Object.values(clientState.peers).map(getPeerWithDistinguishedTracks);
18
- return { localPeer, peers };
35
+ const localPeer = clientState.localPeer
36
+ ? getPeerWithDistinguishedTracks(endpointToPeerState(clientState.localPeer))
37
+ : null;
38
+ const remotePeers = Object.values(clientState.peers).map((peer) => getPeerWithDistinguishedTracks(endpointToPeerState(peer)));
39
+ return { localPeer, remotePeers, peers: remotePeers };
19
40
  }
@@ -0,0 +1,3 @@
1
+ import type { PeerId } from "../types/internal";
2
+ export declare const useVAD: (peerIds: PeerId[]) => Record<PeerId, boolean>;
3
+ //# sourceMappingURL=useVAD.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVAD.d.ts","sourceRoot":"","sources":["../../src/hooks/useVAD.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAwC,MAAM,mBAAmB,CAAC;AAKtF,eAAO,MAAM,MAAM,YAAa,MAAM,EAAE,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CA6DhE,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { useEffect, useMemo, useState } from "react";
2
+ import { useFishjamContext } from "./useFishjamContext";
3
+ import { useFishjamClientState } from "./useFishjamClientState";
4
+ export const useVAD = (peerIds) => {
5
+ const { fishjamClientRef } = useFishjamContext();
6
+ const { peers } = useFishjamClientState(fishjamClientRef.current);
7
+ const micTracksWithSelectedPeerIds = useMemo(() => Object.values(peers)
8
+ .filter((peer) => peerIds.includes(peer.id))
9
+ .map((peer) => ({
10
+ peerId: peer.id,
11
+ microphoneTracks: Array.from(peer.tracks.values()).filter((track) => track.metadata?.type === "microphone"),
12
+ })), [peers, peerIds]);
13
+ const getDefaultVadStatuses = () => micTracksWithSelectedPeerIds.reduce((acc, peer) => ({
14
+ ...acc,
15
+ [peer.peerId]: peer.microphoneTracks.reduce((acc, track) => ({ ...acc, [track.trackId]: track.vadStatus }), {}),
16
+ }), {});
17
+ const [_vadStatuses, setVadStatuses] = useState(getDefaultVadStatuses);
18
+ useEffect(() => {
19
+ const unsubs = micTracksWithSelectedPeerIds.map(({ peerId, microphoneTracks }) => {
20
+ const updateVadStatus = (track) => {
21
+ setVadStatuses((prev) => ({
22
+ ...prev,
23
+ [peerId]: { ...prev[peerId], [track.trackId]: track.vadStatus },
24
+ }));
25
+ };
26
+ microphoneTracks.forEach((track) => {
27
+ track.on("voiceActivityChanged", updateVadStatus);
28
+ });
29
+ return () => {
30
+ microphoneTracks.forEach((track) => {
31
+ track.off("voiceActivityChanged", updateVadStatus);
32
+ });
33
+ };
34
+ });
35
+ return () => unsubs.forEach((unsub) => unsub());
36
+ }, [micTracksWithSelectedPeerIds]);
37
+ const vadStatuses = useMemo(() => Object.fromEntries(Object.entries(_vadStatuses).map(([peerId, tracks]) => [
38
+ peerId,
39
+ Object.values(tracks).some((vad) => vad === "speech"),
40
+ ])), [_vadStatuses]);
41
+ return vadStatuses;
42
+ };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export { useConnect, useDisconnect, useReconnection, useCamera, useMicrophone, useInitializeDevices, usePeers, useScreenShare, useStatus, } from "./hooks/public";
1
+ export { useConnect, useDisconnect, useReconnection, useCamera, useMicrophone, useInitializeDevices, usePeers, useScreenShare, useStatus, useVAD, } from "./hooks/public";
2
2
  export { FishjamProvider } from "./fishjamProvider";
3
- export { Track, TrackMiddleware, TracksMiddleware, PeerStatus, Device, AudioDevice, PeerWithTracks, ConnectConfig, PersistLastDeviceHandlers, ScreenshareApi, StartStreamingProps, } from "./types/public";
3
+ export { Track, TrackMiddleware, TracksMiddleware, PeerStatus, Device, PeerWithTracks, ConnectConfig, PersistLastDeviceHandlers, ScreenshareApi, StartStreamingProps, } from "./types/public";
4
4
  export { AUDIO_TRACK_CONSTRAINTS, VIDEO_TRACK_CONSTRAINTS, SCREEN_SHARING_MEDIA_CONSTRAINTS } from "./constraints";
5
5
  export type { Peer, MessageEvents, CreateConfig, TrackBandwidthLimit, SimulcastBandwidthLimit, BandwidthLimit, WebRTCEndpointEvents, TrackContextEvents, Endpoint, SimulcastConfig, TrackContext, VadStatus, EncodingReason, MetadataParser, AuthErrorReason, Encoding, } from "@fishjam-cloud/ts-client";
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,aAAa,EACb,eAAe,EACf,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,cAAc,EACd,SAAS,GACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EACL,KAAK,EACL,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,MAAM,EACN,WAAW,EACX,cAAc,EACd,aAAa,EACb,yBAAyB,EACzB,cAAc,EACd,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAC;AAEnH,YAAY,EACV,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,SAAS,EACT,cAAc,EACd,cAAc,EACd,eAAe,EACf,QAAQ,GACT,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,aAAa,EACb,eAAe,EACf,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,cAAc,EACd,SAAS,EACT,MAAM,GACP,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EACL,KAAK,EACL,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,MAAM,EACN,cAAc,EACd,aAAa,EACb,yBAAyB,EACzB,cAAc,EACd,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAC;AAEnH,YAAY,EACV,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,SAAS,EACT,cAAc,EACd,cAAc,EACd,eAAe,EACf,QAAQ,GACT,MAAM,0BAA0B,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export { useConnect, useDisconnect, useReconnection, useCamera, useMicrophone, useInitializeDevices, usePeers, useScreenShare, useStatus, } from "./hooks/public";
1
+ export { useConnect, useDisconnect, useReconnection, useCamera, useMicrophone, useInitializeDevices, usePeers, useScreenShare, useStatus, useVAD, } from "./hooks/public";
2
2
  export { FishjamProvider } from "./fishjamProvider";
3
3
  export { AUDIO_TRACK_CONSTRAINTS, VIDEO_TRACK_CONSTRAINTS, SCREEN_SHARING_MEDIA_CONSTRAINTS } from "./constraints";
@@ -24,6 +24,7 @@ export type DeviceManagerStatus = "uninitialized" | "initializing" | "initialize
24
24
  export interface DeviceManagerState {
25
25
  deviceState: DeviceState;
26
26
  status: DeviceManagerStatus;
27
+ type: DeviceType;
27
28
  }
28
29
  export type Media = {
29
30
  stream: MediaStream | null;
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/types/internal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/types/internal.ts"],"names":[],"mappings":"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"}
@@ -40,9 +40,6 @@ export type Device = {
40
40
  isMuted: boolean;
41
41
  isDeviceEnabled: boolean;
42
42
  } & Omit<TrackManager, "currentTrack">;
43
- export type AudioDevice = Device & {
44
- isAudioPlaying: boolean;
45
- };
46
43
  export type PeerWithTracks = PeerState & DistinguishedTracks;
47
44
  export type ConnectConfig = Omit<TSClientConnectConfig<PeerMetadata>, "peerMetadata"> & {
48
45
  peerMetadata?: PeerMetadata;
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/types/public.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/types/public.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fishjam-cloud/react-client",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "React client library for Fishjam Cloud",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Fishjam Cloud Team",
@@ -50,7 +50,7 @@
50
50
  "typescript": "^5.6.2"
51
51
  },
52
52
  "dependencies": {
53
- "@fishjam-cloud/ts-client": "0.8.0",
53
+ "@fishjam-cloud/ts-client": "0.9.0",
54
54
  "events": "3.3.0",
55
55
  "lodash.isequal": "4.5.0"
56
56
  },