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 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(_ChunkStorageService.STORE_NAME, "readwrite");
13480
- const store = transaction.objectStore(_ChunkStorageService.STORE_NAME);
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
- return reject(new Error(`Erro ao limpar todos os chunks: ${(_a2 = request.error) == null ? void 0 : _a2.message}`));
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.chunkStorage && await this.chunkStorage.clearAllChunks(session.id);
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
- video.style.display = "none";
16302
- image.style.display = "block";
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(_ChunkStorageService.STORE_NAME, "readwrite");
31577
- const store = transaction.objectStore(_ChunkStorageService.STORE_NAME);
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
- return reject(new Error(`Erro ao limpar todos os chunks: ${(_a2 = request.error) == null ? void 0 : _a2.message}`));
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.chunkStorage && await this.chunkStorage.clearAllChunks(session.id);
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
- video.style.display = "none";
34399
- image.style.display = "block";
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();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "easyproctor-hml",
3
- "version": "2.7.1",
3
+ "version": "2.7.3",
4
4
  "description": "Modulo web de gravação do EasyProctor",
5
5
  "main": "./index.js",
6
6
  "module": "./esm/index.js",