agora-appbuilder-core 4.0.22-beta-9 → 4.0.22-beta-10
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/package.json
CHANGED
|
@@ -117,6 +117,7 @@ enum RECORDING_REQUEST_STATE {
|
|
|
117
117
|
STARTED_MIX = 'STARTED_MIX',
|
|
118
118
|
STARTED_WEB = 'STARTED_WEB',
|
|
119
119
|
STOPPED = 'STOPPED',
|
|
120
|
+
STOP_FAILED = 'STOP_FAILED',
|
|
120
121
|
FAILED = 'FAILED',
|
|
121
122
|
}
|
|
122
123
|
const RecordingActions = {
|
|
@@ -321,9 +322,29 @@ const RecordingProvider = (props: RecordingProviderProps) => {
|
|
|
321
322
|
}
|
|
322
323
|
}
|
|
323
324
|
} else if (res.status === 500) {
|
|
325
|
+
setRecordingActive(false);
|
|
326
|
+
setInProgress(false);
|
|
327
|
+
events.send(
|
|
328
|
+
EventNames.RECORDING_STATE_ATTRIBUTE,
|
|
329
|
+
JSON.stringify({
|
|
330
|
+
action: RecordingActions.RECORDING_REQUEST_STATE.FAILED,
|
|
331
|
+
value: `${localUid}`,
|
|
332
|
+
}),
|
|
333
|
+
PersistanceLevel.Session,
|
|
334
|
+
);
|
|
324
335
|
showErrorToast(headingStartError, subheadingError);
|
|
325
336
|
throw Error(`Internal server error ${res.status}`);
|
|
326
337
|
} else {
|
|
338
|
+
setRecordingActive(false);
|
|
339
|
+
setInProgress(false);
|
|
340
|
+
events.send(
|
|
341
|
+
EventNames.RECORDING_STATE_ATTRIBUTE,
|
|
342
|
+
JSON.stringify({
|
|
343
|
+
action: RecordingActions.RECORDING_REQUEST_STATE.FAILED,
|
|
344
|
+
value: `${localUid}`,
|
|
345
|
+
}),
|
|
346
|
+
PersistanceLevel.Session,
|
|
347
|
+
);
|
|
327
348
|
showErrorToast(headingStartError);
|
|
328
349
|
throw Error(`Internal server error ${res.status}`);
|
|
329
350
|
}
|
|
@@ -352,6 +373,14 @@ const RecordingProvider = (props: RecordingProviderProps) => {
|
|
|
352
373
|
/**
|
|
353
374
|
* Any host in the channel can stop recording.
|
|
354
375
|
*/
|
|
376
|
+
events.send(
|
|
377
|
+
EventNames.RECORDING_STATE_ATTRIBUTE,
|
|
378
|
+
JSON.stringify({
|
|
379
|
+
action: RecordingActions.RECORDING_REQUEST_STATE.PENDING,
|
|
380
|
+
value: {uid: `${localUid}`, api: 'STOP_RECORDING'},
|
|
381
|
+
}),
|
|
382
|
+
PersistanceLevel.Session,
|
|
383
|
+
);
|
|
355
384
|
logger.debug(LogSource.Internals, 'RECORDING', 'stop recording API called');
|
|
356
385
|
fetchRetry(`${$config.BACKEND_ENDPOINT}/v1/recording/stop`, {
|
|
357
386
|
method: 'POST',
|
|
@@ -389,6 +418,14 @@ const RecordingProvider = (props: RecordingProviderProps) => {
|
|
|
389
418
|
// 2. set the local recording state to false to update the UI
|
|
390
419
|
setRecordingActive(false);
|
|
391
420
|
} else if (res.status === 500) {
|
|
421
|
+
events.send(
|
|
422
|
+
EventNames.RECORDING_STATE_ATTRIBUTE,
|
|
423
|
+
JSON.stringify({
|
|
424
|
+
action: RecordingActions.RECORDING_REQUEST_STATE.STOP_FAILED,
|
|
425
|
+
value: `${localUid}`,
|
|
426
|
+
}),
|
|
427
|
+
PersistanceLevel.Session,
|
|
428
|
+
);
|
|
392
429
|
logger.error(
|
|
393
430
|
LogSource.NetworkRest,
|
|
394
431
|
'recording_stop',
|
|
@@ -398,6 +435,14 @@ const RecordingProvider = (props: RecordingProviderProps) => {
|
|
|
398
435
|
showErrorToast(headingStopError, subheadingError);
|
|
399
436
|
throw Error(`Internal server error ${res.status}`);
|
|
400
437
|
} else {
|
|
438
|
+
events.send(
|
|
439
|
+
EventNames.RECORDING_STATE_ATTRIBUTE,
|
|
440
|
+
JSON.stringify({
|
|
441
|
+
action: RecordingActions.RECORDING_REQUEST_STATE.STOP_FAILED,
|
|
442
|
+
value: `${localUid}`,
|
|
443
|
+
}),
|
|
444
|
+
PersistanceLevel.Session,
|
|
445
|
+
);
|
|
401
446
|
logger.error(
|
|
402
447
|
LogSource.NetworkRest,
|
|
403
448
|
'recording_stop',
|
|
@@ -410,13 +455,12 @@ const RecordingProvider = (props: RecordingProviderProps) => {
|
|
|
410
455
|
}
|
|
411
456
|
})
|
|
412
457
|
.catch(err => {
|
|
413
|
-
setRecordingActive(false);
|
|
414
458
|
setInProgress(false);
|
|
415
459
|
log('stop recording', err);
|
|
416
460
|
events.send(
|
|
417
461
|
EventNames.RECORDING_STATE_ATTRIBUTE,
|
|
418
462
|
JSON.stringify({
|
|
419
|
-
action: RecordingActions.RECORDING_REQUEST_STATE.
|
|
463
|
+
action: RecordingActions.RECORDING_REQUEST_STATE.STOP_FAILED,
|
|
420
464
|
value: `${localUid}`,
|
|
421
465
|
}),
|
|
422
466
|
PersistanceLevel.Session,
|
|
@@ -433,14 +477,6 @@ const RecordingProvider = (props: RecordingProviderProps) => {
|
|
|
433
477
|
|
|
434
478
|
const stopRecording = useCallback(() => {
|
|
435
479
|
setInProgress(true);
|
|
436
|
-
events.send(
|
|
437
|
-
EventNames.RECORDING_STATE_ATTRIBUTE,
|
|
438
|
-
JSON.stringify({
|
|
439
|
-
action: RecordingActions.RECORDING_REQUEST_STATE.PENDING,
|
|
440
|
-
value: {uid: `${localUid}`, api: 'STOP_RECORDING'},
|
|
441
|
-
}),
|
|
442
|
-
PersistanceLevel.Session,
|
|
443
|
-
);
|
|
444
480
|
if (recordingMode === 'WEB') {
|
|
445
481
|
log('Stopping recording by sending event to bot');
|
|
446
482
|
// send stop request to bot
|
|
@@ -563,6 +599,13 @@ const RecordingProvider = (props: RecordingProviderProps) => {
|
|
|
563
599
|
setInProgress(false);
|
|
564
600
|
setRecordingActive(false);
|
|
565
601
|
break;
|
|
602
|
+
/**
|
|
603
|
+
* The below case is for enable stop button again if stop recording api failed. for remote users
|
|
604
|
+
*/
|
|
605
|
+
case RecordingActions.RECORDING_REQUEST_STATE.STOP_FAILED:
|
|
606
|
+
setInProgress(false);
|
|
607
|
+
setRecordingActive(true);
|
|
608
|
+
break;
|
|
566
609
|
/**
|
|
567
610
|
* The below case is not persisted, hence we need not worry about whether the
|
|
568
611
|
* new user gets the correct state or not
|