easyproctor-hml 2.7.2 → 2.7.4

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
  }
@@ -14429,6 +14455,7 @@ Setting: ${JSON.stringify(settings, null, 2)}`
14429
14455
  }
14430
14456
  this.removeLifecycleListeners();
14431
14457
  this.persistSessionState("FINISHED");
14458
+ trackers.registerError(this.proctoringId, `Finalizando flush e parada do background upload`);
14432
14459
  }
14433
14460
  }
14434
14461
  /**
@@ -14602,6 +14629,7 @@ Setting: ${JSON.stringify(settings, null, 2)}`
14602
14629
  const settingsAudio = this.cameraStream.getAudioTracks()[0].getSettings();
14603
14630
  if (this.options.proctoringType == "VIDEO" || this.options.proctoringType == "REALTIME" || this.options.proctoringType == "IMAGE" && ((_a2 = this.paramsConfig.imageBehaviourParameters) == null ? void 0 : _a2.saveVideo)) {
14604
14631
  let videoFile;
14632
+ trackers.registerError(this.proctoringId, `saveOnSession iniciando`);
14605
14633
  if (this.isChunkEnabled) {
14606
14634
  const isStable = await this.checkInternetStability();
14607
14635
  if (isStable) {
@@ -14610,13 +14638,19 @@ Setting: ${JSON.stringify(settings, null, 2)}`
14610
14638
  const fileName = `EP_${this.proctoringId}_camera_0.webm`;
14611
14639
  const objectName = `${this.proctoringId}/${fileName}`;
14612
14640
  const isUploaded = await this.backend.checkUpload(this.backendToken, objectName, "video/webm");
14641
+ trackers.registerError(this.proctoringId, `Limpa o armazenamento local pois o v\xEDdeo j\xE1 est\xE1 no servidor`);
14613
14642
  if (isUploaded) {
14614
- this.chunkStorage && await this.chunkStorage.clearAllChunks(session.id);
14643
+ try {
14644
+ this.chunkStorage && await this.chunkStorage.clearAllChunks(session.id);
14645
+ } catch (e3) {
14646
+ trackers.registerError(this.proctoringId, `Erro ao limpar o armazenamento local: ${e3}`);
14647
+ }
14615
14648
  return;
14616
14649
  }
14617
14650
  }
14618
14651
  }
14619
14652
  }
14653
+ trackers.registerError(this.proctoringId, `saveOnSession gerando v\xEDdeo a partir do buffer em mem\xF3ria (\xEDntegra)`);
14620
14654
  const rawBlob = new Blob(this.blobs, {
14621
14655
  type: ((_b = this.recorderOptions) == null ? void 0 : _b.mimeType) || "video/webm"
14622
14656
  });
@@ -14637,6 +14671,7 @@ Setting: ${JSON.stringify(settings, null, 2)}`
14637
14671
  origin: "Camera" /* Camera */
14638
14672
  });
14639
14673
  }
14674
+ trackers.registerError(this.proctoringId, `saveOnSession finalizado`);
14640
14675
  }
