@bota.dev/react-native-app-sdk 2.0.0-beta.13 → 2.0.0-beta.14

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.
Files changed (39) hide show
  1. package/README.md +20 -7
  2. package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidRecordingUploads.kt +2 -2
  3. package/android/src/test/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidRecordingUploadsTest.kt +23 -0
  4. package/generated/codegen-contract.json +2 -2
  5. package/ios/BotaDeviceSDKAppleRecordingUploads.swift +3 -3
  6. package/lib/commonjs/managers/NativeUploadQueue.js +22 -8
  7. package/lib/commonjs/managers/NativeUploadQueue.js.map +1 -1
  8. package/lib/commonjs/managers/uploadRecoveryMetadata.js +4 -0
  9. package/lib/commonjs/managers/uploadRecoveryMetadata.js.map +1 -1
  10. package/lib/commonjs/managers/uploadVerificationPending.js +20 -0
  11. package/lib/commonjs/managers/uploadVerificationPending.js.map +1 -0
  12. package/lib/commonjs/sdkIdentity.js +1 -1
  13. package/lib/commonjs/uploadRecovery.js +50 -7
  14. package/lib/commonjs/uploadRecovery.js.map +1 -1
  15. package/lib/module/managers/NativeUploadQueue.js +22 -8
  16. package/lib/module/managers/NativeUploadQueue.js.map +1 -1
  17. package/lib/module/managers/uploadRecoveryMetadata.js +4 -0
  18. package/lib/module/managers/uploadRecoveryMetadata.js.map +1 -1
  19. package/lib/module/managers/uploadVerificationPending.js +14 -0
  20. package/lib/module/managers/uploadVerificationPending.js.map +1 -0
  21. package/lib/module/sdkIdentity.js +1 -1
  22. package/lib/module/uploadRecovery.js +50 -7
  23. package/lib/module/uploadRecovery.js.map +1 -1
  24. package/lib/typescript/managers/NativeUploadQueue.d.ts.map +1 -1
  25. package/lib/typescript/managers/uploadRecoveryMetadata.d.ts.map +1 -1
  26. package/lib/typescript/managers/uploadVerificationPending.d.ts +6 -0
  27. package/lib/typescript/managers/uploadVerificationPending.d.ts.map +1 -0
  28. package/lib/typescript/models/Recording.d.ts +6 -0
  29. package/lib/typescript/models/Recording.d.ts.map +1 -1
  30. package/lib/typescript/sdkIdentity.d.ts +1 -1
  31. package/lib/typescript/uploadRecovery.d.ts +1 -1
  32. package/lib/typescript/uploadRecovery.d.ts.map +1 -1
  33. package/package.json +1 -1
  34. package/src/managers/NativeUploadQueue.ts +18 -9
  35. package/src/managers/uploadRecoveryMetadata.ts +2 -0
  36. package/src/managers/uploadVerificationPending.ts +10 -0
  37. package/src/models/Recording.ts +6 -0
  38. package/src/sdkIdentity.ts +1 -1
  39. package/src/uploadRecovery.ts +42 -8
@@ -2,6 +2,7 @@
2
2
 
3
3
  import EventEmitter from 'eventemitter3';
4
4
  import { persistedUploadQueue, restoreUploadQueue } from './uploadRecoveryMetadata';
5
+ import { UploadVerificationPendingError } from './uploadVerificationPending';
5
6
  const journalOperations = new WeakMap();
6
7
  const journalOwners = new WeakMap();
7
8
  const retryDelays = [30_000, 120_000, 600_000, 3_600_000, 14_400_000];
@@ -162,7 +163,7 @@ export class NativeUploadQueue extends EventEmitter {
162
163
  });
163
164
  if (initialSignal?.aborted) initialAbort();
164
165
  check();
165
- if (info && !info.alreadyUploaded && this.provider && !info.signal?.aborted && (!(info.relay ? info.relay.url : info.uploadUrl) || info.expiresAt && info.expiresAt.getTime() <= Date.now())) {
166
+ if (info && this.provider && !info.signal?.aborted && (task.completionPending || !info.alreadyUploaded && (!(info.relay ? info.relay.url : info.uploadUrl) || info.expiresAt && info.expiresAt.getTime() <= Date.now()))) {
166
167
  dispose(info);
167
168
  info = undefined;
168
169
  }
@@ -180,7 +181,8 @@ export class NativeUploadQueue extends EventEmitter {
180
181
  relayUpload: !!task.relayUpload,
181
182
  contentType: task.contentType,
182
183
  contentSha256: task.contentSha256,
183
- signal
184
+ signal,
185
+ completionPending: task.completionPending
184
186
  });
185
187
  }), signal, dispose);
186
188
  }
