sera-ai 1.0.14 → 1.0.16

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/index.js CHANGED
@@ -2894,6 +2894,7 @@ var useAudioRecorder = ({
2894
2894
  markSessionComplete,
2895
2895
  markSessionFailed,
2896
2896
  retrySession,
2897
+ deleteSession,
2897
2898
  getFailedSession,
2898
2899
  clearFailedSessions
2899
2900
  } = useAudioRecovery_default(async (audioChunks, metadata) => {
@@ -3377,6 +3378,9 @@ var useAudioRecorder = ({
3377
3378
  "Transcription failed after multiple attempts. Audio saved offline - you can retry transcription."
3378
3379
  );
3379
3380
  }
3381
+ if (retry) {
3382
+ throw err;
3383
+ }
3380
3384
  } finally {
3381
3385
  if (isFinalChunk) setIsProcessing(false);
3382
3386
  }
@@ -3408,13 +3412,22 @@ var useAudioRecorder = ({
3408
3412
  uploadChunkToServerRef.current = uploadChunkToServer;
3409
3413
  const retryFailedSession = React3__namespace.default.useCallback(async () => {
3410
3414
  setIsRetryingSession(true);
3415
+ let retrySucceeded = false;
3416
+ let failedSessionId = null;
3411
3417
  try {
3412
3418
  const failedSession = await getFailedSession();
3419
+ failedSessionId = failedSession?.id || null;
3413
3420
  if (failedSession) {
3414
3421
  const success = await retrySession(failedSession.id);
3415
3422
  if (success) {
3416
3423
  console.log(`Successfully retried session ${failedSession.id}`);
3424
+ await deleteSession(failedSession.id);
3425
+ console.log(`Deleted session ${failedSession.id} from IndexedDB after successful retry`);
3417
3426
  setError(null);
3427
+ retrySucceeded = true;
3428
+ } else {
3429
+ console.log(`Retry failed for session ${failedSession.id} - will show retry UI`);
3430
+ setError("Retry failed. Please check your connection and try again.");
3418
3431
  }
3419
3432
  }
3420
3433
  } catch (error2) {
@@ -3422,8 +3435,15 @@ var useAudioRecorder = ({
3422
3435
  setError("Failed to retry sessions. Please try again.");
3423
3436
  } finally {
3424
3437
  setIsRetryingSession(false);
3438
+ if (retrySucceeded) {
3439
+ setShowRetrySessionPrompt(false);
3440
+ } else if (failedSessionId) {
3441
+ setShowRetrySessionPrompt(true);
3442
+ } else {
3443
+ setShowRetrySessionPrompt(false);
3444
+ }
3425
3445
  }
3426
- }, [retrySession, getFailedSession]);
3446
+ }, [retrySession, getFailedSession, deleteSession]);
3427
3447
  const startRecording = React3__namespace.default.useCallback(async () => {
3428
3448
  try {
3429
3449
  setError(null);