14641
14676
  async getFile(file, name, type) {
14642
14677
  return new Promise((resolve, reject) => {
@@ -23766,11 +23801,15 @@ Error: ${error}`
23766
23801
  await this.recorder.stopAll();
23767
23802
  this.spyCam && this.spyCam.stopCheckSpyCam();
23768
23803
  this.appChecker && await this.appChecker.disconnectWebSocket();
23804
+ trackers.registerError(this.proctoringId, `finish saveAllOnSession`);
23769
23805
  await this.recorder.saveAllOnSession();
23806
+ trackers.registerError(this.proctoringId, `finish sendPendingRealtimeAlerts`);
23770
23807
  await this.sendPendingRealtimeAlerts();
23808
+ trackers.registerError(this.proctoringId, `finish this.repository.save`);
23771
23809
  await this.repository.save(this.proctoringSession);
23772
23810
  let uploader;
23773
23811
  let uploaderServices;
23812
+ trackers.registerError(this.proctoringId, `finish uploader`);
23774
23813
  if (versionVerify() !== "1.0.0.0") {
23775
23814
  uploader = new ProctoringUploader(
23776
23815
  this.proctoringSession,
@@ -23844,6 +23883,7 @@ Upload Services: ${uploaderServices}`,
23844
23883
  this.serviceType
23845
23884
  );
23846
23885
  }
23886
+ trackers.registerError(this.proctoringId, `finish uploader success`);
23847
23887
  if (this.proctoringSession.alerts.length > 0) {
23848
23888
  await this.backend.saveAlerts(this.context, this.proctoringSession).catch((err) => {
23849
23889
  trackers.registerFinish(
@@ -23853,6 +23893,7 @@ Upload Services: ${uploaderServices}`,
23853
23893
  );
23854
23894
  });
23855
23895
  }
23896
+ trackers.registerError(this.proctoringId, `finish saveAlerts ok`);
23856
23897
  await this.backend.finishAndSendUrls(this.context).then((finishResponse) => {
23857
23898
  var _a2, _b, _c2, _d;
23858
23899
  trackers.registerFinish(this.proctoringSession.id, true, "");
@@ -23864,6 +23905,7 @@ Upload Services: ${uploaderServices}`,
23864
23905
  "finish error: " + error
23865
23906
  );
23866
23907
  });
23908
+ trackers.registerError(this.proctoringId, `finish call`);
23867
23909
  if (this.appChecker) {
23868
23910
  const externalSessionId = this.appChecker.getExternalCameraSessionId();
23869
23911
  if (externalSessionId != "null") {
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
  }
@@ -32526,6 +32552,7 @@ Setting: ${JSON.stringify(settings, null, 2)}`
32526
32552
  }
32527
32553
  this.removeLifecycleListeners();
32528
32554
  this.persistSessionState("FINISHED");
32555
+ trackers.registerError(this.proctoringId, `Finalizando flush e parada do background upload`);
32529
32556
  }
32530
32557
  }
32531
32558
  /**
@@ -32699,6 +32726,7 @@ Setting: ${JSON.stringify(settings, null, 2)}`
32699
32726
  const settingsAudio = this.cameraStream.getAudioTracks()[0].getSettings();
32700
32727
  if (this.options.proctoringType == "VIDEO" || this.options.proctoringType == "REALTIME" || this.options.proctoringType == "IMAGE" && ((_a2 = this.paramsConfig.imageBehaviourParameters) == null ? void 0 : _a2.saveVideo)) {
32701
32728
  let videoFile;
32729
+ trackers.registerError(this.proctoringId, `saveOnSession iniciando`);
32702
32730
  if (this.isChunkEnabled) {
32703
32731
  const isStable = await this.checkInternetStability();
32704
32732
  if (isStable) {
@@ -32707,13 +32735,19 @@ Setting: ${JSON.stringify(settings, null, 2)}`
32707
32735
  const fileName = `EP_${this.proctoringId}_camera_0.webm`;
32708
32736
  const objectName = `${this.proctoringId}/${fileName}`;
32709
32737
  const isUploaded = await this.backend.checkUpload(this.backendToken, objectName, "video/webm");
32738
+ trackers.registerError(this.proctoringId, `Limpa o armazenamento local pois o v\xEDdeo j\xE1 est\xE1 no servidor`);
32710
32739
  if (isUploaded) {
32711
- this.chunkStorage && await this.chunkStorage.clearAllChunks(session.id);
32740
+ try {
32741
+ this.chunkStorage && await this.chunkStorage.clearAllChunks(session.id);
32742
+ } catch (e3) {
32743
+ trackers.registerError(this.proctoringId, `Erro ao limpar o armazenamento local: ${e3}`);
32744
+ }
32712
32745
  return;
32713
32746
  }
32714
32747
  }
32715
32748
  }
32716
32749
  }
32750
+ trackers.registerError(this.proctoringId, `saveOnSession gerando v\xEDdeo a partir do buffer em mem\xF3ria (\xEDntegra)`);
32717
32751
  const rawBlob = new Blob(this.blobs, {
32718
32752
  type: ((_b = this.recorderOptions) == null ? void 0 : _b.mimeType) || "video/webm"
32719
32753
  });
@@ -32734,6 +32768,7 @@ Setting: ${JSON.stringify(settings, null, 2)}`
32734
32768
  origin: "Camera" /* Camera */
32735
32769
  });
32736
32770
  }
32771
+ trackers.registerError(this.proctoringId, `saveOnSession finalizado`);
32737
32772
  }
32738
32773
  async getFile(file, name, type) {
32739
32774
  return new Promise((resolve, reject) => {
@@ -39015,11 +39050,15 @@ Error: ${error}`
39015
39050
  await this.recorder.stopAll();
39016
39051
  this.spyCam && this.spyCam.stopCheckSpyCam();
39017
39052
  this.appChecker && await this.appChecker.disconnectWebSocket();
39053
+ trackers.registerError(this.proctoringId, `finish saveAllOnSession`);
39018
39054
  await this.recorder.saveAllOnSession();
39055
+ trackers.registerError(this.proctoringId, `finish sendPendingRealtimeAlerts`);
39019
39056
  await this.sendPendingRealtimeAlerts();
39057
+ trackers.registerError(this.proctoringId, `finish this.repository.save`);
39020
39058
  await this.repository.save(this.proctoringSession);
39021
39059
  let uploader;
39022
39060
  let uploaderServices;
39061
+ trackers.registerError(this.proctoringId, `finish uploader`);
39023
39062
  if (versionVerify() !== "1.0.0.0") {
39024
39063
  uploader = new ProctoringUploader(
39025
39064
  this.proctoringSession,
@@ -39093,6 +39132,7 @@ Upload Services: ${uploaderServices}`,
39093
39132
  this.serviceType
39094
39133
  );
39095
39134
  }
39135
+ trackers.registerError(this.proctoringId, `finish uploader success`);
39096
39136
  if (this.proctoringSession.alerts.length > 0) {
39097
39137
  await this.backend.saveAlerts(this.context, this.proctoringSession).catch((err) => {
39098
39138
  trackers.registerFinish(
@@ -39102,6 +39142,7 @@ Upload Services: ${uploaderServices}`,
39102
39142
  );
39103
39143
  });
39104
39144
  }
39145
+ trackers.registerError(this.proctoringId, `finish saveAlerts ok`);
39105
39146
  await this.backend.finishAndSendUrls(this.context).then((finishResponse) => {
39106
39147
  var _a2, _b, _c2, _d;
39107
39148
  trackers.registerFinish(this.proctoringSession.id, true, "");
@@ -39113,6 +39154,7 @@ Upload Services: ${uploaderServices}`,
39113
39154
  "finish error: " + error
39114
39155
  );
39115
39156
  });
39157
+ trackers.registerError(this.proctoringId, `finish call`);
39116
39158
  if (this.appChecker) {
39117
39159
  const externalSessionId = this.appChecker.getExternalCameraSessionId();
39118
39160
  if (externalSessionId != "null") {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "easyproctor-hml",
3
- "version": "2.7.2",
3
+ "version": "2.7.4",
4
4
  "description": "Modulo web de gravação do EasyProctor",
5
5
  "main": "./index.js",
6
6
  "module": "./esm/index.js",