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 +48 -6
- package/index.js +48 -6
- package/package.json +1 -1
- package/unpkg/easyproctor.min.js +29 -29
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
|
}
|
|
@@ -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
|
-
|
|
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(
|
|
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
|
}
|
|
@@ -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
|
-
|
|
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") {
|