@bota.dev/react-native-app-sdk 2.0.0-beta.1 → 2.0.0-beta.3
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 +66 -3
- package/android/build.gradle +1 -0
- package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidDiagnostics.kt +53 -0
- package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidLogs.kt +16 -0
- package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidRecordingUploads.kt +144 -14
- package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidRecordings.kt +150 -29
- package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKEncryptedUploadV2Materials.kt +27 -0
- package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKModule.kt +68 -3
- package/android/src/test/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidLogsTest.kt +33 -0
- package/android/src/test/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidRecordingUploadsTest.kt +135 -6
- package/android/src/test/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidRecordingsTest.kt +236 -10
- package/generated/codegen-contract.json +495 -8
- package/ios/BotaDeviceSDK.mm +102 -0
- package/ios/BotaDeviceSDKAppleBridge.swift +126 -4
- package/ios/BotaDeviceSDKAppleDiagnostics.swift +40 -0
- package/ios/BotaDeviceSDKAppleLogs.swift +18 -0
- package/ios/BotaDeviceSDKAppleRecordingUploads.swift +138 -6
- package/ios/BotaDeviceSDKAppleRecordings.swift +113 -5
- package/ios/BotaDeviceSDKEncryptedUploadV2Materials.swift +40 -0
- package/lib/commonjs/BotaClient.js +13 -2
- package/lib/commonjs/BotaClient.js.map +1 -1
- package/lib/commonjs/ble/constants.js +5 -1
- package/lib/commonjs/ble/constants.js.map +1 -1
- package/lib/commonjs/ble/deviceDiagnostics.js +240 -0
- package/lib/commonjs/ble/deviceDiagnostics.js.map +1 -0
- package/lib/commonjs/client.js +163 -28
- package/lib/commonjs/client.js.map +1 -1
- package/lib/commonjs/index.js +15 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/managers/DeviceManager.js +8 -0
- package/lib/commonjs/managers/DeviceManager.js.map +1 -1
- package/lib/commonjs/managers/NativeUploadQueue.js +386 -0
- package/lib/commonjs/managers/NativeUploadQueue.js.map +1 -0
- package/lib/commonjs/managers/RecordingManager.js +83 -102
- package/lib/commonjs/managers/RecordingManager.js.map +1 -1
- package/lib/commonjs/managers/uploadRecoveryMetadata.js +83 -0
- package/lib/commonjs/managers/uploadRecoveryMetadata.js.map +1 -0
- package/lib/commonjs/specs/NativeBotaDeviceSDK.js.map +1 -1
- package/lib/module/BotaClient.js +13 -2
- package/lib/module/BotaClient.js.map +1 -1
- package/lib/module/ble/constants.js +4 -0
- package/lib/module/ble/constants.js.map +1 -1
- package/lib/module/ble/deviceDiagnostics.js +234 -0
- package/lib/module/ble/deviceDiagnostics.js.map +1 -0
- package/lib/module/client.js +163 -28
- package/lib/module/client.js.map +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/managers/DeviceManager.js +8 -0
- package/lib/module/managers/DeviceManager.js.map +1 -1
- package/lib/module/managers/NativeUploadQueue.js +380 -0
- package/lib/module/managers/NativeUploadQueue.js.map +1 -0
- package/lib/module/managers/RecordingManager.js +83 -102
- package/lib/module/managers/RecordingManager.js.map +1 -1
- package/lib/module/managers/uploadRecoveryMetadata.js +77 -0
- package/lib/module/managers/uploadRecoveryMetadata.js.map +1 -0
- package/lib/module/specs/NativeBotaDeviceSDK.js.map +1 -1
- package/lib/typescript/BotaClient.d.ts.map +1 -1
- package/lib/typescript/ble/constants.d.ts +4 -0
- package/lib/typescript/ble/constants.d.ts.map +1 -1
- package/lib/typescript/ble/deviceDiagnostics.d.ts +10 -0
- package/lib/typescript/ble/deviceDiagnostics.d.ts.map +1 -0
- package/lib/typescript/client.d.ts +18 -2
- package/lib/typescript/client.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +6 -4
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/managers/DeviceManager.d.ts +3 -1
- package/lib/typescript/managers/DeviceManager.d.ts.map +1 -1
- package/lib/typescript/managers/NativeUploadQueue.d.ts +41 -0
- package/lib/typescript/managers/NativeUploadQueue.d.ts.map +1 -0
- package/lib/typescript/managers/RecordingManager.d.ts +3 -8
- package/lib/typescript/managers/RecordingManager.d.ts.map +1 -1
- package/lib/typescript/managers/types.d.ts +6 -1
- package/lib/typescript/managers/types.d.ts.map +1 -1
- package/lib/typescript/managers/uploadRecoveryMetadata.d.ts +6 -0
- package/lib/typescript/managers/uploadRecoveryMetadata.d.ts.map +1 -0
- package/lib/typescript/models/Device.d.ts +42 -0
- package/lib/typescript/models/Device.d.ts.map +1 -1
- package/lib/typescript/models/Recording.d.ts +47 -0
- package/lib/typescript/models/Recording.d.ts.map +1 -1
- package/lib/typescript/models/Status.d.ts +5 -1
- package/lib/typescript/models/Status.d.ts.map +1 -1
- package/lib/typescript/specs/NativeBotaDeviceSDK.d.ts +61 -0
- package/lib/typescript/specs/NativeBotaDeviceSDK.d.ts.map +1 -1
- package/package.json +1 -1
- package/scripts/bota_device_sdk_spm_workaround.rb +26 -15
- package/src/BotaClient.ts +13 -3
- package/src/ble/constants.ts +5 -0
- package/src/ble/deviceDiagnostics.ts +238 -0
- package/src/client.ts +166 -18
- package/src/index.ts +12 -0
- package/src/managers/DeviceManager.ts +11 -0
- package/src/managers/NativeUploadQueue.ts +330 -0
- package/src/managers/RecordingManager.ts +83 -116
- package/src/managers/types.ts +7 -1
- package/src/managers/uploadRecoveryMetadata.ts +59 -0
- package/src/models/Device.ts +43 -0
- package/src/models/Recording.ts +52 -0
- package/src/models/Status.ts +5 -1
- package/src/specs/NativeBotaDeviceSDK.ts +56 -0
|
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.RecordingManager = void 0;
|
|
7
7
|
var _eventemitter = _interopRequireDefault(require("eventemitter3"));
|
|
8
8
|
var _runtime = require("../compatibility/runtime");
|
|
9
|
+
var _NativeUploadQueue = require("./NativeUploadQueue");
|
|
10
|
+
var _uploadRecoveryMetadata = require("./uploadRecoveryMetadata");
|
|
9
11
|
var _StreamingSession = require("./StreamingSession");
|
|
10
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
13
|
const createTaskId = () => `task_${Date.now()}_${Math.random().toString(36).slice(2, 9)}`;
|
|
@@ -53,24 +55,25 @@ const observeProgress = start => {
|
|
|
53
55
|
};
|
|
54
56
|
};
|
|
55
57
|
class RecordingManager extends _eventemitter.default {
|
|
56
|
-
tasks = [];
|
|
57
58
|
initialized = false;
|
|
58
|
-
paused = false;
|
|
59
59
|
destroyed = false;
|
|
60
60
|
activeStreamingSession = null;
|
|
61
|
-
constructor() {
|
|
61
|
+
constructor(options = {}) {
|
|
62
62
|
super();
|
|
63
|
+
(0, _uploadRecoveryMetadata.rejectRecordingDataStore)(options.recordingDataStore);
|
|
63
64
|
this.client = (0, _runtime.getCompatibilityClient)();
|
|
65
|
+
this.queue = new _NativeUploadQueue.NativeUploadQueue(this.client.recordings, options.uploadRecoveryProvider);
|
|
66
|
+
this.queue.on('queueUpdated', tasks => this.emit('queueUpdated', tasks));
|
|
67
|
+
this.queue.on('uploadStarted', id => this.emit('uploadStarted', id));
|
|
68
|
+
this.queue.on('uploadProgress', (id, progress) => this.emit('uploadProgress', id, progress));
|
|
69
|
+
this.queue.on('uploadCompleted', (id, recordingId) => this.emit('uploadCompleted', id, recordingId));
|
|
70
|
+
this.queue.on('uploadFailed', (id, error) => this.emit('uploadFailed', id, error));
|
|
64
71
|
}
|
|
65
72
|
async initialize() {
|
|
66
73
|
if (this.initialized) return;
|
|
67
74
|
this.assertAlive();
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
createdAt: new Date(task.createdAt),
|
|
71
|
-
updatedAt: new Date(task.updatedAt),
|
|
72
|
-
status: task.status === 'uploading' ? 'pending' : task.status
|
|
73
|
-
}));
|
|
75
|
+
await this.queue.initialize();
|
|
76
|
+
this.assertAlive();
|
|
74
77
|
this.initialized = true;
|
|
75
78
|
}
|
|
76
79
|
async getStorageInfo(device) {
|
|
@@ -89,6 +92,10 @@ class RecordingManager extends _eventemitter.default {
|
|
|
89
92
|
}
|
|
90
93
|
async *syncRecording(device, recording, uploadInfo) {
|
|
91
94
|
this.assertReady();
|
|
95
|
+
if (uploadInfo.signal?.aborted) {
|
|
96
|
+
uploadInfo.dispose?.();
|
|
97
|
+
throw new Error('Upload authorization context cancelled');
|
|
98
|
+
}
|
|
92
99
|
this.emit('syncStarted', recording.uuid);
|
|
93
100
|
const sinkId = createOpaqueId();
|
|
94
101
|
const now = new Date();
|
|
@@ -96,6 +103,9 @@ class RecordingManager extends _eventemitter.default {
|
|
|
96
103
|
id: createTaskId(),
|
|
97
104
|
recordingId: uploadInfo.recordingId,
|
|
98
105
|
deviceId: device.id,
|
|
106
|
+
recordingUuid: recording.uuid,
|
|
107
|
+
recoveryScope: uploadInfo.recoveryScope,
|
|
108
|
+
fileSizeBytes: recording.fileSizeBytes,
|
|
99
109
|
localPath: '',
|
|
100
110
|
uploadUrl: uploadInfo.uploadUrl,
|
|
101
111
|
...(uploadInfo.uploadToken ? {
|
|
@@ -112,9 +122,34 @@ class RecordingManager extends _eventemitter.default {
|
|
|
112
122
|
createdAt: now,
|
|
113
123
|
updatedAt: now
|
|
114
124
|
};
|
|
115
|
-
this.
|
|
116
|
-
|
|
117
|
-
|
|
125
|
+
const recovered = uploadInfo.recoveryScope && this.queue.all().find(value => value.recoveryScope === uploadInfo.recoveryScope && value.recordingId === uploadInfo.recordingId && value.deviceId === device.id && value.recordingUuid === recording.uuid && !!value.localPath);
|
|
126
|
+
if (recovered) {
|
|
127
|
+
const adopted = this.queue.offerCredentials(recovered.id, uploadInfo);
|
|
128
|
+
try {
|
|
129
|
+
await this.queue.run(recovered.id);
|
|
130
|
+
this.assertReady();
|
|
131
|
+
if (uploadInfo.signal?.aborted) throw new Error('Upload authorization context cancelled');
|
|
132
|
+
await this.client.recordings.confirmRecording(device, recording.uuid);
|
|
133
|
+
this.assertReady();
|
|
134
|
+
yield this.emitSyncProgress(recording.uuid, {
|
|
135
|
+
stage: 'completed',
|
|
136
|
+
progress: 1,
|
|
137
|
+
recordingId: recovered.recordingId,
|
|
138
|
+
contentSha256: recovered.contentSha256
|
|
139
|
+
});
|
|
140
|
+
this.emit('syncCompleted', recording.uuid, recovered.recordingId);
|
|
141
|
+
} finally {
|
|
142
|
+
if (!adopted) uploadInfo.dispose?.();
|
|
143
|
+
}
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
try {
|
|
147
|
+
await this.queue.add(task, uploadInfo);
|
|
148
|
+
} catch (error) {
|
|
149
|
+
uploadInfo.dispose?.();
|
|
150
|
+
throw error;
|
|
151
|
+
}
|
|
152
|
+
let uploadAttempted = false;
|
|
118
153
|
try {
|
|
119
154
|
yield this.emitSyncProgress(recording.uuid, {
|
|
120
155
|
stage: 'preparing',
|
|
@@ -139,10 +174,21 @@ class RecordingManager extends _eventemitter.default {
|
|
|
139
174
|
if (transferResult.e2eEncrypted && !uploadInfo.relay) {
|
|
140
175
|
throw new Error('Device delivered encrypted recording data without an upload relay');
|
|
141
176
|
}
|
|
142
|
-
|
|
177
|
+
this.assertReady();
|
|
178
|
+
if (uploadInfo.signal?.aborted || !this.queue.get(task.id)) throw new Error('Upload cancelled');
|
|
179
|
+
const nativeSize = 'fileSizeBytes' in transferResult && typeof transferResult.fileSizeBytes === 'number' ? transferResult.fileSizeBytes : undefined;
|
|
180
|
+
if (nativeSize !== undefined && (!Number.isSafeInteger(nativeSize) || nativeSize < 0)) throw new Error('Invalid native recording file size');
|
|
181
|
+
if (nativeSize === undefined && uploadInfo.complete) throw new Error('Host completion requires actual native recording file size');
|
|
182
|
+
// Route selection comes from native transfer metadata, never list flags.
|
|
183
|
+
uploadInfo = {
|
|
184
|
+
...uploadInfo,
|
|
185
|
+
relay: transferResult.e2eEncrypted ? uploadInfo.relay : undefined
|
|
186
|
+
};
|
|
187
|
+
await this.queue.update(task.id, {
|
|
143
188
|
localPath: transferResult.localPath,
|
|
189
|
+
fileSizeBytes: nativeSize ?? (transferResult.e2eEncrypted ? undefined : recording.fileSizeBytes),
|
|
144
190
|
contentSha256: transferResult.contentSha256,
|
|
145
|
-
|
|
191
|
+
relayUpload: transferResult.e2eEncrypted
|
|
146
192
|
});
|
|
147
193
|
yield this.emitSyncProgress(recording.uuid, {
|
|
148
194
|
stage: 'uploading',
|
|
@@ -151,7 +197,8 @@ class RecordingManager extends _eventemitter.default {
|
|
|
151
197
|
totalBytes: recording.fileSizeBytes,
|
|
152
198
|
contentSha256: transferResult.contentSha256
|
|
153
199
|
});
|
|
154
|
-
|
|
200
|
+
uploadAttempted = true;
|
|
201
|
+
const upload = observeProgress(onProgress => this.queue.run(task.id, onProgress));
|
|
155
202
|
while (true) {
|
|
156
203
|
const value = await upload.next();
|
|
157
204
|
if (value.done) break;
|
|
@@ -167,7 +214,10 @@ class RecordingManager extends _eventemitter.default {
|
|
|
167
214
|
stage: 'completing',
|
|
168
215
|
progress: 0.5
|
|
169
216
|
});
|
|
217
|
+
this.assertReady();
|
|
218
|
+
if (uploadInfo.signal?.aborted || !this.queue.get(task.id)) throw new Error('Upload cancelled');
|
|
170
219
|
await this.client.recordings.confirmRecording(device, recording.uuid);
|
|
220
|
+
this.assertReady();
|
|
171
221
|
const completed = this.emitSyncProgress(recording.uuid, {
|
|
172
222
|
stage: 'completed',
|
|
173
223
|
progress: 1,
|
|
@@ -178,12 +228,13 @@ class RecordingManager extends _eventemitter.default {
|
|
|
178
228
|
this.emit('syncCompleted', recording.uuid, uploadInfo.recordingId);
|
|
179
229
|
} catch (error) {
|
|
180
230
|
const failure = error instanceof Error ? error : new Error(String(error));
|
|
181
|
-
if (this.
|
|
182
|
-
await this.
|
|
231
|
+
if (!this.destroyed && this.queue.get(task.id)?.status === 'pending' && !this.queue.get(task.id)?.localPath) {
|
|
232
|
+
await this.queue.update(task.id, {
|
|
183
233
|
status: 'failed',
|
|
184
|
-
errorMessage:
|
|
234
|
+
errorMessage: 'Recording transfer failed'
|
|
185
235
|
});
|
|
186
236
|
}
|
|
237
|
+
if (this.destroyed) throw failure;
|
|
187
238
|
yield this.emitSyncProgress(recording.uuid, {
|
|
188
239
|
stage: 'failed',
|
|
189
240
|
progress: 0,
|
|
@@ -191,6 +242,8 @@ class RecordingManager extends _eventemitter.default {
|
|
|
191
242
|
});
|
|
192
243
|
this.emit('syncFailed', recording.uuid, failure);
|
|
193
244
|
throw failure;
|
|
245
|
+
} finally {
|
|
246
|
+
if (!uploadAttempted) this.queue.discardCredentials(task.id);
|
|
194
247
|
}
|
|
195
248
|
}
|
|
196
249
|
async triggerDeviceUpload(device) {
|
|
@@ -300,12 +353,10 @@ class RecordingManager extends _eventemitter.default {
|
|
|
300
353
|
}
|
|
301
354
|
}
|
|
302
355
|
getPendingUploads() {
|
|
303
|
-
return this.
|
|
356
|
+
return this.queue.all().filter(task => task.status === 'pending' || task.status === 'uploading');
|
|
304
357
|
}
|
|
305
358
|
getAllUploads() {
|
|
306
|
-
return this.
|
|
307
|
-
...task
|
|
308
|
-
}));
|
|
359
|
+
return this.queue.all();
|
|
309
360
|
}
|
|
310
361
|
startStreamingSync(device, recordingUuid, uploadInfoProvider, options = {}) {
|
|
311
362
|
this.assertReady();
|
|
@@ -326,110 +377,40 @@ class RecordingManager extends _eventemitter.default {
|
|
|
326
377
|
return this.activeStreamingSession;
|
|
327
378
|
}
|
|
328
379
|
async cancelUpload(taskId) {
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
await this.persistTasks();
|
|
332
|
-
this.emitQueueUpdated();
|
|
380
|
+
this.assertReady();
|
|
381
|
+
await this.queue.cancel(taskId);
|
|
333
382
|
}
|
|
334
383
|
async retryFailedUploads() {
|
|
335
384
|
this.assertReady();
|
|
336
|
-
|
|
337
|
-
for (const task of this.tasks.filter(value => value.status === 'failed')) {
|
|
338
|
-
await this.updateTask(task.id, {
|
|
339
|
-
status: 'pending',
|
|
340
|
-
retryCount: task.retryCount + 1,
|
|
341
|
-
errorMessage: undefined
|
|
342
|
-
});
|
|
343
|
-
try {
|
|
344
|
-
await this.runUpload(task.id);
|
|
345
|
-
} catch {
|
|
346
|
-
// Keep failed tasks available for the next explicit retry.
|
|
347
|
-
}
|
|
348
|
-
}
|
|
385
|
+
await this.queue.retryFailed();
|
|
349
386
|
}
|
|
350
387
|
async clearCompletedUploads() {
|
|
351
|
-
this.
|
|
352
|
-
await this.
|
|
353
|
-
this.emitQueueUpdated();
|
|
388
|
+
this.assertReady();
|
|
389
|
+
await this.queue.clearCompleted();
|
|
354
390
|
}
|
|
355
391
|
async clearAllUploads() {
|
|
356
|
-
|
|
357
|
-
await
|
|
358
|
-
this.tasks = [];
|
|
359
|
-
await this.persistTasks();
|
|
360
|
-
this.emitQueueUpdated();
|
|
392
|
+
this.assertReady();
|
|
393
|
+
await this.queue.clearAll();
|
|
361
394
|
}
|
|
362
395
|
pauseUploads() {
|
|
363
|
-
this.
|
|
396
|
+
this.queue.pause();
|
|
364
397
|
}
|
|
365
398
|
resumeUploads() {
|
|
366
|
-
this.
|
|
367
|
-
void this.retryFailedUploads();
|
|
399
|
+
this.queue.resume();
|
|
368
400
|
}
|
|
369
401
|
destroy() {
|
|
370
402
|
if (this.destroyed) return;
|
|
371
403
|
this.destroyed = true;
|
|
404
|
+
this.queue.destroy();
|
|
372
405
|
this.activeStreamingSession?.abort();
|
|
373
406
|
this.activeStreamingSession = null;
|
|
374
|
-
void this.client.recordings.destroyCompatibilityOperations().catch(() => undefined);
|
|
375
407
|
this.removeAllListeners();
|
|
376
408
|
this.initialized = false;
|
|
377
409
|
}
|
|
378
|
-
async runUpload(taskId, onProgress) {
|
|
379
|
-
if (this.paused) throw new Error('Upload queue is paused');
|
|
380
|
-
const task = this.requireTask(taskId);
|
|
381
|
-
await this.updateTask(taskId, {
|
|
382
|
-
status: 'uploading',
|
|
383
|
-
errorMessage: undefined
|
|
384
|
-
});
|
|
385
|
-
this.emit('uploadStarted', taskId);
|
|
386
|
-
try {
|
|
387
|
-
await this.client.recordings.uploadRecordingFile(this.requireTask(taskId), progress => {
|
|
388
|
-
onProgress?.(progress);
|
|
389
|
-
const ratio = progress.totalBytes > 0 ? Math.min(progress.completedBytes / progress.totalBytes, 1) : 0;
|
|
390
|
-
this.emit('uploadProgress', taskId, ratio);
|
|
391
|
-
});
|
|
392
|
-
await this.updateTask(taskId, {
|
|
393
|
-
status: 'completed',
|
|
394
|
-
errorMessage: undefined
|
|
395
|
-
});
|
|
396
|
-
this.emit('uploadCompleted', taskId, task.recordingId);
|
|
397
|
-
} catch (error) {
|
|
398
|
-
const failure = error instanceof Error ? error : new Error(String(error));
|
|
399
|
-
await this.updateTask(taskId, {
|
|
400
|
-
status: 'failed',
|
|
401
|
-
errorMessage: failure.message
|
|
402
|
-
});
|
|
403
|
-
this.emit('uploadFailed', taskId, failure);
|
|
404
|
-
throw failure;
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
410
|
emitSyncProgress(recordingUuid, progress) {
|
|
408
411
|
this.emit('syncProgress', recordingUuid, progress);
|
|
409
412
|
return progress;
|
|
410
413
|
}
|
|
411
|
-
requireTask(taskId) {
|
|
412
|
-
const task = this.tasks.find(value => value.id === taskId);
|
|
413
|
-
if (!task) throw new Error(`Upload task not found: ${taskId}`);
|
|
414
|
-
return task;
|
|
415
|
-
}
|
|
416
|
-
async updateTask(taskId, patch) {
|
|
417
|
-
const index = this.tasks.findIndex(task => task.id === taskId);
|
|
418
|
-
if (index < 0) throw new Error(`Upload task not found: ${taskId}`);
|
|
419
|
-
this.tasks[index] = {
|
|
420
|
-
...this.tasks[index],
|
|
421
|
-
...patch,
|
|
422
|
-
updatedAt: new Date()
|
|
423
|
-
};
|
|
424
|
-
await this.persistTasks();
|
|
425
|
-
this.emitQueueUpdated();
|
|
426
|
-
}
|
|
427
|
-
async persistTasks() {
|
|
428
|
-
await this.client.recordings.saveUploadQueue(this.tasks);
|
|
429
|
-
}
|
|
430
|
-
emitQueueUpdated() {
|
|
431
|
-
this.emit('queueUpdated', this.getAllUploads());
|
|
432
|
-
}
|
|
433
414
|
assertReady() {
|
|
434
415
|
this.assertAlive();
|
|
435
416
|
if (!this.initialized) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_eventemitter","_interopRequireDefault","require","_runtime","_StreamingSession","e","__esModule","default","createTaskId","Date","now","Math","random","toString","slice","createOpaqueId","replace","value","floor","nibble","errorMessage","error","Error","message","String","observeProgress","start","queued","waiting","result","failure","settled","wake","splice","forEach","resolve","progress","push","then","next","length","Promise","shift","done","undefined","RecordingManager","EventEmitter","tasks","initialized","paused","destroyed","activeStreamingSession","constructor","client","getCompatibilityClient","initialize","assertAlive","recordings","loadUploadQueue","map","task","createdAt","updatedAt","status","getStorageInfo","device","assertReady","all","devices","readStatus","listRecordings","totalKb","storageTotalMb","usedKb","storageUsedMb","totalRecordings","pendingSyncCount","pendingRecordings","syncRecording","recording","uploadInfo","emit","uuid","sinkId","id","recordingId","deviceId","localPath","uploadUrl","uploadToken","completeUrl","contentType","retryCount","persistTasks","emitQueueUpdated","emitSyncProgress","stage","totalBytes","fileSizeBytes","transfer","onProgress","transferResult","min","completedBytes","bytesTransferred","e2eEncrypted","relay","updateTask","contentSha256","bytesUploaded","upload","runUpload","confirmRecording","completed","requireTask","triggerDeviceUpload","observeUploadOwnership","recordingUuid","uploadId","destinationId","kind","accepted","monitorDeviceUpload","initialPendingCount","recordingIndex","syncAllRecordings","uploadInfoProvider","ownership","index","getPendingUploads","filter","getAllUploads","startStreamingSync","options","isActive","session","StreamingSession","chunkSizeKb","flushIntervalMs","setStreamingSessionTerminalHandler","catch","getActiveStreamingSession","cancelUpload","taskId","cancelRecordingUpload","retryFailedUploads","clearCompletedUploads","clearAllUploads","ids","pauseUploads","resumeUploads","destroy","abort","destroyCompatibilityOperations","removeAllListeners","uploadRecordingFile","ratio","find","patch","findIndex","saveUploadQueue","exports"],"sourceRoot":"../../../src","sources":["managers/RecordingManager.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_eventemitter","_interopRequireDefault","require","_runtime","_NativeUploadQueue","_uploadRecoveryMetadata","_StreamingSession","e","__esModule","default","createTaskId","Date","now","Math","random","toString","slice","createOpaqueId","replace","value","floor","nibble","errorMessage","error","Error","message","String","observeProgress","start","queued","waiting","result","failure","settled","wake","splice","forEach","resolve","progress","push","then","next","length","Promise","shift","done","undefined","RecordingManager","EventEmitter","initialized","destroyed","activeStreamingSession","constructor","options","rejectRecordingDataStore","recordingDataStore","client","getCompatibilityClient","queue","NativeUploadQueue","recordings","uploadRecoveryProvider","on","tasks","emit","id","recordingId","initialize","assertAlive","getStorageInfo","device","assertReady","status","all","devices","readStatus","listRecordings","totalKb","storageTotalMb","usedKb","storageUsedMb","totalRecordings","pendingSyncCount","pendingRecordings","syncRecording","recording","uploadInfo","signal","aborted","dispose","uuid","sinkId","task","deviceId","recordingUuid","recoveryScope","fileSizeBytes","localPath","uploadUrl","uploadToken","completeUrl","contentType","retryCount","createdAt","updatedAt","recovered","find","adopted","offerCredentials","run","confirmRecording","emitSyncProgress","stage","contentSha256","add","uploadAttempted","totalBytes","transfer","onProgress","transferResult","min","completedBytes","bytesTransferred","e2eEncrypted","relay","get","nativeSize","Number","isSafeInteger","complete","update","relayUpload","bytesUploaded","upload","completed","discardCredentials","triggerDeviceUpload","observeUploadOwnership","uploadId","destinationId","kind","accepted","monitorDeviceUpload","initialPendingCount","recordingIndex","syncAllRecordings","uploadInfoProvider","ownership","index","getPendingUploads","filter","getAllUploads","startStreamingSync","isActive","session","StreamingSession","chunkSizeKb","flushIntervalMs","setStreamingSessionTerminalHandler","catch","getActiveStreamingSession","cancelUpload","taskId","cancel","retryFailedUploads","retryFailed","clearCompletedUploads","clearCompleted","clearAllUploads","clearAll","pauseUploads","pause","resumeUploads","resume","destroy","abort","removeAllListeners","exports"],"sourceRoot":"../../../src","sources":["managers/RecordingManager.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.persistedUploadQueue = persistedUploadQueue;
|
|
7
|
+
exports.rejectRecordingDataStore = rejectRecordingDataStore;
|
|
8
|
+
exports.restoreUploadQueue = restoreUploadQueue;
|
|
9
|
+
const invalid = () => {
|
|
10
|
+
throw new Error('Invalid upload recovery journal');
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
/** Whitelist, never spread a runtime object into persistent storage. */
|
|
14
|
+
function persistedUploadQueue(tasks) {
|
|
15
|
+
return tasks.map(task => ({
|
|
16
|
+
id: task.id,
|
|
17
|
+
recordingId: task.recordingId,
|
|
18
|
+
deviceId: task.deviceId,
|
|
19
|
+
localPath: task.localPath,
|
|
20
|
+
uploadUrl: '',
|
|
21
|
+
status: task.status,
|
|
22
|
+
retryCount: task.retryCount,
|
|
23
|
+
createdAt: new Date(task.createdAt),
|
|
24
|
+
updatedAt: new Date(task.updatedAt),
|
|
25
|
+
...(task.recordingUuid === undefined ? {} : {
|
|
26
|
+
recordingUuid: task.recordingUuid
|
|
27
|
+
}),
|
|
28
|
+
...(task.recoveryScope === undefined ? {} : {
|
|
29
|
+
recoveryScope: task.recoveryScope
|
|
30
|
+
}),
|
|
31
|
+
...(task.fileSizeBytes === undefined ? {} : {
|
|
32
|
+
fileSizeBytes: task.fileSizeBytes
|
|
33
|
+
}),
|
|
34
|
+
...(task.nextAttemptAt === undefined ? {} : {
|
|
35
|
+
nextAttemptAt: task.nextAttemptAt
|
|
36
|
+
}),
|
|
37
|
+
...(task.contentType === undefined ? {} : {
|
|
38
|
+
contentType: task.contentType
|
|
39
|
+
}),
|
|
40
|
+
...(task.contentSha256 === undefined ? {} : {
|
|
41
|
+
contentSha256: task.contentSha256
|
|
42
|
+
}),
|
|
43
|
+
relayUpload: task.relayUpload ?? !!task.relay
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
function restoreUploadQueue(value) {
|
|
47
|
+
if (!Array.isArray(value)) return invalid();
|
|
48
|
+
const ids = new Set();
|
|
49
|
+
const validated = value.map(entry => {
|
|
50
|
+
if (!entry || typeof entry !== 'object') return invalid();
|
|
51
|
+
const task = entry;
|
|
52
|
+
for (const field of ['id', 'recordingId', 'deviceId']) {
|
|
53
|
+
if (typeof task[field] !== 'string' || !task[field]) return invalid();
|
|
54
|
+
}
|
|
55
|
+
if (typeof task.localPath !== 'string' || ids.has(task.id)) return invalid();
|
|
56
|
+
ids.add(task.id);
|
|
57
|
+
if (!['pending', 'uploading', 'failed', 'completed'].includes(task.status)) return invalid();
|
|
58
|
+
if (!Number.isSafeInteger(task.retryCount) || task.retryCount < 0) return invalid();
|
|
59
|
+
for (const field of ['recordingUuid', 'recoveryScope', 'contentType', 'contentSha256']) {
|
|
60
|
+
if (task[field] !== undefined && typeof task[field] !== 'string') return invalid();
|
|
61
|
+
}
|
|
62
|
+
for (const field of ['fileSizeBytes', 'nextAttemptAt']) {
|
|
63
|
+
if (task[field] !== undefined && (!Number.isSafeInteger(task[field]) || task[field] < 0)) return invalid();
|
|
64
|
+
}
|
|
65
|
+
if (task.relayUpload !== undefined && typeof task.relayUpload !== 'boolean') return invalid();
|
|
66
|
+
const createdAt = new Date(task.createdAt);
|
|
67
|
+
const updatedAt = new Date(task.updatedAt);
|
|
68
|
+
if (!Number.isFinite(createdAt.getTime()) || !Number.isFinite(updatedAt.getTime())) return invalid();
|
|
69
|
+
return {
|
|
70
|
+
...task,
|
|
71
|
+
createdAt,
|
|
72
|
+
updatedAt,
|
|
73
|
+
status: task.status === 'uploading' ? 'pending' : task.status
|
|
74
|
+
};
|
|
75
|
+
});
|
|
76
|
+
return persistedUploadQueue(validated);
|
|
77
|
+
}
|
|
78
|
+
function rejectRecordingDataStore(value) {
|
|
79
|
+
if (value !== undefined) {
|
|
80
|
+
throw new Error('RecordingDataStore byte callbacks are unsupported; recording files are native-owned');
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=uploadRecoveryMetadata.js.map
|
|
@@ -0,0 +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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","get"],"sourceRoot":"../../../src","sources":["specs/NativeBotaDeviceSDK.ts"],"mappings":";;;;;;AAEA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","get"],"sourceRoot":"../../../src","sources":["specs/NativeBotaDeviceSDK.ts"],"mappings":";;;;;;AAEA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAmlBpCC,gCAAmB,CAACC,GAAG,CAAO,eAAe,CAAC","ignoreList":[]}
|
package/lib/module/BotaClient.js
CHANGED
|
@@ -5,6 +5,7 @@ import { getCompatibilityClient } from './compatibility/runtime';
|
|
|
5
5
|
import { DeviceManager } from './managers/DeviceManager';
|
|
6
6
|
import { OTAManager } from './managers/OTAManager';
|
|
7
7
|
import { RecordingManager } from './managers/RecordingManager';
|
|
8
|
+
import { rejectRecordingDataStore } from './managers/uploadRecoveryMetadata';
|
|
8
9
|
import { BluetoothError, SdkError } from './utils/errors';
|
|
9
10
|
import { logger } from './utils/logger';
|
|
10
11
|
const log = logger.tag('BotaClient');
|
|
@@ -13,7 +14,10 @@ const normalizeConfig = config => ({
|
|
|
13
14
|
backgroundSyncEnabled: config.backgroundSyncEnabled ?? true,
|
|
14
15
|
wifiOnlyUpload: config.wifiOnlyUpload ?? false,
|
|
15
16
|
logLevel: config.logLevel ?? 'warn',
|
|
16
|
-
debug: config.debug ?? false
|
|
17
|
+
debug: config.debug ?? false,
|
|
18
|
+
...(config.uploadRecoveryProvider ? {
|
|
19
|
+
uploadRecoveryProvider: config.uploadRecoveryProvider
|
|
20
|
+
} : {})
|
|
17
21
|
});
|
|
18
22
|
class BotaClientImpl extends EventEmitter {
|
|
19
23
|
_config = null;
|
|
@@ -55,6 +59,11 @@ class BotaClientImpl extends EventEmitter {
|
|
|
55
59
|
return this._otaManager;
|
|
56
60
|
}
|
|
57
61
|
configure(config = {}) {
|
|
62
|
+
try {
|
|
63
|
+
rejectRecordingDataStore(config.recordingDataStore);
|
|
64
|
+
} catch (error) {
|
|
65
|
+
return Promise.reject(error);
|
|
66
|
+
}
|
|
58
67
|
if (this._configurePromise && !this._destroyPromise) {
|
|
59
68
|
return this._configurePromise;
|
|
60
69
|
}
|
|
@@ -135,7 +144,9 @@ class BotaClientImpl extends EventEmitter {
|
|
|
135
144
|
this.setBluetoothState(capabilities.bluetooth ? 'poweredOn' : 'unsupported');
|
|
136
145
|
deviceManager = new DeviceManager();
|
|
137
146
|
await deviceManager.initialize();
|
|
138
|
-
recordingManager = new RecordingManager(
|
|
147
|
+
recordingManager = new RecordingManager({
|
|
148
|
+
uploadRecoveryProvider: config.uploadRecoveryProvider
|
|
149
|
+
});
|
|
139
150
|
await recordingManager.initialize();
|
|
140
151
|
otaManager = new OTAManager(deviceManager);
|
|
141
152
|
this._deviceManager = deviceManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["EventEmitter","getCompatibilityClient","DeviceManager","OTAManager","RecordingManager","BluetoothError","SdkError","logger","log","tag","normalizeConfig","config","environment","backgroundSyncEnabled","wifiOnlyUpload","logLevel","debug","BotaClientImpl","_config","_state","_bluetoothState","_client","_deviceManager","_recordingManager","_otaManager","_nativeOwned","_operation","Promise","resolve","_configurePromise","_destroyPromise","state","bluetoothState","isBluetoothReady","isInitialized","devices","notInitialized","recordings","ota","configure","normalized","operation","enqueue","performConfigure","finally","catch","undefined","waitForBluetooth","timeoutMs","unavailable","deadline","Date","now","setTimeout","capabilities","getCapabilities","bluetooth","setBluetoothState","timeout","setLogLevel","level","setLevel","setLogHandler","handler","setHandler","destroy","releaseOwnerGraph","removeAllListeners","queued","then","warn","setState","client","deviceManager","recordingManager","otaManager","nativeState","getState","invalidState","initialize","info","
|
|
1
|
+
{"version":3,"names":["EventEmitter","getCompatibilityClient","DeviceManager","OTAManager","RecordingManager","rejectRecordingDataStore","BluetoothError","SdkError","logger","log","tag","normalizeConfig","config","environment","backgroundSyncEnabled","wifiOnlyUpload","logLevel","debug","uploadRecoveryProvider","BotaClientImpl","_config","_state","_bluetoothState","_client","_deviceManager","_recordingManager","_otaManager","_nativeOwned","_operation","Promise","resolve","_configurePromise","_destroyPromise","state","bluetoothState","isBluetoothReady","isInitialized","devices","notInitialized","recordings","ota","configure","recordingDataStore","error","reject","normalized","operation","enqueue","performConfigure","finally","catch","undefined","waitForBluetooth","timeoutMs","unavailable","deadline","Date","now","setTimeout","capabilities","getCapabilities","bluetooth","setBluetoothState","timeout","setLogLevel","level","setLevel","setLogHandler","handler","setHandler","destroy","releaseOwnerGraph","removeAllListeners","queued","then","warn","setState","client","deviceManager","recordingManager","otaManager","nativeState","getState","invalidState","initialize","info","failure","Error","String","emit","BotaClient"],"sourceRoot":"../../src","sources":["BotaClient.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,4 +3,8 @@
|
|
|
3
3
|
export const DEVICE_LOG_FLAG_BACKLOG = 0x01;
|
|
4
4
|
export const DEVICE_LOG_FLAG_DROPPED = 0x02;
|
|
5
5
|
export const BLE_ERROR_STORAGE_KEY_UNAVAILABLE = 0x14;
|
|
6
|
+
export const DEVICE_DIAGNOSTICS_EVT_META = 0x90;
|
|
7
|
+
export const DEVICE_DIAGNOSTICS_EVT_SIGNATURE = 0x91;
|
|
8
|
+
export const DEVICE_DIAGNOSTICS_EVT_END = 0x92;
|
|
9
|
+
export const DEVICE_DIAGNOSTICS_EVT_DETAIL = 0x95;
|
|
6
10
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DEVICE_LOG_FLAG_BACKLOG","DEVICE_LOG_FLAG_DROPPED","BLE_ERROR_STORAGE_KEY_UNAVAILABLE"],"sourceRoot":"../../../src","sources":["ble/constants.ts"],"mappings":";;AAAA,OAAO,MAAMA,uBAAuB,GAAG,IAAI;AAC3C,OAAO,MAAMC,uBAAuB,GAAG,IAAI;AAC3C,OAAO,MAAMC,iCAAiC,GAAG,IAAI","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["DEVICE_LOG_FLAG_BACKLOG","DEVICE_LOG_FLAG_DROPPED","BLE_ERROR_STORAGE_KEY_UNAVAILABLE","DEVICE_DIAGNOSTICS_EVT_META","DEVICE_DIAGNOSTICS_EVT_SIGNATURE","DEVICE_DIAGNOSTICS_EVT_END","DEVICE_DIAGNOSTICS_EVT_DETAIL"],"sourceRoot":"../../../src","sources":["ble/constants.ts"],"mappings":";;AAAA,OAAO,MAAMA,uBAAuB,GAAG,IAAI;AAC3C,OAAO,MAAMC,uBAAuB,GAAG,IAAI;AAC3C,OAAO,MAAMC,iCAAiC,GAAG,IAAI;AAErD,OAAO,MAAMC,2BAA2B,GAAG,IAAI;AAC/C,OAAO,MAAMC,gCAAgC,GAAG,IAAI;AACpD,OAAO,MAAMC,0BAA0B,GAAG,IAAI;AAC9C,OAAO,MAAMC,6BAA6B,GAAG,IAAI","ignoreList":[]}
|