@signalwire/js 3.28.0 → 3.28.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/dist/core/src/BaseSession.d.ts +1 -1
- package/dist/core/src/RPCMessages/VertoMessages.d.ts +7 -0
- package/dist/core/src/RPCMessages/VertoMessages.d.ts.map +1 -1
- package/dist/core/src/index.d.ts +2 -2
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/redux/features/component/componentSlice.d.ts +96 -0
- package/dist/core/src/redux/features/component/componentSlice.d.ts.map +1 -1
- package/dist/core/src/redux/rootReducer.d.ts +16 -0
- package/dist/core/src/redux/rootReducer.d.ts.map +1 -1
- package/dist/core/src/types/common.d.ts +16 -10
- package/dist/core/src/types/common.d.ts.map +1 -1
- package/dist/core/src/types/fabric.d.ts +0 -27
- package/dist/core/src/types/fabric.d.ts.map +1 -1
- package/dist/core/src/types/index.d.ts +67 -1
- package/dist/core/src/types/index.d.ts.map +1 -1
- package/dist/core/src/types/videoPlayback.d.ts +1 -7
- package/dist/core/src/types/videoPlayback.d.ts.map +1 -1
- package/dist/core/src/types/videoRecording.d.ts +1 -7
- package/dist/core/src/types/videoRecording.d.ts.map +1 -1
- package/dist/core/src/types/voice.d.ts +13 -2
- package/dist/core/src/types/voice.d.ts.map +1 -1
- package/dist/core/src/types/voiceCall.d.ts +96 -964
- package/dist/core/src/types/voiceCall.d.ts.map +1 -1
- package/dist/core/src/types/voiceCollect.d.ts +166 -0
- package/dist/core/src/types/voiceCollect.d.ts.map +1 -0
- package/dist/core/src/types/voiceConnect.d.ts +77 -0
- package/dist/core/src/types/voiceConnect.d.ts.map +1 -0
- package/dist/core/src/types/voiceDetect.d.ts +127 -0
- package/dist/core/src/types/voiceDetect.d.ts.map +1 -0
- package/dist/core/src/types/voicePlayback.d.ts +141 -0
- package/dist/core/src/types/voicePlayback.d.ts.map +1 -0
- package/dist/core/src/types/voicePrompt.d.ts +105 -0
- package/dist/core/src/types/voicePrompt.d.ts.map +1 -0
- package/dist/core/src/types/voiceRecording.d.ts +107 -0
- package/dist/core/src/types/voiceRecording.d.ts.map +1 -0
- package/dist/core/src/types/voiceSendDigits.d.ts +21 -0
- package/dist/core/src/types/voiceSendDigits.d.ts.map +1 -0
- package/dist/core/src/types/voiceTap.d.ts +116 -0
- package/dist/core/src/types/voiceTap.d.ts.map +1 -0
- package/dist/core/src/utils/constants.d.ts.map +1 -1
- package/dist/core/src/utils/eventUtils.d.ts +0 -2
- package/dist/core/src/utils/eventUtils.d.ts.map +1 -1
- package/dist/core/src/utils/interfaces.d.ts +19 -2
- package/dist/core/src/utils/interfaces.d.ts.map +1 -1
- package/dist/index.esm.js +636 -223
- package/dist/index.esm.js.map +4 -4
- package/dist/index.js +655 -233
- package/dist/index.js.map +4 -4
- package/dist/index.umd.js +26 -2
- package/dist/index.umd.js.map +1 -1
- package/dist/js/src/fabric/Conversation.d.ts +2 -2
- package/dist/js/src/fabric/Conversation.d.ts.map +1 -1
- package/dist/js/src/fabric/FabricRoomSession.d.ts +5 -4
- package/dist/js/src/fabric/FabricRoomSession.d.ts.map +1 -1
- package/dist/js/src/fabric/SignalWire.d.ts.map +1 -1
- package/dist/js/src/fabric/WSClient.d.ts +2 -2
- package/dist/js/src/fabric/WSClient.d.ts.map +1 -1
- package/dist/js/src/fabric/createWSClient.d.ts +1 -1
- package/dist/js/src/fabric/createWSClient.d.ts.map +1 -1
- package/dist/js/src/fabric/interfaces/capabilities.d.ts +28 -0
- package/dist/js/src/fabric/interfaces/capabilities.d.ts.map +1 -0
- package/dist/js/src/fabric/interfaces/conversation.d.ts +4 -4
- package/dist/js/src/fabric/interfaces/conversation.d.ts.map +1 -1
- package/dist/js/src/fabric/interfaces/index.d.ts +1 -0
- package/dist/js/src/fabric/interfaces/index.d.ts.map +1 -1
- package/dist/js/src/fabric/interfaces/wsClient.d.ts +2 -2
- package/dist/js/src/fabric/interfaces/wsClient.d.ts.map +1 -1
- package/dist/js/src/fabric/utils/capabilitiesHelpers.d.ts +28 -0
- package/dist/js/src/fabric/utils/capabilitiesHelpers.d.ts.map +1 -0
- package/dist/js/src/fabric/workers/callJoinWorker.d.ts.map +1 -1
- package/dist/js/src/fabric/workers/wsClientWorker.d.ts.map +1 -1
- package/dist/js/src/index.d.ts +2 -2
- package/dist/js/src/index.d.ts.map +1 -1
- package/dist/js/src/utils/interfaces/fabric.d.ts +6 -3
- package/dist/js/src/utils/interfaces/fabric.d.ts.map +1 -1
- package/dist/js/src/utils/paginatedResult.d.ts +4 -4
- package/dist/js/tsconfig.build.tsbuildinfo +1 -1
- package/dist/webrtc/src/BaseConnection.d.ts +78 -19
- package/dist/webrtc/src/BaseConnection.d.ts.map +1 -1
- package/dist/webrtc/src/RTCPeer.d.ts +11 -0
- package/dist/webrtc/src/RTCPeer.d.ts.map +1 -1
- package/dist/webrtc/src/utils/helpers.d.ts.map +1 -1
- package/dist/webrtc/src/utils/interfaces.d.ts +6 -0
- package/dist/webrtc/src/utils/interfaces.d.ts.map +1 -1
- package/dist/webrtc/src/utils/sdpHelpers.d.ts +27 -2
- package/dist/webrtc/src/utils/sdpHelpers.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/fabric/Conversation.ts +9 -7
- package/src/fabric/FabricRoomSession.ts +32 -32
- package/src/fabric/SignalWire.test.ts +2 -0
- package/src/fabric/SignalWire.ts +2 -0
- package/src/fabric/WSClient.ts +6 -10
- package/src/fabric/interfaces/capabilities.ts +30 -0
- package/src/fabric/interfaces/conversation.ts +5 -4
- package/src/fabric/interfaces/index.ts +2 -1
- package/src/fabric/interfaces/wsClient.ts +2 -2
- package/src/fabric/utils/capabilitiesHelpers.test.ts +201 -0
- package/src/fabric/utils/capabilitiesHelpers.ts +190 -0
- package/src/fabric/workers/callJoinWorker.ts +7 -6
- package/src/fabric/workers/wsClientWorker.ts +35 -12
- package/src/index.ts +1 -1
- package/src/utils/interfaces/fabric.ts +10 -3
- package/dist/core/src/utils/eventUtils.test.d.ts +0 -2
- package/dist/core/src/utils/eventUtils.test.d.ts.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { BaseComponent, BaseComponentOptions, BaseConnectionState, Rooms, EventEmitter, BaseConnectionContract, WebRTCMethod } from '@signalwire/core';
|
|
1
|
+
import { BaseComponent, BaseComponentOptions, BaseConnectionState, Rooms, EventEmitter, BaseConnectionContract, WebRTCMethod, UpdateMediaParams, UpdateMediaDirection } from '@signalwire/core';
|
|
2
2
|
import type { ReduxComponent } from '@signalwire/core';
|
|
3
3
|
import RTCPeer from './RTCPeer';
|
|
4
|
-
import { ConnectionOptions, BaseConnectionEvents, OnVertoByeParams } from './utils/interfaces';
|
|
4
|
+
import { ConnectionOptions, UpdateMediaOptionsParams, BaseConnectionEvents, OnVertoByeParams } from './utils/interfaces';
|
|
5
5
|
export type BaseConnectionOptions = ConnectionOptions & BaseComponentOptions;
|
|
6
6
|
export declare class BaseConnection<EventTypes extends EventEmitter.ValidEventTypes = BaseConnectionEvents> extends BaseComponent<EventTypes> implements Rooms.BaseRoomInterface<EventTypes>, BaseConnectionContract<EventTypes> {
|
|
7
7
|
direction: 'inbound' | 'outbound';
|
|
@@ -14,8 +14,6 @@ export declare class BaseConnection<EventTypes extends EventEmitter.ValidEventTy
|
|
|
14
14
|
causeCode: string;
|
|
15
15
|
/** @internal */
|
|
16
16
|
gotEarly: boolean;
|
|
17
|
-
/** @internal */
|
|
18
|
-
doReinvite: boolean;
|
|
19
17
|
private state;
|
|
20
18
|
private prevState;
|
|
21
19
|
private activeRTCPeerId;
|
|
@@ -74,7 +72,6 @@ export declare class BaseConnection<EventTypes extends EventEmitter.ValidEventTy
|
|
|
74
72
|
setActiveRTCPeer(rtcPeerId: string): void;
|
|
75
73
|
setLocalStream(stream: MediaStream): Promise<MediaStream>;
|
|
76
74
|
/**
|
|
77
|
-
* @internal
|
|
78
75
|
* Verto messages have to be wrapped into an execute
|
|
79
76
|
* request and sent using the proper RPC WebRTCMethod.
|
|
80
77
|
*/
|
|
@@ -85,13 +82,52 @@ export declare class BaseConnection<EventTypes extends EventEmitter.ValidEventTy
|
|
|
85
82
|
_triggerNewRTCPeer(): Promise<void>;
|
|
86
83
|
updateCamera(constraints: MediaTrackConstraints): Promise<void>;
|
|
87
84
|
updateMicrophone(constraints: MediaTrackConstraints): Promise<void>;
|
|
88
|
-
/**
|
|
85
|
+
/**
|
|
86
|
+
* Determines the appropriate {@link RTCRtpTransceiverDirection} based on current audio/video
|
|
87
|
+
* and negotiation options. The returned direction tells the peer connection
|
|
88
|
+
* whether to send, receive, both, or remain inactive for the given media kind.
|
|
89
|
+
*/
|
|
90
|
+
private _getTransceiverDirection;
|
|
91
|
+
/**
|
|
92
|
+
* Adjusts senders based on the given audio/video constraints. If a constraint is set to false,
|
|
93
|
+
* it stops the corresponding outbound track. Returns true if at least one sender is active,
|
|
94
|
+
* otherwise false.
|
|
95
|
+
*/
|
|
89
96
|
private manageSendersWithConstraints;
|
|
90
97
|
/**
|
|
91
|
-
*
|
|
98
|
+
* Attempts to obtain a new media stream that matches the given constraints, using a recursive
|
|
99
|
+
* strategy. If the new constraints fail, it tries to restore the old constraints.
|
|
100
|
+
* Returns a Promise that resolves to the new MediaStream or resolves without a stream if
|
|
101
|
+
* constraints were fully disabled. Rejects on unrecoverable errors.
|
|
92
102
|
*/
|
|
93
103
|
private updateConstraints;
|
|
104
|
+
/**
|
|
105
|
+
* Updates local tracks and transceivers from the given stream.
|
|
106
|
+
* For each new track, it adds/updates a transceiver and emits updated device events.
|
|
107
|
+
*/
|
|
94
108
|
private updateStream;
|
|
109
|
+
/**
|
|
110
|
+
* Finds or creates a transceiver for the new track. If an existing transceiver is found,
|
|
111
|
+
* replaces its track and updates its direction, if needed. If no transceiver is found,
|
|
112
|
+
* adds a new one. The method can trigger renegotiation.
|
|
113
|
+
*/
|
|
114
|
+
private handleTransceiverForTrack;
|
|
115
|
+
/**
|
|
116
|
+
* Replaces old tracks of the same kind in the local stream with the new track.
|
|
117
|
+
* Stops and removes the old track, then adds the new one. Also updates related
|
|
118
|
+
* device options and reattaches track listeners.
|
|
119
|
+
*/
|
|
120
|
+
private replaceOldTrack;
|
|
121
|
+
/**
|
|
122
|
+
* Emits device updated events for audio or video. Uses previously stored
|
|
123
|
+
* track references to indicate what changed between old and new devices.
|
|
124
|
+
*/
|
|
125
|
+
private emitDeviceUpdatedEvents;
|
|
126
|
+
/**
|
|
127
|
+
* Applies the given constraints by retrieving a new stream and then uses
|
|
128
|
+
* {@link updateStream} to synchronize local tracks with that new stream.
|
|
129
|
+
*/
|
|
130
|
+
private applyConstraintsAndRefreshStream;
|
|
95
131
|
runRTCPeerWorkers(rtcPeerId: string): void;
|
|
96
132
|
/** @internal */
|
|
97
133
|
invite<T>(): Promise<T>;
|
|
@@ -110,17 +146,18 @@ export declare class BaseConnection<EventTypes extends EventEmitter.ValidEventTy
|
|
|
110
146
|
* - requesting: we received a redirectDestination so need to send it again
|
|
111
147
|
* specifying nodeId.
|
|
112
148
|
*
|
|
113
|
-
* @internal
|
|
114
149
|
*/
|
|
115
|
-
executeInvite
|
|
150
|
+
private executeInvite;
|
|
116
151
|
/**
|
|
117
152
|
* Send the `verto.answer` only if the state is `new`
|
|
118
153
|
* - new: the first time we send out the answer.
|
|
119
|
-
* @internal
|
|
120
154
|
*/
|
|
121
|
-
executeAnswer
|
|
122
|
-
/**
|
|
123
|
-
|
|
155
|
+
private executeAnswer;
|
|
156
|
+
/**
|
|
157
|
+
* Send the `verto.modify` when it's an offer and remote is already present
|
|
158
|
+
* It helps in renegotiation.
|
|
159
|
+
*/
|
|
160
|
+
private executeUpdateMedia;
|
|
124
161
|
hangup(id?: string): Promise<void>;
|
|
125
162
|
hangupAll(): Promise<void>;
|
|
126
163
|
sendDigits(dtmf: string): Promise<void>;
|
|
@@ -137,12 +174,7 @@ export declare class BaseConnection<EventTypes extends EventEmitter.ValidEventTy
|
|
|
137
174
|
/** @internal */
|
|
138
175
|
setState(state: BaseConnectionState): void;
|
|
139
176
|
/** @internal */
|
|
140
|
-
updateMediaOptions(options:
|
|
141
|
-
audio?: boolean | MediaTrackConstraints;
|
|
142
|
-
video?: boolean | MediaTrackConstraints;
|
|
143
|
-
negotiateAudio?: boolean;
|
|
144
|
-
negotiateVideo?: boolean;
|
|
145
|
-
}): void;
|
|
177
|
+
updateMediaOptions(options: UpdateMediaOptionsParams): void;
|
|
146
178
|
/** @internal */
|
|
147
179
|
onVertoBye: (params: OnVertoByeParams) => void;
|
|
148
180
|
/**
|
|
@@ -162,5 +194,32 @@ export declare class BaseConnection<EventTypes extends EventEmitter.ValidEventTy
|
|
|
162
194
|
private _buildPeer;
|
|
163
195
|
/** @internal */
|
|
164
196
|
protected _finalize(): void;
|
|
197
|
+
/**
|
|
198
|
+
* Add or update the transceiver based on the media type and direction
|
|
199
|
+
*/
|
|
200
|
+
private _upsertTransceiverByKind;
|
|
201
|
+
/**
|
|
202
|
+
* Allow user to upgrade/downgrade media in a call.
|
|
203
|
+
* This performs RTC Peer renegotiation.
|
|
204
|
+
*
|
|
205
|
+
* @param params: {@link UpdateMediaParams}
|
|
206
|
+
*/
|
|
207
|
+
updateMedia(params: UpdateMediaParams): Promise<void>;
|
|
208
|
+
/**
|
|
209
|
+
* Allow user to set the audio direction on the RTC Peer.
|
|
210
|
+
* This performs RTC Peer renegotiation.
|
|
211
|
+
*
|
|
212
|
+
* @param direction {@link UpdateMediaDirection}
|
|
213
|
+
*/
|
|
214
|
+
setAudioDirection(direction: UpdateMediaDirection): Promise<void>;
|
|
215
|
+
/**
|
|
216
|
+
* Allow user to set the video direction on the RTC Peer.
|
|
217
|
+
* This performs RTC Peer renegotiation.
|
|
218
|
+
*
|
|
219
|
+
* @param direction {@link UpdateMediaDirection}
|
|
220
|
+
*/
|
|
221
|
+
setVideoDirection(direction: UpdateMediaDirection): Promise<void>;
|
|
222
|
+
hold(): Promise<void>;
|
|
223
|
+
unhold(): Promise<void>;
|
|
165
224
|
}
|
|
166
225
|
//# sourceMappingURL=BaseConnection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseConnection.d.ts","sourceRoot":"","sources":["../../../../webrtc/src/BaseConnection.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,aAAa,EAEb,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,EAEL,YAAY,EACZ,sBAAsB,EAMtB,YAAY,
|
|
1
|
+
{"version":3,"file":"BaseConnection.d.ts","sourceRoot":"","sources":["../../../../webrtc/src/BaseConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,15 @@ export default class RTCPeer<EventTypes extends EventEmitter.ValidEventTypes> {
|
|
|
20
20
|
*/
|
|
21
21
|
private _resolveStartMethod;
|
|
22
22
|
private _rejectStartMethod;
|
|
23
|
+
/**
|
|
24
|
+
* The promise that resolves or rejects when the negotiation succeed or fail.
|
|
25
|
+
* The consumer needs to declare the promise and assign it to this in order to
|
|
26
|
+
* wait for the negotiation to complete.
|
|
27
|
+
*/
|
|
28
|
+
_pendingNegotiationPromise?: {
|
|
29
|
+
resolve: (value?: unknown) => void;
|
|
30
|
+
reject: (error: unknown) => void;
|
|
31
|
+
};
|
|
23
32
|
private _localStream?;
|
|
24
33
|
private _remoteStream?;
|
|
25
34
|
private rtcConfigPolyfill;
|
|
@@ -27,6 +36,7 @@ export default class RTCPeer<EventTypes extends EventEmitter.ValidEventTypes> {
|
|
|
27
36
|
constructor(call: BaseConnection<EventTypes>, type: RTCSdpType);
|
|
28
37
|
get options(): import("./BaseConnection").BaseConnectionOptions;
|
|
29
38
|
get watchMediaPacketsTimeout(): number;
|
|
39
|
+
get isNegotiating(): boolean;
|
|
30
40
|
get localStream(): MediaStream | undefined;
|
|
31
41
|
set localStream(stream: MediaStream | undefined);
|
|
32
42
|
get remoteStream(): MediaStream | undefined;
|
|
@@ -47,6 +57,7 @@ export default class RTCPeer<EventTypes extends EventEmitter.ValidEventTypes> {
|
|
|
47
57
|
get remoteSdp(): string | undefined;
|
|
48
58
|
get hasIceServers(): boolean;
|
|
49
59
|
stopTrackSender(kind: string): void;
|
|
60
|
+
stopTrackReceiver(kind: string): void;
|
|
50
61
|
restoreTrackSender(kind: string): Promise<void>;
|
|
51
62
|
getDeviceId(kind: string): string | null;
|
|
52
63
|
getTrackSettings(kind: string): MediaTrackSettings | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RTCPeer.d.ts","sourceRoot":"","sources":["../../../../webrtc/src/RTCPeer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAmB,MAAM,kBAAkB,CAAA;AAYhE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAWjD,MAAM,CAAC,OAAO,OAAO,OAAO,CAAC,UAAU,SAAS,YAAY,CAAC,eAAe;
|
|
1
|
+
{"version":3,"file":"RTCPeer.d.ts","sourceRoot":"","sources":["../../../../webrtc/src/RTCPeer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../webrtc/src/utils/helpers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAIhD,eAAO,MAAM,YAAY,gBAAiB,sBAAsB,qCAQ/D,CAAA;
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../webrtc/src/utils/helpers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAIhD,eAAO,MAAM,YAAY,gBAAiB,sBAAsB,qCAQ/D,CAAA;AA0BD,eAAO,MAAM,mBAAmB,YACrB,iBAAiB,KACzB,OAAO,CAAC,sBAAsB,CAgChC,CAAA;AAED,UAAU,uBAAuB;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,eAAO,MAAM,gBAAgB,YAClB,YAAY,EAAE,WACd,uBAAuB;;;;GAkBjC,CAAA"}
|
|
@@ -96,6 +96,12 @@ export interface ConnectionOptions {
|
|
|
96
96
|
layout?: string;
|
|
97
97
|
positions?: VideoPositions;
|
|
98
98
|
}
|
|
99
|
+
export interface EmitDeviceUpdatedEventsParams {
|
|
100
|
+
newTrack: MediaStreamTrack;
|
|
101
|
+
prevAudioTrack?: MediaStreamTrack | null;
|
|
102
|
+
prevVideoTrack?: MediaStreamTrack | null;
|
|
103
|
+
}
|
|
104
|
+
export type UpdateMediaOptionsParams = Pick<ConnectionOptions, 'video' | 'audio' | 'negotiateVideo' | 'negotiateAudio'>;
|
|
99
105
|
export interface OnVertoByeParams {
|
|
100
106
|
byeCause: string;
|
|
101
107
|
byeCauseCode: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../../webrtc/src/utils/interfaces.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../../webrtc/src/utils/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,kBAAkB,CAAA;AAEzB,MAAM,WAAW,iBAAiB;IAEhC,gBAAgB;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,gBAAgB;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gBAAgB;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,gBAAgB;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB,gBAAgB;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB;IAChB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,gBAAgB;IAChB,YAAY,CAAC,EAAE,WAAW,CAAA;IAC1B,2BAA2B;IAC3B,UAAU,CAAC,EAAE,YAAY,EAAE,CAAA;IAC3B,uCAAuC;IACvC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,uEAAuE;IACvE,KAAK,CAAC,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAA;IACvC,uEAAuE;IACvE,KAAK,CAAC,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAA;IACvC,gBAAgB;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,gBAAgB;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,gBAAgB;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,+FAA+F;IAC/F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB;IAChB,aAAa,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;IACtC,gBAAgB;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,gBAAgB;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,gBAAgB;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,gBAAgB;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gBAAgB;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gBAAgB;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,gBAAgB;IAChB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gBAAgB;IAChB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gBAAgB;IAChB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,gBAAgB;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,gBAAgB;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gBAAgB;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gBAAgB;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gBAAgB;IAChB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,gBAAgB;IAChB,aAAa,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;IACtC,gBAAgB;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,gBAAgB;IAChB,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,gBAAgB;IAChB,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,gBAAgB;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,gBAAgB;IAChB,wBAAwB,CAAC,EAAE,MAAM,CAAA;IAEjC,gBAAgB;IAChB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,gBAAgB;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,cAAc,CAAA;CAC3B;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,cAAc,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IACxC,cAAc,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;CACzC;AAED,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,iBAAiB,EACjB,OAAO,GAAG,OAAO,GAAG,gBAAgB,GAAG,gBAAgB,CACxD,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,MAAM,eAAe,GACvB,iBAAiB,GACjB,oBAAoB,GACpB,oBAAoB,CAAA;AAExB,KAAK,8BAA8B,GAAG,MAAM,CAC1C,mBAAmB,EACnB,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CACtB,GACC,MAAM,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,GACnC,MAAM,CACJ,yBAAyB,EACzB,CAAC,MAAM,EAAE,0BAA0B,KAAK,IAAI,CAC7C,CAAA;AAEH,MAAM,MAAM,oBAAoB,GAAG;KAChC,CAAC,IAAI,MAAM,8BAA8B,GAAG,8BAA8B,CAAC,CAAC,CAAC;CAC/E,CAAA"}
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Check if SDP has a media section (audio or video)
|
|
3
3
|
*/
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const sdpHasMediaSection: (sdp: string, media: "audio" | "video") => boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Check if SDP includes video
|
|
7
|
+
*/
|
|
8
|
+
export declare const sdpHasVideo: (sdp: string) => boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Check if SDP includes audio
|
|
11
|
+
*/
|
|
12
|
+
export declare const sdpHasAudio: (sdp: string) => boolean;
|
|
5
13
|
/**
|
|
6
14
|
* Add stereo support hacking the SDP
|
|
7
15
|
* @return the SDP modified
|
|
@@ -26,4 +34,21 @@ export declare const sdpHasValidCandidates: (sdp: string) => boolean;
|
|
|
26
34
|
* https://bloggeek.me/psa-mdns-and-local-ice-candidates-are-coming/
|
|
27
35
|
*/
|
|
28
36
|
export declare const sdpRemoveLocalCandidates: (sdp: string) => string;
|
|
37
|
+
/**
|
|
38
|
+
* Get the SDP direction for the specified media type.
|
|
39
|
+
* Returns 'sendrecv' if no direction attribute is found, as per SDP standards.
|
|
40
|
+
*/
|
|
41
|
+
export declare const getSdpDirection: (sdp: string, media: "audio" | "video") => RTCRtpTransceiverDirection;
|
|
42
|
+
/**
|
|
43
|
+
* Returns the opposite SDP direction based on the provided direction.
|
|
44
|
+
*/
|
|
45
|
+
export declare const getOppositeSdpDirection: (direction: RTCRtpTransceiverDirection) => RTCRtpTransceiverDirection;
|
|
46
|
+
/**
|
|
47
|
+
* Returns boolean indicating remote and local SDPs has the expected opposite direction
|
|
48
|
+
*/
|
|
49
|
+
export declare const hasMatchingSdpDirection: ({ localSdp, remoteSdp, media, }: {
|
|
50
|
+
localSdp: string;
|
|
51
|
+
remoteSdp: string;
|
|
52
|
+
media: "audio" | "video";
|
|
53
|
+
}) => boolean;
|
|
29
54
|
//# sourceMappingURL=sdpHelpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdpHelpers.d.ts","sourceRoot":"","sources":["../../../../../webrtc/src/utils/sdpHelpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sdpHelpers.d.ts","sourceRoot":"","sources":["../../../../../webrtc/src/utils/sdpHelpers.ts"],"names":[],"mappings":"AAeA;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAS,MAAM,SAAS,OAAO,GAAG,OAAO,YAQvE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,QAAS,MAAM,YAEtC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,QAAS,MAAM,YAEtC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,QAAS,MAAM,WA6BxC,CAAA;AAED,eAAO,MAAM,iBAAiB,WACpB,MAAM,cACF,MAAM,KACjB,MAoBF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,QACpB,MAAM,OACN,MAAM,OACN,MAAM,SACJ,MAAM,WAcd,CAAA;AAuCD;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,QAAS,MAAM,YAmBhD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,QAAS,MAAM,WAOnD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,QACrB,MAAM,SACJ,OAAO,GAAG,OAAO,KACvB,0BA2BF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,cACvB,0BAA0B,KACpC,0BAaF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,oCAIjC;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,OAAO,GAAG,OAAO,CAAA;CACzB,YAKA,CAAA"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "SignalWire JS SDK",
|
|
4
4
|
"author": "SignalWire Team <open.source@signalwire.com>",
|
|
5
5
|
"license": "MIT",
|
|
6
|
-
"version": "3.28.
|
|
6
|
+
"version": "3.28.1",
|
|
7
7
|
"main": "dist/index.js",
|
|
8
8
|
"module": "dist/index.esm.js",
|
|
9
9
|
"unpkg": "dist/index.umd.js",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"prepublishOnly": "npm run build"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@signalwire/core": "4.2.
|
|
43
|
-
"@signalwire/webrtc": "3.13.
|
|
42
|
+
"@signalwire/core": "4.2.1",
|
|
43
|
+
"@signalwire/webrtc": "3.13.1",
|
|
44
44
|
"jwt-decode": "^3.1.2"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
@@ -16,14 +16,14 @@ import type {
|
|
|
16
16
|
SendConversationMessageResult,
|
|
17
17
|
GetConversationChatMessageParams,
|
|
18
18
|
GetConversationsResult,
|
|
19
|
-
|
|
19
|
+
ConversationSubscribeCallback,
|
|
20
20
|
ConversationChatMessagesSubscribeParams,
|
|
21
21
|
ConversationChatMessagesSubscribeResult,
|
|
22
22
|
GetConversationChatMessageResult,
|
|
23
23
|
JoinConversationParams,
|
|
24
24
|
JoinConversationResponse,
|
|
25
25
|
JoinConversationResult,
|
|
26
|
-
|
|
26
|
+
ConversationSubscribeResult,
|
|
27
27
|
} from './interfaces'
|
|
28
28
|
import { conversationWorker } from './workers'
|
|
29
29
|
import { buildPaginatedResult } from '../utils/paginatedResult'
|
|
@@ -40,9 +40,11 @@ interface ConversationOptions {
|
|
|
40
40
|
export class Conversation {
|
|
41
41
|
private httpClient: HTTPClient
|
|
42
42
|
private wsClient: WSClient
|
|
43
|
-
private callbacks = new Set<
|
|
44
|
-
private chatSubscriptions: Record<
|
|
45
|
-
|
|
43
|
+
private callbacks = new Set<ConversationSubscribeCallback>()
|
|
44
|
+
private chatSubscriptions: Record<
|
|
45
|
+
string,
|
|
46
|
+
Set<ConversationSubscribeCallback>
|
|
47
|
+
> = {}
|
|
46
48
|
|
|
47
49
|
constructor(options: ConversationOptions) {
|
|
48
50
|
this.httpClient = options.httpClient
|
|
@@ -253,8 +255,8 @@ export class Conversation {
|
|
|
253
255
|
}
|
|
254
256
|
|
|
255
257
|
public async subscribe(
|
|
256
|
-
callback:
|
|
257
|
-
): Promise<
|
|
258
|
+
callback: ConversationSubscribeCallback
|
|
259
|
+
): Promise<ConversationSubscribeResult> {
|
|
258
260
|
this.callbacks.add(callback)
|
|
259
261
|
|
|
260
262
|
return {
|
|
@@ -2,7 +2,6 @@ import {
|
|
|
2
2
|
connect,
|
|
3
3
|
BaseComponentContract,
|
|
4
4
|
BaseRPCResult,
|
|
5
|
-
CallCapabilities,
|
|
6
5
|
FabricLayoutChangedEventParams,
|
|
7
6
|
ExecuteExtendedOptions,
|
|
8
7
|
Rooms,
|
|
@@ -30,6 +29,7 @@ import { PREVIOUS_CALLID_STORAGE_KEY } from './utils/constants'
|
|
|
30
29
|
import { fabricWorker } from './workers'
|
|
31
30
|
import { FabricRoomSessionMember } from './FabricRoomSessionMember'
|
|
32
31
|
import { makeAudioElementSaga } from '../features/mediaElements/mediaElementsSagas'
|
|
32
|
+
import { CallCapabilitiesContract } from './interfaces/capabilities'
|
|
33
33
|
|
|
34
34
|
export interface FabricRoomSession
|
|
35
35
|
extends FabricRoomSessionContract,
|
|
@@ -51,7 +51,7 @@ export class FabricRoomSessionConnection
|
|
|
51
51
|
private _member?: FabricRoomSessionMember
|
|
52
52
|
private _currentLayoutEvent: FabricLayoutChangedEventParams
|
|
53
53
|
//describes what are methods are allow for the user in a call segment
|
|
54
|
-
private _capabilities
|
|
54
|
+
private _capabilities?: CallCapabilitiesContract
|
|
55
55
|
|
|
56
56
|
constructor(options: FabricRoomSessionOptions) {
|
|
57
57
|
super(options)
|
|
@@ -81,11 +81,11 @@ export class FabricRoomSessionConnection
|
|
|
81
81
|
)?.position
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
get capabilities():
|
|
84
|
+
get capabilities(): CallCapabilitiesContract | undefined {
|
|
85
85
|
return this._capabilities
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
-
set capabilities(capabilities:
|
|
88
|
+
set capabilities(capabilities: CallCapabilitiesContract | undefined) {
|
|
89
89
|
this._capabilities = capabilities
|
|
90
90
|
}
|
|
91
91
|
|
|
@@ -209,8 +209,8 @@ export class FabricRoomSessionConnection
|
|
|
209
209
|
public async audioMute(params: MemberCommandParams) {
|
|
210
210
|
if (
|
|
211
211
|
!params || params.memberId === this.member.id
|
|
212
|
-
? !this.capabilities.
|
|
213
|
-
: !this.capabilities.
|
|
212
|
+
? !this.capabilities?.self.muteAudio.off
|
|
213
|
+
: !this.capabilities?.member.muteAudio.off
|
|
214
214
|
) {
|
|
215
215
|
throw Error('Missing audio mute capability')
|
|
216
216
|
}
|
|
@@ -224,8 +224,8 @@ export class FabricRoomSessionConnection
|
|
|
224
224
|
public async audioUnmute(params: MemberCommandParams) {
|
|
225
225
|
if (
|
|
226
226
|
!params || params.memberId === this.member.id
|
|
227
|
-
? !this.capabilities.
|
|
228
|
-
: !this.capabilities.
|
|
227
|
+
? !this.capabilities?.self.muteAudio.on
|
|
228
|
+
: !this.capabilities?.member.muteAudio.on
|
|
229
229
|
) {
|
|
230
230
|
throw Error('Missing audio unmute capability')
|
|
231
231
|
}
|
|
@@ -239,8 +239,8 @@ export class FabricRoomSessionConnection
|
|
|
239
239
|
public async videoMute(params: MemberCommandParams) {
|
|
240
240
|
if (
|
|
241
241
|
!params || params.memberId === this.member.id
|
|
242
|
-
? !this.capabilities.
|
|
243
|
-
: !this.capabilities.
|
|
242
|
+
? !this.capabilities?.self.muteVideo.off
|
|
243
|
+
: !this.capabilities?.member.muteVideo.on
|
|
244
244
|
) {
|
|
245
245
|
throw Error('Missing video mute capability')
|
|
246
246
|
}
|
|
@@ -254,8 +254,8 @@ export class FabricRoomSessionConnection
|
|
|
254
254
|
public async videoUnmute(params: MemberCommandParams) {
|
|
255
255
|
if (
|
|
256
256
|
!params || params.memberId === this.member.id
|
|
257
|
-
? !this.capabilities.
|
|
258
|
-
: !this.capabilities.
|
|
257
|
+
? !this.capabilities?.self.muteVideo.on
|
|
258
|
+
: !this.capabilities?.member.muteVideo.on
|
|
259
259
|
) {
|
|
260
260
|
throw Error('Missing video unmute capability')
|
|
261
261
|
}
|
|
@@ -269,8 +269,8 @@ export class FabricRoomSessionConnection
|
|
|
269
269
|
public async deaf(params: MemberCommandParams) {
|
|
270
270
|
if (
|
|
271
271
|
!params || params.memberId === this.member.id
|
|
272
|
-
? !this.capabilities.
|
|
273
|
-
: !this.capabilities.
|
|
272
|
+
? !this.capabilities?.self.deaf.on
|
|
273
|
+
: !this.capabilities?.member.deaf.on
|
|
274
274
|
) {
|
|
275
275
|
throw Error('Missing deaf capability')
|
|
276
276
|
}
|
|
@@ -283,8 +283,8 @@ export class FabricRoomSessionConnection
|
|
|
283
283
|
public async undeaf(params: MemberCommandParams) {
|
|
284
284
|
if (
|
|
285
285
|
!params || params.memberId === this.member.id
|
|
286
|
-
? !this.capabilities.
|
|
287
|
-
: !this.capabilities.
|
|
286
|
+
? !this.capabilities?.self.deaf.off
|
|
287
|
+
: !this.capabilities?.member.deaf.off
|
|
288
288
|
) {
|
|
289
289
|
throw Error('Missing undeaf capability')
|
|
290
290
|
}
|
|
@@ -321,7 +321,7 @@ export class FabricRoomSessionConnection
|
|
|
321
321
|
}
|
|
322
322
|
|
|
323
323
|
public async removeMember(params: Required<MemberCommandParams>) {
|
|
324
|
-
if (!this.capabilities.
|
|
324
|
+
if (!this.capabilities?.member.remove) {
|
|
325
325
|
throw Error('Missing setLayout capability')
|
|
326
326
|
}
|
|
327
327
|
if (!params?.memberId) {
|
|
@@ -337,15 +337,15 @@ export class FabricRoomSessionConnection
|
|
|
337
337
|
const { raised = true, memberId } = params || {}
|
|
338
338
|
if (
|
|
339
339
|
memberId == this.member.id && raised
|
|
340
|
-
? !this.capabilities.
|
|
341
|
-
: !this.capabilities.
|
|
340
|
+
? !this.capabilities?.self.raisehand.on
|
|
341
|
+
: !this.capabilities?.member.raisehand.on
|
|
342
342
|
) {
|
|
343
343
|
throw Error('Missing raisehand capability')
|
|
344
344
|
}
|
|
345
345
|
if (
|
|
346
346
|
memberId == this.member.id && !raised
|
|
347
|
-
? !this.capabilities.
|
|
348
|
-
: !this.capabilities.
|
|
347
|
+
? !this.capabilities?.self.raisehand.off
|
|
348
|
+
: !this.capabilities?.member.raisehand.off
|
|
349
349
|
) {
|
|
350
350
|
throw Error('Missing lowerhand capability')
|
|
351
351
|
}
|
|
@@ -356,7 +356,7 @@ export class FabricRoomSessionConnection
|
|
|
356
356
|
}
|
|
357
357
|
|
|
358
358
|
public async setLayout(params: Rooms.SetLayoutParams) {
|
|
359
|
-
if (!this.capabilities
|
|
359
|
+
if (!this.capabilities?.setLayout) {
|
|
360
360
|
throw Error('Missing setLayout capability')
|
|
361
361
|
}
|
|
362
362
|
const extraParams = {
|
|
@@ -372,8 +372,8 @@ export class FabricRoomSessionConnection
|
|
|
372
372
|
public async setInputVolume(params: MemberCommandWithVolumeParams) {
|
|
373
373
|
if (
|
|
374
374
|
!params || params.memberId === this.member.id
|
|
375
|
-
? !this.capabilities.
|
|
376
|
-
: !this.capabilities.
|
|
375
|
+
? !this.capabilities?.self.microphoneVolume
|
|
376
|
+
: !this.capabilities?.member.microphoneVolume
|
|
377
377
|
) {
|
|
378
378
|
throw Error('Missing setInputVolume capability')
|
|
379
379
|
}
|
|
@@ -389,8 +389,8 @@ export class FabricRoomSessionConnection
|
|
|
389
389
|
public async setOutputVolume(params: MemberCommandWithVolumeParams) {
|
|
390
390
|
if (
|
|
391
391
|
!params || params.memberId === this.member.id
|
|
392
|
-
? !this.capabilities.
|
|
393
|
-
: !this.capabilities.
|
|
392
|
+
? !this.capabilities?.self.speakerVolume
|
|
393
|
+
: !this.capabilities?.member.speakerVolume
|
|
394
394
|
) {
|
|
395
395
|
throw Error('Missing setOutputVolume capability')
|
|
396
396
|
}
|
|
@@ -406,8 +406,8 @@ export class FabricRoomSessionConnection
|
|
|
406
406
|
public async setInputSensitivity(params: MemberCommandWithValueParams) {
|
|
407
407
|
if (
|
|
408
408
|
!params || params.memberId === this.member.id
|
|
409
|
-
? !this.capabilities.
|
|
410
|
-
: !this.capabilities.
|
|
409
|
+
? !this.capabilities?.self.microphoneSensitivity
|
|
410
|
+
: !this.capabilities?.member.microphoneSensitivity
|
|
411
411
|
) {
|
|
412
412
|
throw Error('Missing setOutputVolume capability')
|
|
413
413
|
}
|
|
@@ -431,8 +431,8 @@ export class FabricRoomSessionConnection
|
|
|
431
431
|
Object.keys(positions).some((p) =>
|
|
432
432
|
['self', `${this.memberId}`].includes(p)
|
|
433
433
|
)
|
|
434
|
-
? !this.capabilities.
|
|
435
|
-
: !this.capabilities.
|
|
434
|
+
? !this.capabilities?.self.position
|
|
435
|
+
: !this.capabilities?.member.position
|
|
436
436
|
) {
|
|
437
437
|
throw Error('Missing setPositions capability')
|
|
438
438
|
}
|
|
@@ -478,7 +478,7 @@ export class FabricRoomSessionConnection
|
|
|
478
478
|
}
|
|
479
479
|
|
|
480
480
|
public async lock() {
|
|
481
|
-
if (!this.capabilities.
|
|
481
|
+
if (!this.capabilities?.lock.on) {
|
|
482
482
|
throw Error('Missing lock capability')
|
|
483
483
|
}
|
|
484
484
|
return this.executeAction<BaseRPCResult>({
|
|
@@ -487,7 +487,7 @@ export class FabricRoomSessionConnection
|
|
|
487
487
|
}
|
|
488
488
|
|
|
489
489
|
public async unlock() {
|
|
490
|
-
if (!this.capabilities.
|
|
490
|
+
if (!this.capabilities?.lock.off) {
|
|
491
491
|
throw Error('Missing unlock capability')
|
|
492
492
|
}
|
|
493
493
|
return this.executeAction<BaseRPCResult>({
|
package/src/fabric/SignalWire.ts
CHANGED
|
@@ -53,6 +53,8 @@ export const SignalWire = (() => {
|
|
|
53
53
|
join: conversation.joinConversation.bind(conversation),
|
|
54
54
|
},
|
|
55
55
|
// @ts-expect-error For debugging purposes
|
|
56
|
+
on: wsClient.on.bind(wsClient),
|
|
57
|
+
off: wsClient.off.bind(wsClient),
|
|
56
58
|
__httpClient: httpClient,
|
|
57
59
|
__wsClient: wsClient,
|
|
58
60
|
})
|
package/src/fabric/WSClient.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
actions,
|
|
3
3
|
BaseClient,
|
|
4
|
-
CallJoinedEventParams,
|
|
5
|
-
ClientEvents,
|
|
4
|
+
CallJoinedEventParams as InternalCallJoinedEventParams,
|
|
6
5
|
VertoBye,
|
|
7
6
|
VertoSubscribe,
|
|
8
7
|
VideoRoomSubscribedEventParams,
|
|
@@ -25,10 +24,7 @@ import { wsClientWorker } from './workers'
|
|
|
25
24
|
import { createWSClient } from './createWSClient'
|
|
26
25
|
import { WSClientContract } from './interfaces/wsClient'
|
|
27
26
|
|
|
28
|
-
export class WSClient
|
|
29
|
-
extends BaseClient<ClientEvents>
|
|
30
|
-
implements WSClientContract
|
|
31
|
-
{
|
|
27
|
+
export class WSClient extends BaseClient<{}> implements WSClientContract {
|
|
32
28
|
private _incomingCallManager: IncomingCallManager
|
|
33
29
|
private _disconnected: boolean = false
|
|
34
30
|
|
|
@@ -95,7 +91,7 @@ export class WSClient
|
|
|
95
91
|
* right away.
|
|
96
92
|
*/
|
|
97
93
|
const joinMutedHandler = (
|
|
98
|
-
params:
|
|
94
|
+
params: InternalCallJoinedEventParams | VideoRoomSubscribedEventParams
|
|
99
95
|
) => {
|
|
100
96
|
const member = params.room_session.members?.find(
|
|
101
97
|
// @ts-expect-error FIXME:
|
|
@@ -185,7 +181,7 @@ export class WSClient
|
|
|
185
181
|
stopCameraWhileMuted: true,
|
|
186
182
|
stopMicrophoneWhileMuted: true,
|
|
187
183
|
watchMediaPackets: false,
|
|
188
|
-
destinationNumber:
|
|
184
|
+
destinationNumber: params.to,
|
|
189
185
|
nodeId: params.nodeId,
|
|
190
186
|
attach: params.attach ?? false,
|
|
191
187
|
disableUdpIceServers: params.disableUdpIceServers || false,
|
|
@@ -365,10 +361,10 @@ export class WSClient
|
|
|
365
361
|
|
|
366
362
|
public updateToken(token: string) {
|
|
367
363
|
return new Promise<void>((resolve, reject) => {
|
|
368
|
-
this.once('session.auth_error', (error) => {
|
|
364
|
+
this.session.once('session.auth_error', (error) => {
|
|
369
365
|
reject(error)
|
|
370
366
|
})
|
|
371
|
-
this.once('session.connected', () => {
|
|
367
|
+
this.session.once('session.connected', () => {
|
|
372
368
|
resolve()
|
|
373
369
|
})
|
|
374
370
|
this.store.dispatch(actions.reauthAction({ token }))
|