easyproctor-hml 2.7.1 → 2.7.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/esm/index.js +46 -11
- package/index.js +46 -11
- package/package.json +1 -1
- package/unpkg/easyproctor.min.js +33 -31
package/esm/index.js
CHANGED
|
@@ -13476,8 +13476,13 @@ var _ChunkStorageService = class _ChunkStorageService {
|
|
|
13476
13476
|
async clearAllChunks(proctoringId2) {
|
|
13477
13477
|
const db = await this.connect();
|
|
13478
13478
|
return new Promise((resolve, reject) => {
|
|
13479
|
-
const transaction = db.transaction(
|
|
13480
|
-
|
|
13479
|
+
const transaction = db.transaction(
|
|
13480
|
+
_ChunkStorageService.STORE_NAME,
|
|
13481
|
+
"readwrite"
|
|
13482
|
+
);
|
|
13483
|
+
const store = transaction.objectStore(
|
|
13484
|
+
_ChunkStorageService.STORE_NAME
|
|
13485
|
+
);
|
|
13481
13486
|
const index = store.index("proctoringId");
|
|
13482
13487
|
const range = IDBKeyRange.only(proctoringId2);
|
|
13483
13488
|
const request = index.openCursor(range);
|
|
@@ -13486,13 +13491,34 @@ var _ChunkStorageService = class _ChunkStorageService {
|
|
|
13486
13491
|
if (cursor) {
|
|
13487
13492
|
cursor.delete();
|
|
13488
13493
|
cursor.continue();
|
|
13489
|
-
} else {
|
|
13490
|
-
resolve();
|
|
13491
13494
|
}
|
|
13492
13495
|
};
|
|
13493
13496
|
request.onerror = () => {
|
|
13494
13497
|
var _a2;
|
|
13495
|
-
|
|
13498
|
+
reject(
|
|
13499
|
+
new Error(
|
|
13500
|
+
`Erro ao limpar chunks: ${(_a2 = request.error) == null ? void 0 : _a2.message}`
|
|
13501
|
+
)
|
|
13502
|
+
);
|
|
13503
|
+
};
|
|
13504
|
+
transaction.oncomplete = () => {
|
|
13505
|
+
resolve();
|
|
13506
|
+
};
|
|
13507
|
+
transaction.onerror = () => {
|
|
13508
|
+
var _a2;
|
|
13509
|
+
reject(
|
|
13510
|
+
new Error(
|
|
13511
|
+
`Transaction error: ${(_a2 = transaction.error) == null ? void 0 : _a2.message}`
|
|
13512
|
+
)
|
|
13513
|
+
);
|
|
13514
|
+
};
|
|
13515
|
+
transaction.onabort = () => {
|
|
13516
|
+
var _a2;
|
|
13517
|
+
reject(
|
|
13518
|
+
new Error(
|
|
13519
|
+
`Transaction aborted: ${(_a2 = transaction.error) == null ? void 0 : _a2.message}`
|
|
13520
|
+
)
|
|
13521
|
+
);
|
|
13496
13522
|
};
|
|
13497
13523
|
});
|
|
13498
13524
|
}
|
|
@@ -14413,19 +14439,23 @@ Setting: ${JSON.stringify(settings, null, 2)}`
|
|
|
14413
14439
|
}
|
|
14414
14440
|
if (this.isChunkEnabled) {
|
|
14415
14441
|
if (this.backgroundUpload) {
|
|
14442
|
+
trackers.registerError(this.proctoringId, `Flush e parada do background upload`);
|
|
14416
14443
|
try {
|
|
14417
14444
|
if (this.pendingChunkSaves.length > 0) {
|
|
14418
14445
|
console.log(`[CameraRecorder] Aguardando ${this.pendingChunkSaves.length} salvamentos de chunks pendentes...`);
|
|
14419
14446
|
await Promise.all(this.pendingChunkSaves);
|
|
14420
14447
|
}
|
|
14421
14448
|
await this.backgroundUpload.flush();
|
|
14449
|
+
this.backgroundUpload.stop();
|
|
14422
14450
|
} catch (e3) {
|
|
14423
14451
|
console.warn("[CameraRecorder] Erro ao fazer flush dos chunks:", e3);
|
|
14452
|
+
trackers.registerError(this.proctoringId, `Flush Chunks
|
|
14453
|
+
Error: ${e3}`);
|
|
14424
14454
|
}
|
|
14425
|
-
this.backgroundUpload.stop();
|
|
14426
14455
|
}
|
|
14427
14456
|
this.removeLifecycleListeners();
|
|
14428
14457
|
this.persistSessionState("FINISHED");
|
|
14458
|
+
trackers.registerError(this.proctoringId, `Finalizando flush e parada do background upload`);
|
|
14429
14459
|
}
|
|
14430
14460
|
}
|
|
14431
14461
|
/**
|
|
@@ -14449,6 +14479,8 @@ Setting: ${JSON.stringify(settings, null, 2)}`
|
|
|
14449
14479
|
this.chunkIndex++;
|
|
14450
14480
|
console.log(`[CameraRecorder] Chunk ${this.chunkIndex - 1} salvo no IndexedDB.`);
|
|
14451
14481
|
} catch (error) {
|
|
14482
|
+
trackers.registerError(this.proctoringId, `Save Chunk
|
|
14483
|
+
Error: ${error}`);
|
|
14452
14484
|
console.error("[CameraRecorder] Erro ao salvar chunk no IndexedDB:", error);
|
|
14453
14485
|
}
|
|
14454
14486
|
})();
|
|
@@ -14606,7 +14638,12 @@ Setting: ${JSON.stringify(settings, null, 2)}`
|
|
|
14606
14638
|
const objectName = `${this.proctoringId}/${fileName}`;
|
|
14607
14639
|
const isUploaded = await this.backend.checkUpload(this.backendToken, objectName, "video/webm");
|
|
14608
14640
|
if (isUploaded) {
|
|
14609
|
-
this.
|
|
14641
|
+
trackers.registerError(this.proctoringId, `Limpa o armazenamento local pois o v\xEDdeo j\xE1 est\xE1 no servidor`);
|
|
14642
|
+
try {
|
|
14643
|
+
this.chunkStorage && await this.chunkStorage.clearAllChunks(session.id);
|
|
14644
|
+
} catch (e3) {
|
|
14645
|
+
trackers.registerError(this.proctoringId, `Erro ao limpar o armazenamento local: ${e3}`);
|
|
14646
|
+
}
|
|
14610
14647
|
return;
|
|
14611
14648
|
}
|
|
14612
14649
|
}
|
|
@@ -16298,16 +16335,14 @@ var CapturePhoto = class {
|
|
|
16298
16335
|
divBtn.appendChild(retakeBtn);
|
|
16299
16336
|
divBtn.appendChild(confirmBtn);
|
|
16300
16337
|
this.shot();
|
|
16301
|
-
|
|
16302
|
-
|
|
16338
|
+
this.closeInterface();
|
|
16339
|
+
resolve({ base64: this.base64 });
|
|
16303
16340
|
});
|
|
16304
16341
|
retakeBtn.addEventListener("click", () => {
|
|
16305
16342
|
divBtn.appendChild(closeModalBtn);
|
|
16306
16343
|
divBtn.appendChild(takePhotoBtn);
|
|
16307
16344
|
divBtn.removeChild(retakeBtn);
|
|
16308
16345
|
divBtn.removeChild(confirmBtn);
|
|
16309
|
-
video.style.display = "block";
|
|
16310
|
-
image.style.display = "none";
|
|
16311
16346
|
});
|
|
16312
16347
|
confirmBtn.addEventListener("click", () => {
|
|
16313
16348
|
this.closeInterface();
|
package/index.js
CHANGED
|
@@ -31573,8 +31573,13 @@ var _ChunkStorageService = class _ChunkStorageService {
|
|
|
31573
31573
|
async clearAllChunks(proctoringId2) {
|
|
31574
31574
|
const db = await this.connect();
|
|
31575
31575
|
return new Promise((resolve, reject) => {
|
|
31576
|
-
const transaction = db.transaction(
|
|
31577
|
-
|
|
31576
|
+
const transaction = db.transaction(
|
|
31577
|
+
_ChunkStorageService.STORE_NAME,
|
|
31578
|
+
"readwrite"
|
|
31579
|
+
);
|
|
31580
|
+
const store = transaction.objectStore(
|
|
31581
|
+
_ChunkStorageService.STORE_NAME
|
|
31582
|
+
);
|
|
31578
31583
|
const index = store.index("proctoringId");
|
|
31579
31584
|
const range = IDBKeyRange.only(proctoringId2);
|
|
31580
31585
|
const request = index.openCursor(range);
|
|
@@ -31583,13 +31588,34 @@ var _ChunkStorageService = class _ChunkStorageService {
|
|
|
31583
31588
|
if (cursor) {
|
|
31584
31589
|
cursor.delete();
|
|
31585
31590
|
cursor.continue();
|
|
31586
|
-
} else {
|
|
31587
|
-
resolve();
|
|
31588
31591
|
}
|
|
31589
31592
|
};
|
|
31590
31593
|
request.onerror = () => {
|
|
31591
31594
|
var _a2;
|
|
31592
|
-
|
|
31595
|
+
reject(
|
|
31596
|
+
new Error(
|
|
31597
|
+
`Erro ao limpar chunks: ${(_a2 = request.error) == null ? void 0 : _a2.message}`
|
|
31598
|
+
)
|
|
31599
|
+
);
|
|
31600
|
+
};
|
|
31601
|
+
transaction.oncomplete = () => {
|
|
31602
|
+
resolve();
|
|
31603
|
+
};
|
|
31604
|
+
transaction.onerror = () => {
|
|
31605
|
+
var _a2;
|
|
31606
|
+
reject(
|
|
31607
|
+
new Error(
|
|
31608
|
+
`Transaction error: ${(_a2 = transaction.error) == null ? void 0 : _a2.message}`
|
|
31609
|
+
)
|
|
31610
|
+
);
|
|
31611
|
+
};
|
|
31612
|
+
transaction.onabort = () => {
|
|
31613
|
+
var _a2;
|
|
31614
|
+
reject(
|
|
31615
|
+
new Error(
|
|
31616
|
+
`Transaction aborted: ${(_a2 = transaction.error) == null ? void 0 : _a2.message}`
|
|
31617
|
+
)
|
|
31618
|
+
);
|
|
31593
31619
|
};
|
|
31594
31620
|
});
|
|
31595
31621
|
}
|
|
@@ -32510,19 +32536,23 @@ Setting: ${JSON.stringify(settings, null, 2)}`
|
|
|
32510
32536
|
}
|
|
32511
32537
|
if (this.isChunkEnabled) {
|
|
32512
32538
|
if (this.backgroundUpload) {
|
|
32539
|
+
trackers.registerError(this.proctoringId, `Flush e parada do background upload`);
|
|
32513
32540
|
try {
|
|
32514
32541
|
if (this.pendingChunkSaves.length > 0) {
|
|
32515
32542
|
console.log(`[CameraRecorder] Aguardando ${this.pendingChunkSaves.length} salvamentos de chunks pendentes...`);
|
|
32516
32543
|
await Promise.all(this.pendingChunkSaves);
|
|
32517
32544
|
}
|
|
32518
32545
|
await this.backgroundUpload.flush();
|
|
32546
|
+
this.backgroundUpload.stop();
|
|
32519
32547
|
} catch (e3) {
|
|
32520
32548
|
console.warn("[CameraRecorder] Erro ao fazer flush dos chunks:", e3);
|
|
32549
|
+
trackers.registerError(this.proctoringId, `Flush Chunks
|
|
32550
|
+
Error: ${e3}`);
|
|
32521
32551
|
}
|
|
32522
|
-
this.backgroundUpload.stop();
|
|
32523
32552
|
}
|
|
32524
32553
|
this.removeLifecycleListeners();
|
|
32525
32554
|
this.persistSessionState("FINISHED");
|
|
32555
|
+
trackers.registerError(this.proctoringId, `Finalizando flush e parada do background upload`);
|
|
32526
32556
|
}
|
|
32527
32557
|
}
|
|
32528
32558
|
/**
|
|
@@ -32546,6 +32576,8 @@ Setting: ${JSON.stringify(settings, null, 2)}`
|
|
|
32546
32576
|
this.chunkIndex++;
|
|
32547
32577
|
console.log(`[CameraRecorder] Chunk ${this.chunkIndex - 1} salvo no IndexedDB.`);
|
|
32548
32578
|
} catch (error) {
|
|
32579
|
+
trackers.registerError(this.proctoringId, `Save Chunk
|
|
32580
|
+
Error: ${error}`);
|
|
32549
32581
|
console.error("[CameraRecorder] Erro ao salvar chunk no IndexedDB:", error);
|
|
32550
32582
|
}
|
|
32551
32583
|
})();
|
|
@@ -32703,7 +32735,12 @@ Setting: ${JSON.stringify(settings, null, 2)}`
|
|
|
32703
32735
|
const objectName = `${this.proctoringId}/${fileName}`;
|
|
32704
32736
|
const isUploaded = await this.backend.checkUpload(this.backendToken, objectName, "video/webm");
|
|
32705
32737
|
if (isUploaded) {
|
|
32706
|
-
this.
|
|
32738
|
+
trackers.registerError(this.proctoringId, `Limpa o armazenamento local pois o v\xEDdeo j\xE1 est\xE1 no servidor`);
|
|
32739
|
+
try {
|
|
32740
|
+
this.chunkStorage && await this.chunkStorage.clearAllChunks(session.id);
|
|
32741
|
+
} catch (e3) {
|
|
32742
|
+
trackers.registerError(this.proctoringId, `Erro ao limpar o armazenamento local: ${e3}`);
|
|
32743
|
+
}
|
|
32707
32744
|
return;
|
|
32708
32745
|
}
|
|
32709
32746
|
}
|
|
@@ -34395,16 +34432,14 @@ var CapturePhoto = class {
|
|
|
34395
34432
|
divBtn.appendChild(retakeBtn);
|
|
34396
34433
|
divBtn.appendChild(confirmBtn);
|
|
34397
34434
|
this.shot();
|
|
34398
|
-
|
|
34399
|
-
|
|
34435
|
+
this.closeInterface();
|
|
34436
|
+
resolve({ base64: this.base64 });
|
|
34400
34437
|
});
|
|
34401
34438
|
retakeBtn.addEventListener("click", () => {
|
|
34402
34439
|
divBtn.appendChild(closeModalBtn);
|
|
34403
34440
|
divBtn.appendChild(takePhotoBtn);
|
|
34404
34441
|
divBtn.removeChild(retakeBtn);
|
|
34405
34442
|
divBtn.removeChild(confirmBtn);
|
|
34406
|
-
video.style.display = "block";
|
|
34407
|
-
image.style.display = "none";
|
|
34408
34443
|
});
|
|
34409
34444
|
confirmBtn.addEventListener("click", () => {
|
|
34410
34445
|
this.closeInterface();
|