@@ -195,14 +197,16 @@ export class NativeUploadQueue extends EventEmitter {
195
197
  if (info.recordingId !== task.recordingId || info.recoveryScope !== task.recoveryScope) {
196
198
  throw new Error('Upload recovery identity changed');
197
199
  }
198
- if (!info.alreadyUploaded && !!info.relay !== !!task.relayUpload) throw new Error('Upload recovery route changed');
200
+ const uploadRequired = !info.alreadyUploaded && (!task.completionPending || info.reuploadRequired === true);
201
+ if (uploadRequired && !!info.relay !== !!task.relayUpload) throw new Error('Upload recovery route changed');
202
+ if (task.completionPending && !info.complete) throw new Error('Pending upload requires durable host completion acknowledgement');
199
203
  hostAbort = () => attempt.controller.abort();
200
204
  info.signal?.addEventListener('abort', hostAbort, {
201
205
  once: true
202
206
  });
203
207
  if (info.signal?.aborted) hostAbort();
204
208
  check();
205
- if (info.expiresAt && info.expiresAt.getTime() <= Date.now() && !info.alreadyUploaded) throw new Error('Upload credentials expired');
209
+ if (info.expiresAt && info.expiresAt.getTime() <= Date.now() && uploadRequired) throw new Error('Upload credentials expired');
206
210
  await this.update(id, {
207
211
  status: 'uploading',
208
212
  errorMessage: undefined,
@@ -211,7 +215,11 @@ export class NativeUploadQueue extends EventEmitter {
211
215
  check();
212
216
  this.emit('uploadStarted', id);
213
217
  check();
214
- if (!info.alreadyUploaded) {
218
+ if (uploadRequired) {
219
+ if (task.completionPending) await this.update(id, {
220
+ completionPending: false
221
+ }, check);
222
+ check();
215
223
  nativeStarted = true;
216
224
  await this.client.uploadRecordingFile({
217
225
  ...task,
@@ -234,6 +242,10 @@ export class NativeUploadQueue extends EventEmitter {
234
242
  }
235
243
  if (info.complete) {
236
244
  if (task.fileSizeBytes === undefined) throw new Error('Upload completion requires known file size');
245
+ await this.update(id, {
246
+ completionPending: true
247
+ }, check);
248
+ check();
237
249
  await abortable(Promise.resolve().then(() => {
238
250
  check();
239
251
  return info.complete({
@@ -248,6 +260,7 @@ export class NativeUploadQueue extends EventEmitter {
248
260
  check();
249
261
  await this.update(id, {
250
262
  status: 'completed',
263
+ completionPending: undefined,
251
264
  errorMessage: undefined,
252
265
  nextAttemptAt: undefined
253
266
  }, check);
@@ -258,17 +271,18 @@ export class NativeUploadQueue extends EventEmitter {
258
271
  } catch (error) {
259
272
  if (!this.destroyed && !this.cancelledTasks.has(id) && this.get(id)?.status !== 'completed') {
260
273
  const task = this.get(id);
261
- const parked = info === null || signal.aborted;
274
+ const verificationPending = error instanceof UploadVerificationPendingError;
275
+ const parked = info === null || signal.aborted || verificationPending;
262
276
  const retry = !!this.provider && task.retryCount < 6 && Date.now() - task.createdAt.getTime() < 86_400_000;
263
277
  await this.update(id, {
264
278
  status: parked || retry ? 'pending' : 'failed',
265
279
  retryCount: task.retryCount + (parked ? 0 : 1),
266
280
  nextAttemptAt: parked ? Date.now() + 30_000 : retry ? Date.now() + retryDelays[Math.min(task.retryCount, 4)] : undefined,
267
- errorMessage: parked ? 'Upload waiting for its original account' : 'Upload attempt failed'
281
+ errorMessage: verificationPending ? 'Upload verification pending' : parked ? 'Upload waiting for its original account' : 'Upload attempt failed'
268
282
  }).catch(() => {
269
283
  this.pause();
270
284
  });
271
- if (!this.destroyed) this.emit('uploadFailed', id, new Error(parked ? 'Upload paused' : 'Upload attempt failed'));
285
+ if (!this.destroyed) this.emit('uploadFailed', id, new Error(verificationPending ? 'Upload verification pending' : parked ? 'Upload paused' : 'Upload attempt failed'));
272
286
  }
273
287
  throw error;
274
288
  } finally {
@@ -1 +1 @@
1
- {"version":3,"names":["EventEmitter","persistedUploadQueue","restoreUploadQueue","journalOperations","WeakMap","journalOwners","retryDelays","cancelled","Error","dispose","info","abortable","promise","signal","late","Promise","resolve","reject","settled","abort","addEventListener","once","aborted","then","value","removeEventListener","error","NativeUploadQueue","tasks","active","Map","credentials","cancelledTasks","Set","paused","destroyed","initialized","constructor","client","provider","initialize","initialization","owner","get","set","serialize","checkAlive","loaded","loadUploadQueue","restored","length","saveUploadQueue","task","filter","status","release","catch","undefined","schedule","delete","all","map","createdAt","Date","updatedAt","id","find","add","mutate","offerCredentials","has","discardCredentials","update","patch","check","some","relayUpload","relay","run","onProgress","attempt","controller","AbortController","nativeId","now","Math","random","toString","slice","perform","finally","hostAbort","initialSignal","initialAbort","nativeStarted","nativeCancellation","cancelNative","cancelRecordingUpload","alreadyUploaded","url","uploadUrl","expiresAt","getTime","recordingUuid","taskId","recordingId","deviceId","recoveryScope","fileSizeBytes","contentType","contentSha256","nextAttemptAt","errorMessage","emit","uploadRecordingFile","uploadToken","complete","completeUrl","totalBytes","min","completedBytes","parked","retry","retryCount","pause","releaseRecordingFile","localPath","cancel","credential","clearCompleted","snapshot","released","clearAll","retryFailed","timer","clearTimeout","resume","destroy","stopped","destroyCompatibilityOperations","values","clear","removeAllListeners","wake","Infinity","size","Number","isFinite","setTimeout","max","operation","next","change"],"sourceRoot":"../../../src","sources":["managers/NativeUploadQueue.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["EventEmitter","persistedUploadQueue","restoreUploadQueue","UploadVerificationPendingError","journalOperations","WeakMap","journalOwners","retryDelays","cancelled","Error","dispose","info","abortable","promise","signal","late","Promise","resolve","reject","settled","abort","addEventListener","once","aborted","then","value","removeEventListener","error","NativeUploadQueue","tasks","active","Map","credentials","cancelledTasks","Set","paused","destroyed","initialized","constructor","client","provider","initialize","initialization","owner","get","set","serialize","checkAlive","loaded","loadUploadQueue","restored","length","saveUploadQueue","task","filter","status","release","catch","undefined","schedule","delete","all","map","createdAt","Date","updatedAt","id","find","add","mutate","offerCredentials","has","discardCredentials","update","patch","check","some","relayUpload","relay","run","onProgress","attempt","controller","AbortController","nativeId","now","Math","random","toString","slice","perform","finally","hostAbort","initialSignal","initialAbort","nativeStarted","nativeCancellation","cancelNative","cancelRecordingUpload","completionPending","alreadyUploaded","url","uploadUrl","expiresAt","getTime","recordingUuid","taskId","recordingId","deviceId","recoveryScope","fileSizeBytes","contentType","contentSha256","nextAttemptAt","uploadRequired","reuploadRequired","complete","errorMessage","emit","uploadRecordingFile","uploadToken","completeUrl","totalBytes","min","completedBytes","verificationPending","parked","retry","retryCount","pause","releaseRecordingFile","localPath","cancel","credential","clearCompleted","snapshot","released","clearAll","retryFailed","timer","clearTimeout","resume","destroy","stopped","destroyCompatibilityOperations","values","clear","removeAllListeners","wake","Infinity","size","Number","isFinite","setTimeout","max","operation","next","change"],"sourceRoot":"../../../src","sources":["managers/NativeUploadQueue.ts"],"mappings":"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","ignoreList":[]}
@@ -34,6 +34,9 @@ export function persistedUploadQueue(tasks) {
34
34
  ...(task.contentSha256 === undefined ? {} : {
35
35
  contentSha256: task.contentSha256
36
36
  }),
37
+ ...(task.completionPending === undefined ? {} : {
38
+ completionPending: task.completionPending
39
+ }),
37
40
  relayUpload: task.relayUpload ?? !!task.relay
38
41
  }));
39
42
  }
@@ -57,6 +60,7 @@ export function restoreUploadQueue(value) {
57
60
  if (task[field] !== undefined && (!Number.isSafeInteger(task[field]) || task[field] < 0)) return invalid();
58
61
  }
59
62
  if (task.relayUpload !== undefined && typeof task.relayUpload !== 'boolean') return invalid();
63
+ if (task.completionPending !== undefined && typeof task.completionPending !== 'boolean') return invalid();
60
64
  const createdAt = new Date(task.createdAt);
61
65
  const updatedAt = new Date(task.updatedAt);
62
66
  if (!Number.isFinite(createdAt.getTime()) || !Number.isFinite(updatedAt.getTime())) return invalid();
@@ -1 +1 @@
1
- {"version":3,"names":["invalid","Error","persistedUploadQueue","tasks","map","task","id","recordingId","deviceId","localPath","uploadUrl","status","retryCount","createdAt","Date","updatedAt","recordingUuid","undefined","recoveryScope","fileSizeBytes","nextAttemptAt","contentType","contentSha256","relayUpload","relay","restoreUploadQueue","value","Array","isArray","ids","Set","validated","entry","field","has","add","includes","Number","isSafeInteger","isFinite","getTime","rejectRecordingDataStore"],"sourceRoot":"../../../src","sources":["managers/uploadRecoveryMetadata.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["invalid","Error","persistedUploadQueue","tasks","map","task","id","recordingId","deviceId","localPath","uploadUrl","status","retryCount","createdAt","Date","updatedAt","recordingUuid","undefined","recoveryScope","fileSizeBytes","nextAttemptAt","contentType","contentSha256","completionPending","relayUpload","relay","restoreUploadQueue","value","Array","isArray","ids","Set","validated","entry","field","has","add","includes","Number","isSafeInteger","isFinite","getTime","rejectRecordingDataStore"],"sourceRoot":"../../../src","sources":["managers/uploadRecoveryMetadata.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ /** Internal completion-budget signal; it is never acknowledgement or repair. */
4
+ export class UploadVerificationPendingError extends Error {
5
+ constructor() {
6
+ super('Upload verification pending');
7
+ }
8
+ }
9
+ export function isUploadVerificationPending(error) {
10
+ if (!error || typeof error !== 'object') return false;
11
+ const value = error;
12
+ return value.status === 425 && value.data?.error?.code === 'upload_verification_pending';
13
+ }
14
+ //# sourceMappingURL=uploadVerificationPending.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["UploadVerificationPendingError","Error","constructor","isUploadVerificationPending","error","value","status","data","code"],"sourceRoot":"../../../src","sources":["managers/uploadVerificationPending.ts"],"mappings":";;AAAA;AACA,OAAO,MAAMA,8BAA8B,SAASC,KAAK,CAAC;EACxDC,WAAWA,CAAA,EAAG;IAAE,KAAK,CAAC,6BAA6B,CAAC;EAAE;AACxD;AAEA,OAAO,SAASC,2BAA2BA,CAACC,KAAc,EAAW;EACnE,IAAI,CAACA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAO,KAAK;EACrD,MAAMC,KAAK,GAAGD,KAAoE;EAClF,OAAOC,KAAK,CAACC,MAAM,KAAK,GAAG,IAAID,KAAK,CAACE,IAAI,EAAEH,KAAK,EAAEI,IAAI,KAAK,6BAA6B;AAC1F","ignoreList":[]}
@@ -2,5 +2,5 @@
2
2
 
3
3
  // Generated by cargo xtask client-identity generate. Do not edit.
4
4
  export const SDK_PACKAGE = '@bota.dev/react-native-app-sdk';
5
- export const SDK_VERSION = '2.0.0-beta.13';
5
+ export const SDK_VERSION = '2.0.0-beta.14';
6
6
  //# sourceMappingURL=sdkIdentity.js.map
@@ -1,5 +1,26 @@
1
1
  "use strict";
2
2
 
3
+ import { isUploadVerificationPending, UploadVerificationPendingError } from './managers/uploadVerificationPending';
4
+ const waitForCompletion = (milliseconds, signals) => new Promise((resolve, reject) => {
5
+ const unique = [...new Set(signals)];
6
+ const clean = () => {
7
+ clearTimeout(timer);
8
+ unique.forEach(signal => signal.removeEventListener('abort', abort));
9
+ };
10
+ const abort = () => {
11
+ clean();
12
+ reject(new Error('Upload recovery cancelled'));
13
+ };
14
+ const timer = setTimeout(() => {
15
+ clean();
16
+ resolve();
17
+ }, milliseconds);
18
+ unique.forEach(signal => signal.addEventListener('abort', abort, {
19
+ once: true
20
+ }));
21
+ if (unique.some(signal => signal.aborted)) abort();
22
+ });
23
+
3
24
  /** A host-owned, authenticated lease. It must permanently reject changed identities. */
4
25
 
5
26
  /** Build scoped metadata recovery while native SDK storage retains recording bytes.
@@ -25,12 +46,19 @@ export function createUploadRecoveryProvider(openBackend) {
25
46
  check();
26
47
  const recording = await api.getRecording(task.recordingId, task.signal);
27
48
  check();
28
- if (recording.id !== task.recordingId || !task.relayUpload && (task.contentSha256 && recording.content_sha256 && task.contentSha256 !== recording.content_sha256 || task.fileSizeBytes !== undefined && recording.file_size_bytes != null && task.fileSizeBytes !== recording.file_size_bytes)) throw new Error('Upload recovery identity or evidence changed');
49
+ const wireSize = recording.file_size_bytes;
50
+ if (typeof wireSize === 'string' && !/^(0|[1-9][0-9]*)$/.test(wireSize)) throw new Error('Invalid upload recovery file size');
51
+ const fileSize = typeof wireSize === 'string' ? Number(wireSize) : wireSize;
52
+ if (fileSize != null && (typeof fileSize !== 'number' || !Number.isSafeInteger(fileSize) || fileSize < 0)) {
53
+ throw new Error('Invalid upload recovery file size');
54
+ }
55
+ if (recording.id !== task.recordingId || !task.relayUpload && (task.contentSha256 && recording.content_sha256 && task.contentSha256 !== recording.content_sha256 || task.fileSizeBytes !== undefined && fileSize != null && task.fileSizeBytes !== fileSize)) throw new Error('Upload recovery identity or evidence changed');
29
56
  if (!['pending', 'uploaded', 'integrity_failure'].includes(recording.status)) throw new Error('Recording unavailable for recovery');
30
57
  const start = Date.parse(String(recording.metadata?.started_at ?? ''));
31
58
  const end = Date.parse(String(recording.metadata?.ended_at ?? ''));
32
59
  const duration = Number.isFinite(start) && Number.isFinite(end) && end >= start ? Math.floor((end - start) / 1000) : undefined;
33
- const target = recording.status === 'uploaded' ? {
60
+ const alreadyUploaded = recording.status === 'uploaded' || task.completionPending === true && recording.status === 'pending';
61
+ const target = alreadyUploaded ? {
34
62
  uploadUrl: ''
35
63
  } : await api.getUploadInfo(task.recordingId, task.relayUpload, task.contentType, task.signal);
36
64
  check();
@@ -38,7 +66,8 @@ export function createUploadRecoveryProvider(openBackend) {
38
66
  ...target,
39
67
  recordingId: task.recordingId,
40
68
  recoveryScope: task.recoveryScope,
41
- alreadyUploaded: recording.status === 'uploaded',
69
+ alreadyUploaded,
70
+ reuploadRequired: recording.status === 'integrity_failure',
42
71
  signal: api.signal,
43
72
  dispose: () => api.dispose(),
44
73
  complete: async ({
@@ -46,13 +75,27 @@ export function createUploadRecoveryProvider(openBackend) {
46
75
  contentSha256,
47
76
  signal
48
77
  }) => {
49
- check(signal);
50
- await api.completeRecording(task.recordingId, {
78
+ const data = {
51
79
  duration_seconds: duration,
52
80
  file_size_bytes: fileSizeBytes,
53
81
  content_sha256: contentSha256
54
- }, signal);
55
- check(signal);
82
+ };
83
+ const deadline = Date.now() + 120_000;
84
+ for (let poll = 0;; poll++) {
85
+ check(signal);
86
+ if (poll > 0 && (Date.now() >= deadline || poll >= 120)) throw new UploadVerificationPendingError();
87
+ try {
88
+ await api.completeRecording(task.recordingId, data, signal);
89
+ check(signal);
90
+ return;
91
+ } catch (error) {
92
+ check(signal);
93
+ if (!isUploadVerificationPending(error)) throw error;
94
+ const remaining = deadline - Date.now();
95
+ if (remaining <= 0) throw new UploadVerificationPendingError();
96
+ await waitForCompletion(Math.min(1_000 + Math.floor(Math.random() * 1_000), remaining), [signal, task.signal, api.signal]);
97
+ }
98
+ }
56
99
  }
57
100
  };
58
101
  } catch {
@@ -1 +1 @@
1
- {"version":3,"names":["createUploadRecoveryProvider","openBackend","task","recoveryScope","signal","aborted","backend","api","check","checkScope","Error","scopeKey","dispose","recording","getRecording","recordingId","id","relayUpload","contentSha256","content_sha256","fileSizeBytes","undefined","file_size_bytes","includes","status","start","Date","parse","String","metadata","started_at","end","ended_at","duration","Number","isFinite","Math","floor","target","uploadUrl","getUploadInfo","contentType","alreadyUploaded","complete","completeRecording","duration_seconds"],"sourceRoot":"../../src","sources":["uploadRecovery.ts"],"mappings":";;AAEA;;AAcA;AACA;AACA;AACA;AACA,OAAO,SAASA,4BAA4BA,CAC1CC,WAAmF,EAC3D;EACxB,OAAO,MAAOC,IAAI,IAAK;IACrB,IAAI,CAACA,IAAI,CAACC,aAAa,IAAID,IAAI,CAACE,MAAM,CAACC,OAAO,EAAE,OAAO,IAAI;IAC3D,IAAIC,OAAqC,GAAG,IAAI;IAChD,IAAI;MACFA,OAAO,GAAG,MAAML,WAAW,CAACC,IAAI,CAAC;MACjC,IAAI,CAACI,OAAO,EAAE,OAAO,IAAI;MACzB,MAAMC,GAAG,GAAGD,OAAO;MACnB,MAAME,KAAK,GAAGA,CAACJ,MAAM,GAAGF,IAAI,CAACE,MAAM,KAAK;QACtCG,GAAG,CAACE,UAAU,CAAC,CAAC;QAChB,IAAIF,GAAG,CAACH,MAAM,CAACC,OAAO,IAAIH,IAAI,CAACE,MAAM,CAACC,OAAO,IAAID,MAAM,CAACC,OAAO,EAAE,MAAM,IAAIK,KAAK,CAAC,2BAA2B,CAAC;MAC/G,CAAC;MACD,IAAIH,GAAG,CAACI,QAAQ,KAAKT,IAAI,CAACC,aAAa,EAAE;QAAEI,GAAG,CAACK,OAAO,CAAC,CAAC;QAAE,OAAO,IAAI;MAAE;MACvEJ,KAAK,CAAC,CAAC;MACP,MAAMK,SAAS,GAAG,MAAMN,GAAG,CAACO,YAAY,CAACZ,IAAI,CAACa,WAAW,EAAEb,IAAI,CAACE,MAAM,CAAC;MACvEI,KAAK,CAAC,CAAC;MACP,IAAIK,SAAS,CAACG,EAAE,KAAKd,IAAI,CAACa,WAAW,IAAK,CAACb,IAAI,CAACe,WAAW,KACxDf,IAAI,CAACgB,aAAa,IAAIL,SAAS,CAACM,cAAc,IAAIjB,IAAI,CAACgB,aAAa,KAAKL,SAAS,CAACM,cAAc,IACjGjB,IAAI,CAACkB,aAAa,KAAKC,SAAS,IAAIR,SAAS,CAACS,eAAe,IAAI,IAAI,IAAIpB,IAAI,CAACkB,aAAa,KAAKP,SAAS,CAACS,eAAgB,CAC3H,EAAE,MAAM,IAAIZ,KAAK,CAAC,8CAA8C,CAAC;MACnE,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAACa,QAAQ,CAACV,SAAS,CAACW,MAAM,CAAC,EAAE,MAAM,IAAId,KAAK,CAAC,oCAAoC,CAAC;MACnI,MAAMe,KAAK,GAAGC,IAAI,CAACC,KAAK,CAACC,MAAM,CAACf,SAAS,CAACgB,QAAQ,EAAEC,UAAU,IAAI,EAAE,CAAC,CAAC;MACtE,MAAMC,GAAG,GAAGL,IAAI,CAACC,KAAK,CAACC,MAAM,CAACf,SAAS,CAACgB,QAAQ,EAAEG,QAAQ,IAAI,EAAE,CAAC,CAAC;MAClE,MAAMC,QAAQ,GAAGC,MAAM,CAACC,QAAQ,CAACV,KAAK,CAAC,IAAIS,MAAM,CAACC,QAAQ,CAACJ,GAAG,CAAC,IAAIA,GAAG,IAAIN,KAAK,GAAGW,IAAI,CAACC,KAAK,CAAC,CAACN,GAAG,GAAGN,KAAK,IAAI,IAAI,CAAC,GAAGJ,SAAS;MAC9H,MAAMiB,MAAM,GAAGzB,SAAS,CAACW,MAAM,KAAK,UAAU,GAAG;QAAEe,SAAS,EAAE;MAAG,CAAC,GAC9D,MAAMhC,GAAG,CAACiC,aAAa,CAACtC,IAAI,CAACa,WAAW,EAAEb,IAAI,CAACe,WAAW,EAAEf,IAAI,CAACuC,WAAW,EAAEvC,IAAI,CAACE,MAAM,CAAC;MAC9FI,KAAK,CAAC,CAAC;MACP,OAAO;QACL,GAAG8B,MAAM;QAAEvB,WAAW,EAAEb,IAAI,CAACa,WAAW;QAAEZ,aAAa,EAAED,IAAI,CAACC,aAAa;QAC3EuC,eAAe,EAAE7B,SAAS,CAACW,MAAM,KAAK,UAAU;QAAEpB,MAAM,EAAEG,GAAG,CAACH,MAAM;QAAEQ,OAAO,EAAEA,CAAA,KAAML,GAAG,CAACK,OAAO,CAAC,CAAC;QAClG+B,QAAQ,EAAE,MAAAA,CAAO;UAAEvB,aAAa;UAAEF,aAAa;UAAEd;QAAO,CAAC,KAAK;UAC5DI,KAAK,CAACJ,MAAM,CAAC;UACb,MAAMG,GAAG,CAACqC,iBAAiB,CAAC1C,IAAI,CAACa,WAAW,EAAE;YAC5C8B,gBAAgB,EAAEZ,QAAQ;YAAEX,eAAe,EAAEF,aAAa;YAAED,cAAc,EAAED;UAC9E,CAAC,EAAEd,MAAM,CAAC;UACVI,KAAK,CAACJ,MAAM,CAAC;QACf;MACF,CAAC;IACH,CAAC,CAAC,MAAM;MACNE,OAAO,EAAEM,OAAO,CAAC,CAAC;MAClB,MAAM,IAAIF,KAAK,CAAC,gCAAgC,CAAC;IACnD;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["isUploadVerificationPending","UploadVerificationPendingError","waitForCompletion","milliseconds","signals","Promise","resolve","reject","unique","Set","clean","clearTimeout","timer","forEach","signal","removeEventListener","abort","Error","setTimeout","addEventListener","once","some","aborted","createUploadRecoveryProvider","openBackend","task","recoveryScope","backend","api","check","checkScope","scopeKey","dispose","recording","getRecording","recordingId","wireSize","file_size_bytes","test","fileSize","Number","isSafeInteger","id","relayUpload","contentSha256","content_sha256","fileSizeBytes","undefined","includes","status","start","Date","parse","String","metadata","started_at","end","ended_at","duration","isFinite","Math","floor","alreadyUploaded","completionPending","target","uploadUrl","getUploadInfo","contentType","reuploadRequired","complete","data","duration_seconds","deadline","now","poll","completeRecording","error","remaining","min","random"],"sourceRoot":"../../src","sources":["uploadRecovery.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"NativeUploadQueue.d.ts","sourceRoot":"","sources":["../../../src/managers/NativeUploadQueue.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAC7F,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAmC/D,mFAAmF;AACnF,qBAAa,iBAAkB,SAAQ,YAAY,CAAC,sBAAsB,CAAC;IAYvE,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAZ5B,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiC;IAC7D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,KAAK,CAAC,CAAgC;gBAG3B,MAAM,EAAE,4BAA4B,EACpC,QAAQ,CAAC,EAAE,sBAAsB,YAAA;IAGpD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B3B,GAAG,IAAI,UAAU,EAAE;IACnB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAEjC,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO;IAOjD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAUvF,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAiB7E,OAAO;YAuHP,OAAO;IAKf,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASvC,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAM9B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAU/B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAEzB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAMlC,KAAK,IAAI,IAAI;IACb,MAAM,IAAI,IAAI;IAEd,OAAO,IAAI,IAAI;IAiBf,OAAO,CAAC,QAAQ;IAahB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,UAAU;CACnB"}
1
+ {"version":3,"file":"NativeUploadQueue.d.ts","sourceRoot":"","sources":["../../../src/managers/NativeUploadQueue.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAC7F,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAoC/D,mFAAmF;AACnF,qBAAa,iBAAkB,SAAQ,YAAY,CAAC,sBAAsB,CAAC;IAYvE,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAZ5B,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiC;IAC7D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,KAAK,CAAC,CAAgC;gBAG3B,MAAM,EAAE,4BAA4B,EACpC,QAAQ,CAAC,EAAE,sBAAsB,YAAA;IAGpD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B3B,GAAG,IAAI,UAAU,EAAE;IACnB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAEjC,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO;IAOjD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAUvF,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAiB7E,OAAO;YA+HP,OAAO;IAKf,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASvC,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAM9B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAU/B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAEzB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAMlC,KAAK,IAAI,IAAI;IACb,MAAM,IAAI,IAAI;IAEd,OAAO,IAAI,IAAI;IAiBf,OAAO,CAAC,QAAQ;IAahB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,UAAU;CACnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"uploadRecoveryMetadata.d.ts","sourceRoot":"","sources":["../../../src/managers/uploadRecoveryMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAItD,wEAAwE;AACxE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAmBtE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,EAAE,CA0B/D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAI7D"}
1
+ {"version":3,"file":"uploadRecoveryMetadata.d.ts","sourceRoot":"","sources":["../../../src/managers/uploadRecoveryMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAItD,wEAAwE;AACxE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAoBtE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,EAAE,CA2B/D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAI7D"}
@@ -0,0 +1,6 @@
1
+ /** Internal completion-budget signal; it is never acknowledgement or repair. */
2
+ export declare class UploadVerificationPendingError extends Error {
3
+ constructor();
4
+ }
5
+ export declare function isUploadVerificationPending(error: unknown): boolean;
6
+ //# sourceMappingURL=uploadVerificationPending.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadVerificationPending.d.ts","sourceRoot":"","sources":["../../../src/managers/uploadVerificationPending.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,qBAAa,8BAA+B,SAAQ,KAAK;;CAExD;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAInE"}
@@ -31,6 +31,8 @@ export interface UploadInfo {
31
31
  recoveryScope?: string;
32
32
  /** Skip sending the object; complete must still acknowledge host durability. */
33
33
  alreadyUploaded?: boolean;
34
+ /** Explicit authenticated integrity failure permits repair of a completion-pending object. */
35
+ reuploadRequired?: boolean;
34
36
  /** Resolve only after the backend durably acknowledges this exact recording. */
35
37
  complete?: (context: {
36
38
  fileSizeBytes: number;
@@ -87,6 +89,8 @@ export interface UploadRecoveryContext {
87
89
  relayUpload: boolean;
88
90
  contentType?: string;
89
91
  contentSha256?: string;
92
+ /** Bytes were sent; recover completion before considering another upload. Not verification proof. */
93
+ completionPending?: boolean;
90
94
  signal: AbortSignal;
91
95
  }
92
96
  /** Null parks an unavailable account without consuming the retry budget. */
@@ -133,6 +137,8 @@ export interface UploadTask {
133
137
  fileSizeBytes?: number;
134
138
  relayUpload?: boolean;
135
139
  nextAttemptAt?: number;
140
+ /** Durable byte-upload completion; backend acknowledgement and cleanup are still required. */
141
+ completionPending?: boolean;
136
142
  /** Volatile compatibility field; never included in queue persistence. */
137
143
  complete?: UploadInfo['complete'];
138
144
  /** Unique task identifier */
@@ -1 +1 @@
1
- {"version":3,"file":"Recording.d.ts","sourceRoot":"","sources":["../../../src/models/Recording.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Recording.d.ts","sourceRoot":"","sources":["../../../src/models/Recording.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export declare const SDK_PACKAGE = "@bota.dev/react-native-app-sdk";
2
- export declare const SDK_VERSION = "2.0.0-beta.13";
2
+ export declare const SDK_VERSION = "2.0.0-beta.14";
3
3
  //# sourceMappingURL=sdkIdentity.d.ts.map
@@ -10,7 +10,7 @@ export interface UploadRecoveryBackend {
10
10
  status: string;
11
11
  metadata?: Record<string, unknown>;
12
12
  content_sha256?: string | null;
13
- file_size_bytes?: number | null;
13
+ file_size_bytes?: number | string | null;
14
14
  }>;
15
15
  getUploadInfo(id: string, relay: boolean, contentType: string | undefined, signal: AbortSignal): Promise<Pick<UploadInfo, 'uploadUrl' | 'relay' | 'contentType'>>;
16
16
  completeRecording(id: string, data: {
@@ -1 +1 @@
1
- {"version":3,"file":"uploadRecovery.d.ts","sourceRoot":"","sources":["../../src/uploadRecovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEpG,wFAAwF;AACxF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,IAAI,IAAI,CAAC;IACnB,OAAO,IAAI,IAAI,CAAC;IAChB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;QACrD,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/D,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACjE,CAAC,CAAC;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC;IAClK,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7J;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,GAClF,sBAAsB,CA2CxB"}
1
+ {"version":3,"file":"uploadRecovery.d.ts","sourceRoot":"","sources":["../../src/uploadRecovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAapG,wFAAwF;AACxF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,IAAI,IAAI,CAAC;IACnB,OAAO,IAAI,IAAI,CAAC;IAChB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;QACrD,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/D,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;KAC1E,CAAC,CAAC;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC;IAClK,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7J;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,GAClF,sBAAsB,CAkExB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bota.dev/react-native-app-sdk",
3
- "version": "2.0.0-beta.13",
3
+ "version": "2.0.0-beta.14",
4
4
  "description": "React Native facade for the Bota App SDK",
5
5
  "packageManager": "npm@12.0.2",
6
6
  "main": "lib/commonjs/index.js",
@@ -3,6 +3,7 @@ import type { BotaDeviceSDKRecordingClient, BotaRecordingTransferProgress } from
3
3
  import type { UploadInfo, UploadRecoveryProvider, UploadTask } from '../models/Recording';
4
4
  import type { RecordingManagerEvents } from '../models/Status';
5
5
  import { persistedUploadQueue, restoreUploadQueue } from './uploadRecoveryMetadata';
6
+ import { UploadVerificationPendingError } from './uploadVerificationPending';
6
7
 
7
8
  const journalOperations = new WeakMap<object, Promise<unknown>>();
8
9
  const journalOwners = new WeakMap<object, NativeUploadQueue>();
@@ -149,10 +150,10 @@ export class NativeUploadQueue extends EventEmitter<RecordingManagerEvents> {
149
150
  initialSignal?.addEventListener('abort', initialAbort, { once: true });
150
151
  if (initialSignal?.aborted) initialAbort();
151
152
  check();
152
- if (info && !info.alreadyUploaded && this.provider && !info.signal?.aborted && (
153
+ if (info && this.provider && !info.signal?.aborted && (task.completionPending || (!info.alreadyUploaded && (
153
154
  !(info.relay ? info.relay.url : info.uploadUrl) ||
154
155
  (info.expiresAt && info.expiresAt.getTime() <= Date.now())
155
- )) {
156
+ )))) {
156
157
  dispose(info);
157
158
  info = undefined;
158
159
  }
@@ -165,6 +166,7 @@ export class NativeUploadQueue extends EventEmitter<RecordingManagerEvents> {
165
166
  recordingUuid: task.recordingUuid!, recoveryScope: task.recoveryScope,
166
167
  fileSizeBytes: task.fileSizeBytes, relayUpload: !!task.relayUpload,
167
168
  contentType: task.contentType, contentSha256: task.contentSha256, signal,
169
+ completionPending: task.completionPending,
168
170
  });
169
171
  }), signal, dispose);
170
172
  }
@@ -176,17 +178,21 @@ export class NativeUploadQueue extends EventEmitter<RecordingManagerEvents> {
176
178
  if (info.recordingId !== task.recordingId || info.recoveryScope !== task.recoveryScope) {
177
179
  throw new Error('Upload recovery identity changed');
178
180
  }
179
- if (!info.alreadyUploaded && !!info.relay !== !!task.relayUpload) throw new Error('Upload recovery route changed');
181
+ const uploadRequired = !info.alreadyUploaded && (!task.completionPending || info.reuploadRequired === true);
182
+ if (uploadRequired && !!info.relay !== !!task.relayUpload) throw new Error('Upload recovery route changed');
183
+ if (task.completionPending && !info.complete) throw new Error('Pending upload requires durable host completion acknowledgement');
180
184
  hostAbort = () => attempt.controller.abort();
181
185
  info.signal?.addEventListener('abort', hostAbort, { once: true });
182
186
  if (info.signal?.aborted) hostAbort();
183
187
  check();
184
- if (info.expiresAt && info.expiresAt.getTime() <= Date.now() && !info.alreadyUploaded) throw new Error('Upload credentials expired');
188
+ if (info.expiresAt && info.expiresAt.getTime() <= Date.now() && uploadRequired) throw new Error('Upload credentials expired');
185
189
  await this.update(id, { status: 'uploading', errorMessage: undefined, nextAttemptAt: undefined }, check);
186
190
  check();
187
191
  this.emit('uploadStarted', id);
188
192
  check();
189
- if (!info.alreadyUploaded) {
193
+ if (uploadRequired) {
194
+ if (task.completionPending) await this.update(id, { completionPending: false }, check);
195
+ check();
190
196
  nativeStarted = true;
191
197
  await this.client.uploadRecordingFile({
192
198
  ...task, id: attempt.nativeId, uploadUrl: info.uploadUrl,
@@ -203,6 +209,8 @@ export class NativeUploadQueue extends EventEmitter<RecordingManagerEvents> {
203
209
  }
204
210
  if (info.complete) {
205
211
  if (task.fileSizeBytes === undefined) throw new Error('Upload completion requires known file size');
212
+ await this.update(id, { completionPending: true }, check);
213
+ check();
206
214
  await abortable(Promise.resolve().then(() => {
207
215
  check();
208
216
  return info!.complete!({ fileSizeBytes: task.fileSizeBytes!, contentSha256: task.contentSha256, signal });
@@ -211,7 +219,7 @@ export class NativeUploadQueue extends EventEmitter<RecordingManagerEvents> {
211
219
  throw new Error('Recoverable upload requires durable host completion acknowledgement');
212
220
  }
213
221
  check();
214
- await this.update(id, { status: 'completed', errorMessage: undefined, nextAttemptAt: undefined }, check);
222
+ await this.update(id, { status: 'completed', completionPending: undefined, errorMessage: undefined, nextAttemptAt: undefined }, check);
215
223
  check();
216
224
  await this.release(this.get(id)!).catch(() => undefined);
217
225
  check();
@@ -219,15 +227,16 @@ export class NativeUploadQueue extends EventEmitter<RecordingManagerEvents> {
219
227
  } catch (error) {
220
228
  if (!this.destroyed && !this.cancelledTasks.has(id) && this.get(id)?.status !== 'completed') {
221
229
  const task = this.get(id)!;
222
- const parked = info === null || signal.aborted;
230
+ const verificationPending = error instanceof UploadVerificationPendingError;
231
+ const parked = info === null || signal.aborted || verificationPending;
223
232
  const retry = !!this.provider && task.retryCount < 6 && Date.now() - task.createdAt.getTime() < 86_400_000;
224
233
  await this.update(id, {
225
234
  status: parked || retry ? 'pending' : 'failed',
226
235
  retryCount: task.retryCount + (parked ? 0 : 1),
227
236
  nextAttemptAt: parked ? Date.now() + 30_000 : retry ? Date.now() + retryDelays[Math.min(task.retryCount, 4)] : undefined,
228
- errorMessage: parked ? 'Upload waiting for its original account' : 'Upload attempt failed',
237
+ errorMessage: verificationPending ? 'Upload verification pending' : parked ? 'Upload waiting for its original account' : 'Upload attempt failed',
229
238
  }).catch(() => { this.pause(); });
230
- if (!this.destroyed) this.emit('uploadFailed', id, new Error(parked ? 'Upload paused' : 'Upload attempt failed'));
239
+ if (!this.destroyed) this.emit('uploadFailed', id, new Error(verificationPending ? 'Upload verification pending' : parked ? 'Upload paused' : 'Upload attempt failed'));
231
240
  }
232
241
  throw error;
233
242
  } finally {