@convai/web-sdk 0.0.4-beta.0 ā 0.0.4-beta.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 +42 -31
- package/dist/components/ConvaiWidget.d.ts +24 -23
- package/dist/components/ConvaiWidget.d.ts.map +1 -1
- package/dist/components/ConvaiWidget.js +42 -71
- package/dist/components/ConvaiWidget.js.map +1 -1
- package/dist/components/rtc-widget/components/index.d.ts +0 -1
- package/dist/components/rtc-widget/components/index.d.ts.map +1 -1
- package/dist/components/rtc-widget/components/index.js +2 -2
- package/dist/components/rtc-widget/components/index.js.map +1 -1
- package/dist/components/rtc-widget/index.d.ts +1 -1
- package/dist/components/rtc-widget/index.d.ts.map +1 -1
- package/dist/components/rtc-widget/index.js +3 -1
- package/dist/components/rtc-widget/index.js.map +1 -1
- package/dist/hooks/useAudioControls.d.ts.map +1 -1
- package/dist/hooks/useAudioControls.js +2 -21
- package/dist/hooks/useAudioControls.js.map +1 -1
- package/dist/hooks/useCharacterInfo.d.ts +3 -3
- package/dist/hooks/useCharacterInfo.d.ts.map +1 -1
- package/dist/hooks/useCharacterInfo.js +2 -3
- package/dist/hooks/useCharacterInfo.js.map +1 -1
- package/dist/hooks/useConvaiClient.d.ts +9 -16
- package/dist/hooks/useConvaiClient.d.ts.map +1 -1
- package/dist/hooks/useConvaiClient.js +68 -91
- package/dist/hooks/useConvaiClient.js.map +1 -1
- package/dist/hooks/useDynamicInfoUpdater.d.ts.map +1 -1
- package/dist/hooks/useDynamicInfoUpdater.js +0 -2
- package/dist/hooks/useDynamicInfoUpdater.js.map +1 -1
- package/dist/hooks/useMessageHandler.d.ts.map +1 -1
- package/dist/hooks/useMessageHandler.js +1 -76
- package/dist/hooks/useMessageHandler.js.map +1 -1
- package/dist/hooks/useScreenShare.d.ts.map +1 -1
- package/dist/hooks/useScreenShare.js +2 -14
- package/dist/hooks/useScreenShare.js.map +1 -1
- package/dist/hooks/useTemplateKeysUpdater.d.ts.map +1 -1
- package/dist/hooks/useTemplateKeysUpdater.js +0 -2
- package/dist/hooks/useTemplateKeysUpdater.js.map +1 -1
- package/dist/hooks/useTriggerMessageSender.d.ts.map +1 -1
- package/dist/hooks/useTriggerMessageSender.js +0 -6
- package/dist/hooks/useTriggerMessageSender.js.map +1 -1
- package/dist/hooks/useTtsToggle.d.ts.map +1 -1
- package/dist/hooks/useTtsToggle.js +0 -2
- package/dist/hooks/useTtsToggle.js.map +1 -1
- package/dist/hooks/useUserTextMessageSender.d.ts.map +1 -1
- package/dist/hooks/useUserTextMessageSender.js +0 -3
- package/dist/hooks/useUserTextMessageSender.js.map +1 -1
- package/dist/hooks/useVideoControls.d.ts.map +1 -1
- package/dist/hooks/useVideoControls.js +2 -20
- package/dist/hooks/useVideoControls.js.map +1 -1
- package/dist/types/index.d.ts +30 -20
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMessageHandler.d.ts","sourceRoot":"","sources":["../../src/hooks/useMessageHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAA8B,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,IAAI,EACV,iBAAiB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,EACpE,sBAAsB,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC5C,qBAAqB,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,EAClD,kBAAkB,OAAO,EACzB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,EAC3C,0BAA0B,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,EACxD,cAAc,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,EACxC,gBAAgB,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI;;
|
|
1
|
+
{"version":3,"file":"useMessageHandler.d.ts","sourceRoot":"","sources":["../../src/hooks/useMessageHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAA8B,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,IAAI,EACV,iBAAiB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,EACpE,sBAAsB,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC5C,qBAAqB,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,EAClD,kBAAkB,OAAO,EACzB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,EAC3C,0BAA0B,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,EACxD,cAAc,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,EACxC,gBAAgB,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI;;CAwP3C,CAAC"}
|
|
@@ -31,19 +31,9 @@ export const useMessageHandler = (room, setChatMessages, onUserTranscription, se
|
|
|
31
31
|
const messageString = decoder.decode(payload);
|
|
32
32
|
// Parse JSON
|
|
33
33
|
const messageData = JSON.parse(messageString);
|
|
34
|
-
logger.log("šØ Data message received:", messageData);
|
|
35
34
|
// Extract and categorize messages for chat display
|
|
36
35
|
const timestamp = new Date().toISOString();
|
|
37
36
|
const messageId = `${messageData.type}-${Date.now()}-${Math.random()}`;
|
|
38
|
-
// Debug: Log all incoming messages to see what's being received
|
|
39
|
-
logger.log("%cšØ INCOMING MESSAGE%c", "background: #673ab7; color: white; padding: 2px 6px; border-radius: 3px; font-weight: bold;", {
|
|
40
|
-
type: messageData.type,
|
|
41
|
-
data: messageData.data,
|
|
42
|
-
message: messageData.message,
|
|
43
|
-
text: messageData.text,
|
|
44
|
-
content: messageData.content,
|
|
45
|
-
fullMessage: messageData,
|
|
46
|
-
});
|
|
47
37
|
// Handle different message types
|
|
48
38
|
switch (messageData.type) {
|
|
49
39
|
// User text messages - Skip these, only allow user-transcription
|
|
@@ -56,16 +46,9 @@ export const useMessageHandler = (room, setChatMessages, onUserTranscription, se
|
|
|
56
46
|
case "input-text":
|
|
57
47
|
case "message":
|
|
58
48
|
// Skip user text messages - only allow user-transcription
|
|
59
|
-
logger.log("%cš« SKIPPED USER TEXT%c %c" +
|
|
60
|
-
(messageData.data?.text ||
|
|
61
|
-
messageData.message ||
|
|
62
|
-
messageData.text ||
|
|
63
|
-
messageData.content ||
|
|
64
|
-
"unknown"), "background: #ff5722; color: white; padding: 2px 6px; border-radius: 3px; font-weight: bold;", "color: #ff5722; font-weight: bold;", "color: #f7f1e3;");
|
|
65
49
|
break;
|
|
66
50
|
// Bot Ready - Bot is ready, connection should be true
|
|
67
51
|
case "bot-ready":
|
|
68
|
-
logger.log("%cā
BOT READY%c", "background: #4caf50; color: white; padding: 2px 6px; border-radius: 3px; font-weight: bold;");
|
|
69
52
|
// Set connection state to true when bot is ready
|
|
70
53
|
if (onConnectionStateChange) {
|
|
71
54
|
onConnectionStateChange(true);
|
|
@@ -81,7 +64,6 @@ export const useMessageHandler = (room, setChatMessages, onUserTranscription, se
|
|
|
81
64
|
break;
|
|
82
65
|
// Bot LLM Started - Begin streaming response
|
|
83
66
|
case "bot-llm-started":
|
|
84
|
-
logger.log("%cš¤ BOT RESPONSE STARTED%c", "background: #4caf50; color: white; padding: 2px 6px; border-radius: 3px; font-weight: bold;");
|
|
85
67
|
if (setIsBotResponding) {
|
|
86
68
|
setIsBotResponding(true);
|
|
87
69
|
}
|
|
@@ -99,7 +81,6 @@ export const useMessageHandler = (room, setChatMessages, onUserTranscription, se
|
|
|
99
81
|
case "bot-llm-text":
|
|
100
82
|
if (messageData.data?.text) {
|
|
101
83
|
const newChunk = messageData.data.text;
|
|
102
|
-
logger.log("%cš¤ BOT CHUNK%c %c" + newChunk, "background: #45b7d1; color: white; padding: 2px 6px; border-radius: 3px; font-weight: bold;", "color: #45b7d1; font-weight: bold;", "color: #f7f1e3;");
|
|
103
84
|
// Update the streaming message in chat
|
|
104
85
|
setChatMessages((prevMessages) => {
|
|
105
86
|
const lastMessage = prevMessages[prevMessages.length - 1];
|
|
@@ -130,7 +111,6 @@ export const useMessageHandler = (room, setChatMessages, onUserTranscription, se
|
|
|
130
111
|
const lastMessage = prevMessages[prevMessages.length - 1];
|
|
131
112
|
if (lastMessage && lastMessage.isFinal) {
|
|
132
113
|
const finalContent = lastMessage.content;
|
|
133
|
-
logger.log("%cš¤ BOT RESPONSE COMPLETED%c %c" + finalContent, "background: #ff9800; color: white; padding: 2px 6px; border-radius: 3px; font-weight: bold;", "color: #ff9800; font-weight: bold;", "color: #f7f1e3;");
|
|
134
114
|
return [
|
|
135
115
|
...prevMessages.slice(0, -1),
|
|
136
116
|
{ ...lastMessage, content: finalContent, isFinal: false }
|
|
@@ -155,8 +135,6 @@ export const useMessageHandler = (room, setChatMessages, onUserTranscription, se
|
|
|
155
135
|
msg.content.toLowerCase().trim() ===
|
|
156
136
|
messageContent.toLowerCase().trim());
|
|
157
137
|
if (alreadyExists) {
|
|
158
|
-
logger.log("%cš DUPLICATE SKIPPED%c UserTranscription: %c" +
|
|
159
|
-
messageContent, "background: #ff6b6b; color: white; padding: 2px 6px; border-radius: 3px; font-weight: bold;", "color: #ff6b6b; font-weight: bold;", "color: #ffa726; font-weight: bold;");
|
|
160
138
|
return prev;
|
|
161
139
|
}
|
|
162
140
|
const userMessage = {
|
|
@@ -165,7 +143,6 @@ export const useMessageHandler = (room, setChatMessages, onUserTranscription, se
|
|
|
165
143
|
content: messageContent,
|
|
166
144
|
timestamp: timestamp,
|
|
167
145
|
};
|
|
168
|
-
logger.log("%cš¤ USER TRANSCRIPTION (FINAL)%c %c" + messageContent, "background: #ffa726; color: white; padding: 2px 6px; border-radius: 3px; font-weight: bold;", "color: #ffa726; font-weight: bold;", "color: #f7f1e3;");
|
|
169
146
|
return [...prev, userMessage];
|
|
170
147
|
});
|
|
171
148
|
// Clear live transcription when final
|
|
@@ -177,7 +154,6 @@ export const useMessageHandler = (room, setChatMessages, onUserTranscription, se
|
|
|
177
154
|
// Non-final transcription - show in input field
|
|
178
155
|
if (onUserTranscription) {
|
|
179
156
|
onUserTranscription(messageContent);
|
|
180
|
-
logger.log("%cš¤ LIVE TRANSCRIPTION%c %c" + messageContent, "background: #4caf50; color: white; padding: 2px 6px; border-radius: 3px; font-weight: bold;", "color: #4caf50; font-weight: bold;", "color: #f7f1e3;");
|
|
181
157
|
}
|
|
182
158
|
}
|
|
183
159
|
}
|
|
@@ -192,23 +168,16 @@ export const useMessageHandler = (room, setChatMessages, onUserTranscription, se
|
|
|
192
168
|
timestamp,
|
|
193
169
|
};
|
|
194
170
|
setChatMessages((prev) => [...prev, emotionMessage]);
|
|
195
|
-
logger.log("%cš CONVAI EMOTION%c %c" +
|
|
196
|
-
messageData.data.emotion +
|
|
197
|
-
"%c (scale: %c" +
|
|
198
|
-
(messageData.data.scale || 1) +
|
|
199
|
-
"%c)", "background: #e91e63; color: white; padding: 2px 6px; border-radius: 3px; font-weight: bold;", "color: #e91e63; font-weight: bold;", "color: #f7f1e3; font-weight: bold;", "color: #e91e63;", "color: #ffeb3b; font-weight: bold;", "color: #e91e63;");
|
|
200
171
|
}
|
|
201
172
|
break;
|
|
202
173
|
// Bot Started Speaking
|
|
203
174
|
case "bot-started-speaking":
|
|
204
|
-
logger.log("%cš BOT STARTED SPEAKING%c", "background: #10b981; color: white; padding: 2px 6px; border-radius: 3px; font-weight: bold;");
|
|
205
175
|
if (setIsSpeaking) {
|
|
206
176
|
setIsSpeaking(true);
|
|
207
177
|
}
|
|
208
178
|
break;
|
|
209
179
|
// Bot Stopped Speaking
|
|
210
180
|
case "bot-stopped-speaking":
|
|
211
|
-
logger.log("%cš BOT STOPPED SPEAKING%c", "background: #6b7280; color: white; padding: 2px 6px; border-radius: 3px; font-weight: bold;");
|
|
212
181
|
if (setIsSpeaking) {
|
|
213
182
|
setIsSpeaking(false);
|
|
214
183
|
}
|
|
@@ -223,8 +192,6 @@ export const useMessageHandler = (room, setChatMessages, onUserTranscription, se
|
|
|
223
192
|
timestamp,
|
|
224
193
|
};
|
|
225
194
|
setChatMessages((prev) => [...prev, actionMessage]);
|
|
226
|
-
logger.log("%cš ACTION RESPONSE%c %c" +
|
|
227
|
-
messageData.data.actions.join(", "), "background: #9c27b0; color: white; padding: 2px 6px; border-radius: 3px; font-weight: bold;", "color: #9c27b0; font-weight: bold;", "color: #f7f1e3;");
|
|
228
195
|
}
|
|
229
196
|
break;
|
|
230
197
|
// Behavior Tree Response Messages
|
|
@@ -237,64 +204,22 @@ export const useMessageHandler = (room, setChatMessages, onUserTranscription, se
|
|
|
237
204
|
timestamp,
|
|
238
205
|
};
|
|
239
206
|
setChatMessages((prev) => [...prev, behaviorMessage]);
|
|
240
|
-
logger.log("%cš³ BEHAVIOR TREE%c %c" +
|
|
241
|
-
messageData.data.narrative_section_id, "background: #4caf50; color: white; padding: 2px 6px; border-radius: 3px; font-weight: bold;", "color: #4caf50; font-weight: bold;", "color: #f7f1e3;");
|
|
242
|
-
logger.log("%cš³ BT DETAILS%c", "background: #4caf50; color: white; padding: 2px 6px; border-radius: 3px; font-weight: bold;", {
|
|
243
|
-
narrativeSection: messageData.data.narrative_section_id,
|
|
244
|
-
btCode: messageData.data.bt_code,
|
|
245
|
-
btConstants: messageData.data.bt_constants,
|
|
246
|
-
});
|
|
247
207
|
}
|
|
248
208
|
break;
|
|
249
209
|
// Moderation Response Messages
|
|
250
210
|
case "moderation-response":
|
|
251
|
-
logger.log("%cš”ļø MODERATION%c %c" + (messageData.data?.result || "unknown"), "background: #ff9800; color: white; padding: 2px 6px; border-radius: 3px; font-weight: bold;", "color: #ff9800; font-weight: bold;", "color: #f7f1e3;");
|
|
252
|
-
logger.log("%cš”ļø MODERATION DETAILS%c", "background: #ff9800; color: white; padding: 2px 6px; border-radius: 3px; font-weight: bold;", {
|
|
253
|
-
result: messageData.data?.result,
|
|
254
|
-
userInput: messageData.data?.user_input,
|
|
255
|
-
reason: messageData.data?.reason,
|
|
256
|
-
});
|
|
257
211
|
break;
|
|
258
212
|
// Trigger Messages
|
|
259
213
|
case "trigger-message":
|
|
260
|
-
logger.log("%cšÆ TRIGGER MESSAGE%c", "background: #2196f3; color: white; padding: 2px 6px; border-radius: 3px; font-weight: bold;", messageData.data);
|
|
261
214
|
break;
|
|
262
215
|
// Template Keys Updates
|
|
263
216
|
case "update-template-keys":
|
|
264
|
-
logger.log("%cš TEMPLATE KEYS%c", "background: #607d8b; color: white; padding: 2px 6px; border-radius: 3px; font-weight: bold;", messageData.data);
|
|
265
217
|
break;
|
|
266
218
|
// Dynamic Info Updates
|
|
267
219
|
case "update-dynamic-info":
|
|
268
|
-
logger.log("%cš DYNAMIC INFO%c", "background: #795548; color: white; padding: 2px 6px; border-radius: 3px; font-weight: bold;", messageData.data);
|
|
269
220
|
break;
|
|
270
221
|
}
|
|
271
|
-
//
|
|
272
|
-
if (![
|
|
273
|
-
"user_text_message",
|
|
274
|
-
"user-llm-text",
|
|
275
|
-
"text-input",
|
|
276
|
-
"user-input",
|
|
277
|
-
"text-message",
|
|
278
|
-
"chat-message",
|
|
279
|
-
"input-text",
|
|
280
|
-
"message",
|
|
281
|
-
"bot-llm-text",
|
|
282
|
-
"bot-llm-started",
|
|
283
|
-
"bot-llm-stopped",
|
|
284
|
-
"user-transcription",
|
|
285
|
-
"bot-emotion",
|
|
286
|
-
"bot-started-speaking",
|
|
287
|
-
"bot-stopped-speaking",
|
|
288
|
-
"action-response",
|
|
289
|
-
"behavior-tree-response",
|
|
290
|
-
"moderation-response",
|
|
291
|
-
"trigger-message",
|
|
292
|
-
"update-template-keys",
|
|
293
|
-
"update-dynamic-info",
|
|
294
|
-
].includes(messageData.type)) {
|
|
295
|
-
logger.log("%cš UNHANDLED MESSAGE TYPE%c %c" + messageData.type, "background: #f44336; color: white; padding: 2px 6px; border-radius: 3px; font-weight: bold;", "color: #f44336; font-weight: bold;", "color: #f7f1e3;");
|
|
296
|
-
logger.log("%cš UNHANDLED DATA%c", "background: #f44336; color: white; padding: 2px 6px; border-radius: 3px; font-weight: bold;", messageData);
|
|
297
|
-
}
|
|
222
|
+
// Silently ignore any unhandled message types
|
|
298
223
|
}
|
|
299
224
|
catch (error) {
|
|
300
225
|
logger.error("Failed to parse data message:", error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMessageHandler.js","sourceRoot":"","sources":["../../src/hooks/useMessageHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAQ,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AAElE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,IAAU,EACV,eAAoE,EACpE,mBAA4C,EAC5C,kBAAkD,EAClD,eAAyB,EACzB,aAA2C,EAC3C,uBAAwD,EACxD,WAAwC,EACxC,aAA0C,EAC1C,EAAE;IACF,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,OAAmB,EAAE,WAAgB,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,yBAAyB;YACzB,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAClC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAE9C,aAAa;YACb,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAE9C,
|
|
1
|
+
{"version":3,"file":"useMessageHandler.js","sourceRoot":"","sources":["../../src/hooks/useMessageHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useScreenShare.d.ts","sourceRoot":"","sources":["../../src/hooks/useScreenShare.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,MAAM,WAAW,mBAAmB;IAElC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,mBAAmB,EAAE,OAAO,CAAC;IAG7B,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAGvC,0BAA0B,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAGhD,oBAAoB,EAAE,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;CAC5C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,IAAI,GAAG,IAAI,KAAG,
|
|
1
|
+
{"version":3,"file":"useScreenShare.d.ts","sourceRoot":"","sources":["../../src/hooks/useScreenShare.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,MAAM,WAAW,mBAAmB;IAElC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,mBAAmB,EAAE,OAAO,CAAC;IAG7B,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAGvC,0BAA0B,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAGhD,oBAAoB,EAAE,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;CAC5C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,IAAI,GAAG,IAAI,KAAG,mBA0KlD,CAAC"}
|
|
@@ -38,7 +38,7 @@ export const useScreenShare = (room) => {
|
|
|
38
38
|
const [isScreenShareActive, setIsScreenShareActive] = useState(false);
|
|
39
39
|
// Update screen share state when room changes
|
|
40
40
|
useEffect(() => {
|
|
41
|
-
if (!room) {
|
|
41
|
+
if (!room || room.state === 'disconnected') {
|
|
42
42
|
setIsScreenShareEnabled(false);
|
|
43
43
|
setIsScreenShareActive(false);
|
|
44
44
|
return;
|
|
@@ -51,25 +51,21 @@ export const useScreenShare = (room) => {
|
|
|
51
51
|
const handleTrackPublished = (track) => {
|
|
52
52
|
if (track.source === 'screen_share') {
|
|
53
53
|
setIsScreenShareActive(true);
|
|
54
|
-
logger.log("š„ļø Screen share started");
|
|
55
54
|
}
|
|
56
55
|
};
|
|
57
56
|
const handleTrackUnpublished = (track) => {
|
|
58
57
|
if (track.source === 'screen_share') {
|
|
59
58
|
setIsScreenShareActive(false);
|
|
60
|
-
logger.log("š„ļø Screen share stopped");
|
|
61
59
|
}
|
|
62
60
|
};
|
|
63
61
|
const handleTrackMuted = (track) => {
|
|
64
62
|
if (track.source === 'screen_share') {
|
|
65
63
|
setIsScreenShareActive(false);
|
|
66
|
-
logger.log("š„ļø Screen share muted");
|
|
67
64
|
}
|
|
68
65
|
};
|
|
69
66
|
const handleTrackUnmuted = (track) => {
|
|
70
67
|
if (track.source === 'screen_share') {
|
|
71
68
|
setIsScreenShareActive(true);
|
|
72
|
-
logger.log("š„ļø Screen share unmuted");
|
|
73
69
|
}
|
|
74
70
|
};
|
|
75
71
|
// Subscribe to events
|
|
@@ -83,11 +79,10 @@ export const useScreenShare = (room) => {
|
|
|
83
79
|
localParticipant.off('trackMuted', handleTrackMuted);
|
|
84
80
|
localParticipant.off('trackUnmuted', handleTrackUnmuted);
|
|
85
81
|
};
|
|
86
|
-
}, [room]);
|
|
82
|
+
}, [room, room?.state]);
|
|
87
83
|
// Enable screen share
|
|
88
84
|
const enableScreenShare = useCallback(async () => {
|
|
89
85
|
if (!room) {
|
|
90
|
-
logger.warn("Cannot enable screen share: no room connection");
|
|
91
86
|
return;
|
|
92
87
|
}
|
|
93
88
|
try {
|
|
@@ -99,7 +94,6 @@ export const useScreenShare = (room) => {
|
|
|
99
94
|
systemAudio: "include",
|
|
100
95
|
});
|
|
101
96
|
setIsScreenShareEnabled(true);
|
|
102
|
-
logger.log("š„ļø Screen share enabled successfully");
|
|
103
97
|
}
|
|
104
98
|
catch (error) {
|
|
105
99
|
logger.error("Failed to enable screen share:", error);
|
|
@@ -109,13 +103,11 @@ export const useScreenShare = (room) => {
|
|
|
109
103
|
// Disable screen share
|
|
110
104
|
const disableScreenShare = useCallback(async () => {
|
|
111
105
|
if (!room) {
|
|
112
|
-
logger.warn("Cannot disable screen share: no room connection");
|
|
113
106
|
return;
|
|
114
107
|
}
|
|
115
108
|
try {
|
|
116
109
|
await room.localParticipant.setScreenShareEnabled(false);
|
|
117
110
|
setIsScreenShareEnabled(false);
|
|
118
|
-
logger.log("š„ļø Screen share disabled successfully");
|
|
119
111
|
}
|
|
120
112
|
catch (error) {
|
|
121
113
|
logger.error("Failed to disable screen share:", error);
|
|
@@ -134,7 +126,6 @@ export const useScreenShare = (room) => {
|
|
|
134
126
|
// Enable screen share with audio
|
|
135
127
|
const enableScreenShareWithAudio = useCallback(async () => {
|
|
136
128
|
if (!room) {
|
|
137
|
-
logger.warn("Cannot enable screen share with audio: no room connection");
|
|
138
129
|
return;
|
|
139
130
|
}
|
|
140
131
|
try {
|
|
@@ -151,7 +142,6 @@ export const useScreenShare = (room) => {
|
|
|
151
142
|
room.localParticipant.publishTrack(track);
|
|
152
143
|
});
|
|
153
144
|
setIsScreenShareEnabled(true);
|
|
154
|
-
logger.log("š„ļø Screen share with audio enabled successfully");
|
|
155
145
|
}
|
|
156
146
|
catch (error) {
|
|
157
147
|
logger.error("Failed to enable screen share with audio:", error);
|
|
@@ -161,7 +151,6 @@ export const useScreenShare = (room) => {
|
|
|
161
151
|
// Get screen share tracks
|
|
162
152
|
const getScreenShareTracks = useCallback(async () => {
|
|
163
153
|
if (!room) {
|
|
164
|
-
logger.warn("Cannot get screen share tracks: no room connection");
|
|
165
154
|
return [];
|
|
166
155
|
}
|
|
167
156
|
try {
|
|
@@ -173,7 +162,6 @@ export const useScreenShare = (room) => {
|
|
|
173
162
|
screenShareTracks.push(publication.track);
|
|
174
163
|
}
|
|
175
164
|
});
|
|
176
|
-
logger.log("š„ļø Screen share tracks:", screenShareTracks);
|
|
177
165
|
return screenShareTracks;
|
|
178
166
|
}
|
|
179
167
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useScreenShare.js","sourceRoot":"","sources":["../../src/hooks/useScreenShare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAmBzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAiB,EAAuB,EAAE;IACvE,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxE,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtE,8CAA8C;IAC9C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"useScreenShare.js","sourceRoot":"","sources":["../../src/hooks/useScreenShare.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTemplateKeysUpdater.d.ts","sourceRoot":"","sources":["../../src/hooks/useTemplateKeysUpdater.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,sBAAsB,GACjC,MAAM,IAAI,EACV,gBAAgB,MAAM;uCAGL,YAAY;
|
|
1
|
+
{"version":3,"file":"useTemplateKeysUpdater.d.ts","sourceRoot":"","sources":["../../src/hooks/useTemplateKeysUpdater.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,sBAAsB,GACjC,MAAM,IAAI,EACV,gBAAgB,MAAM;uCAGL,YAAY;CA0B9B,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { useCallback } from "react";
|
|
2
|
-
import { logger } from "../utils/logger";
|
|
3
2
|
/**
|
|
4
3
|
* Hook for updating template keys in Convai.
|
|
5
4
|
*
|
|
@@ -43,7 +42,6 @@ export const useTemplateKeysUpdater = (room, participantSid) => {
|
|
|
43
42
|
room.localParticipant.publishData(encodedData, {
|
|
44
43
|
reliable: true,
|
|
45
44
|
});
|
|
46
|
-
logger.log("š Template keys updated:", templateKeys, "SID:", participantSid || room.localParticipant.sid);
|
|
47
45
|
}
|
|
48
46
|
}, [room, participantSid]);
|
|
49
47
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTemplateKeysUpdater.js","sourceRoot":"","sources":["../../src/hooks/useTemplateKeysUpdater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useTemplateKeysUpdater.js","sourceRoot":"","sources":["../../src/hooks/useTemplateKeysUpdater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAQpC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,IAAU,EACV,cAAsB,EACtB,EAAE;IACF,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,YAA0B,EAAE,EAAE;QAC7B,IACE,IAAI;YACJ,IAAI,CAAC,gBAAgB;YACrB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EACpC,CAAC;YACD,MAAM,OAAO,GAAG;gBACd,IAAI,EAAE,sBAAsB;gBAC5B,IAAI,EAAE;oBACJ,aAAa,EAAE,YAAY;oBAC3B,eAAe,EAAE,cAAc,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG;iBAC7D;aACF,CAAC;YAEF,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,WAAW,EAAE;gBAC7C,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EACD,CAAC,IAAI,EAAE,cAAc,CAAC,CACvB,CAAC;IAEF,OAAO;QACL,kBAAkB;KACnB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTriggerMessageSender.d.ts","sourceRoot":"","sources":["../../src/hooks/useTriggerMessageSender.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,uBAAuB,GAClC,MAAM,IAAI,EACV,gBAAgB,MAAM;uCAGL,MAAM,mBAAmB,MAAM;
|
|
1
|
+
{"version":3,"file":"useTriggerMessageSender.d.ts","sourceRoot":"","sources":["../../src/hooks/useTriggerMessageSender.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,uBAAuB,GAClC,MAAM,IAAI,EACV,gBAAgB,MAAM;uCAGL,MAAM,mBAAmB,MAAM;CAuBjD,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { useCallback } from "react";
|
|
2
|
-
import { logger } from "../utils/logger";
|
|
3
2
|
/**
|
|
4
3
|
* Hook for sending trigger messages to Convai.
|
|
5
4
|
*
|
|
@@ -38,11 +37,6 @@ export const useTriggerMessageSender = (room, participantSid) => {
|
|
|
38
37
|
room.localParticipant.publishData(encodedData, {
|
|
39
38
|
reliable: true,
|
|
40
39
|
});
|
|
41
|
-
logger.log("šÆ Trigger message sent:", {
|
|
42
|
-
triggerName,
|
|
43
|
-
triggerMessage,
|
|
44
|
-
sid: participantSid || room.localParticipant.sid,
|
|
45
|
-
});
|
|
46
40
|
}
|
|
47
41
|
}, [room, participantSid]);
|
|
48
42
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTriggerMessageSender.js","sourceRoot":"","sources":["../../src/hooks/useTriggerMessageSender.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useTriggerMessageSender.js","sourceRoot":"","sources":["../../src/hooks/useTriggerMessageSender.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAIpC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,IAAU,EACV,cAAsB,EACtB,EAAE;IACF,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,WAAoB,EAAE,cAAuB,EAAE,EAAE;QAChD,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG;gBACd,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE;oBACJ,GAAG,CAAC,WAAW,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;oBACjD,GAAG,CAAC,cAAc,IAAI,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;oBAC1D,eAAe,EAAE,cAAc,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG;iBAC7D;aACF,CAAC;YAEF,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,WAAW,EAAE;gBAC7C,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EACD,CAAC,IAAI,EAAE,cAAc,CAAC,CACvB,CAAC;IAEF,OAAO;QACL,kBAAkB;KACnB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTtsToggle.d.ts","sourceRoot":"","sources":["../../src/hooks/useTtsToggle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,IAAI;yBAEzB,OAAO;
|
|
1
|
+
{"version":3,"file":"useTtsToggle.d.ts","sourceRoot":"","sources":["../../src/hooks/useTtsToggle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,IAAI;yBAEzB,OAAO;CA8BpB,CAAC"}
|
|
@@ -36,7 +36,6 @@ export const useTtsToggle = (room) => {
|
|
|
36
36
|
const toggleTts = useCallback((enabled) => {
|
|
37
37
|
// Check if room is connected and localParticipant exists
|
|
38
38
|
if (!room || room.state === 'disconnected' || !room.localParticipant) {
|
|
39
|
-
logger.warn("Cannot toggle TTS: room is disconnected or localParticipant is unavailable");
|
|
40
39
|
return;
|
|
41
40
|
}
|
|
42
41
|
try {
|
|
@@ -50,7 +49,6 @@ export const useTtsToggle = (room) => {
|
|
|
50
49
|
room.localParticipant.publishData(encodedData, {
|
|
51
50
|
reliable: true,
|
|
52
51
|
});
|
|
53
|
-
logger.log(`š TTS ${enabled ? 'enabled' : 'disabled'}`);
|
|
54
52
|
}
|
|
55
53
|
catch (error) {
|
|
56
54
|
logger.error("Failed to toggle TTS:", error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTtsToggle.js","sourceRoot":"","sources":["../../src/hooks/useTtsToggle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAU,EAAE,EAAE;IACzC,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,OAAgB,EAAE,EAAE;QACnB,yDAAyD;QACzD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACrE,
|
|
1
|
+
{"version":3,"file":"useTtsToggle.js","sourceRoot":"","sources":["../../src/hooks/useTtsToggle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAU,EAAE,EAAE;IACzC,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,OAAgB,EAAE,EAAE;QACnB,yDAAyD;QACzD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACrE,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG;gBACd,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE;oBACJ,SAAS,EAAE,OAAO;iBACnB;aACF,CAAC;YAEF,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,WAAW,EAAE;gBAC7C,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;YAC7C,qCAAqC;YACrC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAC;IAEF,OAAO;QACL,SAAS;KACV,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUserTextMessageSender.d.ts","sourceRoot":"","sources":["../../src/hooks/useUserTextMessageSender.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,wBAAwB,GACnC,MAAM,IAAI,EACV,gBAAgB,MAAM;gCAGb,MAAM;
|
|
1
|
+
{"version":3,"file":"useUserTextMessageSender.d.ts","sourceRoot":"","sources":["../../src/hooks/useUserTextMessageSender.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,wBAAwB,GACnC,MAAM,IAAI,EACV,gBAAgB,MAAM;gCAGb,MAAM;CAmChB,CAAC"}
|
|
@@ -27,11 +27,9 @@ export const useUserTextMessageSender = (room, participantSid) => {
|
|
|
27
27
|
const sendUserTextMessage = useCallback((text) => {
|
|
28
28
|
// Check if room is connected and localParticipant exists
|
|
29
29
|
if (!room || room.state === 'disconnected' || !room.localParticipant) {
|
|
30
|
-
logger.warn("Cannot send message: room is disconnected or localParticipant is unavailable");
|
|
31
30
|
return;
|
|
32
31
|
}
|
|
33
32
|
if (!text || !text.trim()) {
|
|
34
|
-
logger.warn("Cannot send message: text is empty");
|
|
35
33
|
return;
|
|
36
34
|
}
|
|
37
35
|
try {
|
|
@@ -46,7 +44,6 @@ export const useUserTextMessageSender = (room, participantSid) => {
|
|
|
46
44
|
room.localParticipant.publishData(encodedData, {
|
|
47
45
|
reliable: true,
|
|
48
46
|
});
|
|
49
|
-
logger.log("š¬ User text message sent:", text.trim(), "SID:", participantSid || room.localParticipant.sid);
|
|
50
47
|
}
|
|
51
48
|
catch (error) {
|
|
52
49
|
logger.error("Failed to send user text message:", error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUserTextMessageSender.js","sourceRoot":"","sources":["../../src/hooks/useUserTextMessageSender.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,IAAU,EACV,cAAsB,EACtB,EAAE;IACF,MAAM,mBAAmB,GAAG,WAAW,CACrC,CAAC,IAAY,EAAE,EAAE;QACf,yDAAyD;QACzD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACrE,
|
|
1
|
+
{"version":3,"file":"useUserTextMessageSender.js","sourceRoot":"","sources":["../../src/hooks/useUserTextMessageSender.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,IAAU,EACV,cAAsB,EACtB,EAAE;IACF,MAAM,mBAAmB,GAAG,WAAW,CACrC,CAAC,IAAY,EAAE,EAAE;QACf,yDAAyD;QACzD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACrE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG;gBACd,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE;oBACJ,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;oBACjB,eAAe,EAAE,cAAc,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG;iBAC7D;aACF,CAAC;YAEF,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,WAAW,EAAE;gBAC7C,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YACzD,qCAAqC;YACrC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,EACD,CAAC,IAAI,EAAE,cAAc,CAAC,CACvB,CAAC;IAEF,OAAO;QACL,mBAAmB;KACpB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVideoControls.d.ts","sourceRoot":"","sources":["../../src/hooks/useVideoControls.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,MAAM,WAAW,aAAa;IAE5B,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IAGvB,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAGjC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,eAAe,EAAE,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAGlD,eAAe,EAAE,CAAC,OAAO,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,IAAI,GAAG,IAAI,KAAG,
|
|
1
|
+
{"version":3,"file":"useVideoControls.d.ts","sourceRoot":"","sources":["../../src/hooks/useVideoControls.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,MAAM,WAAW,aAAa;IAE5B,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IAGvB,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAGjC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,eAAe,EAAE,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAGlD,eAAe,EAAE,CAAC,OAAO,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,IAAI,GAAG,IAAI,KAAG,aAwLpD,CAAC"}
|
|
@@ -29,7 +29,7 @@ export const useVideoControls = (room) => {
|
|
|
29
29
|
const [isVideoHidden, setIsVideoHidden] = useState(false);
|
|
30
30
|
// Update video state when room changes
|
|
31
31
|
useEffect(() => {
|
|
32
|
-
if (!room) {
|
|
32
|
+
if (!room || room.state === 'disconnected') {
|
|
33
33
|
setIsVideoEnabled(false);
|
|
34
34
|
setIsVideoHidden(false);
|
|
35
35
|
return;
|
|
@@ -42,25 +42,21 @@ export const useVideoControls = (room) => {
|
|
|
42
42
|
const handleTrackMuted = (track) => {
|
|
43
43
|
if (track.source === 'camera') {
|
|
44
44
|
setIsVideoHidden(true);
|
|
45
|
-
logger.log("š¹ Video hidden");
|
|
46
45
|
}
|
|
47
46
|
};
|
|
48
47
|
const handleTrackUnmuted = (track) => {
|
|
49
48
|
if (track.source === 'camera') {
|
|
50
49
|
setIsVideoHidden(false);
|
|
51
|
-
logger.log("š¹ Video shown");
|
|
52
50
|
}
|
|
53
51
|
};
|
|
54
52
|
const handleTrackPublished = (publication) => {
|
|
55
53
|
if (publication.source === 'camera') {
|
|
56
54
|
setIsVideoEnabled(true);
|
|
57
|
-
logger.log("š¹ Camera track published - video enabled");
|
|
58
55
|
}
|
|
59
56
|
};
|
|
60
57
|
const handleTrackUnpublished = (publication) => {
|
|
61
58
|
if (publication.source === 'camera') {
|
|
62
59
|
setIsVideoEnabled(false);
|
|
63
|
-
logger.log("š¹ Camera track unpublished - video disabled");
|
|
64
60
|
}
|
|
65
61
|
};
|
|
66
62
|
// Subscribe to events
|
|
@@ -74,17 +70,15 @@ export const useVideoControls = (room) => {
|
|
|
74
70
|
localParticipant.off('trackPublished', handleTrackPublished);
|
|
75
71
|
localParticipant.off('trackUnpublished', handleTrackUnpublished);
|
|
76
72
|
};
|
|
77
|
-
}, [room]);
|
|
73
|
+
}, [room, room?.state]);
|
|
78
74
|
// Enable video
|
|
79
75
|
const enableVideo = useCallback(async () => {
|
|
80
76
|
if (!room) {
|
|
81
|
-
logger.warn("Cannot enable video: no room connection");
|
|
82
77
|
return;
|
|
83
78
|
}
|
|
84
79
|
try {
|
|
85
80
|
await room.localParticipant.setCameraEnabled(true);
|
|
86
81
|
setIsVideoEnabled(true); // Update state immediately
|
|
87
|
-
logger.log("š¹ Video enabled successfully");
|
|
88
82
|
}
|
|
89
83
|
catch (error) {
|
|
90
84
|
logger.error("Failed to enable video:", error);
|
|
@@ -94,13 +88,11 @@ export const useVideoControls = (room) => {
|
|
|
94
88
|
// Disable video
|
|
95
89
|
const disableVideo = useCallback(async () => {
|
|
96
90
|
if (!room) {
|
|
97
|
-
logger.warn("Cannot disable video: no room connection");
|
|
98
91
|
return;
|
|
99
92
|
}
|
|
100
93
|
try {
|
|
101
94
|
await room.localParticipant.setCameraEnabled(false);
|
|
102
95
|
setIsVideoEnabled(false); // Update state immediately
|
|
103
|
-
logger.log("š¹ Video disabled successfully");
|
|
104
96
|
}
|
|
105
97
|
catch (error) {
|
|
106
98
|
logger.error("Failed to disable video:", error);
|
|
@@ -110,13 +102,11 @@ export const useVideoControls = (room) => {
|
|
|
110
102
|
// Hide video
|
|
111
103
|
const hideVideo = useCallback(async () => {
|
|
112
104
|
if (!room) {
|
|
113
|
-
logger.warn("Cannot hide video: no room connection");
|
|
114
105
|
return;
|
|
115
106
|
}
|
|
116
107
|
try {
|
|
117
108
|
// For now, we'll just disable the camera as LiveKit doesn't have a direct hide method
|
|
118
109
|
await room.localParticipant.setCameraEnabled(false);
|
|
119
|
-
logger.log("š¹ Video hidden successfully");
|
|
120
110
|
}
|
|
121
111
|
catch (error) {
|
|
122
112
|
logger.error("Failed to hide video:", error);
|
|
@@ -126,12 +116,10 @@ export const useVideoControls = (room) => {
|
|
|
126
116
|
// Show video
|
|
127
117
|
const showVideo = useCallback(async () => {
|
|
128
118
|
if (!room) {
|
|
129
|
-
logger.warn("Cannot show video: no room connection");
|
|
130
119
|
return;
|
|
131
120
|
}
|
|
132
121
|
try {
|
|
133
122
|
await room.localParticipant.setCameraEnabled(true);
|
|
134
|
-
logger.log("š¹ Video shown successfully");
|
|
135
123
|
}
|
|
136
124
|
catch (error) {
|
|
137
125
|
logger.error("Failed to show video:", error);
|
|
@@ -150,12 +138,10 @@ export const useVideoControls = (room) => {
|
|
|
150
138
|
// Set video device
|
|
151
139
|
const setVideoDevice = useCallback(async (deviceId) => {
|
|
152
140
|
if (!room) {
|
|
153
|
-
logger.warn("Cannot set video device: no room connection");
|
|
154
141
|
return;
|
|
155
142
|
}
|
|
156
143
|
try {
|
|
157
144
|
await room.localParticipant.setCameraEnabled(true, { deviceId });
|
|
158
|
-
logger.log("š¹ Video device changed to:", deviceId);
|
|
159
145
|
}
|
|
160
146
|
catch (error) {
|
|
161
147
|
logger.error("Failed to set video device:", error);
|
|
@@ -167,7 +153,6 @@ export const useVideoControls = (room) => {
|
|
|
167
153
|
try {
|
|
168
154
|
const devices = await navigator.mediaDevices.enumerateDevices();
|
|
169
155
|
const videoDevices = devices.filter(device => device.kind === 'videoinput');
|
|
170
|
-
logger.log("š¹ Available video devices:", videoDevices);
|
|
171
156
|
return videoDevices;
|
|
172
157
|
}
|
|
173
158
|
catch (error) {
|
|
@@ -178,13 +163,10 @@ export const useVideoControls = (room) => {
|
|
|
178
163
|
// Set video quality
|
|
179
164
|
const setVideoQuality = useCallback(async (quality) => {
|
|
180
165
|
if (!room) {
|
|
181
|
-
logger.warn("Cannot set video quality: no room connection");
|
|
182
166
|
return;
|
|
183
167
|
}
|
|
184
168
|
try {
|
|
185
169
|
// TODO: Implement video quality settings when LiveKit provides the API
|
|
186
|
-
logger.log("š¹ Video quality set to:", quality);
|
|
187
|
-
logger.log("š¹ Video quality settings not implemented yet");
|
|
188
170
|
}
|
|
189
171
|
catch (error) {
|
|
190
172
|
logger.error("Failed to set video quality:", error);
|