mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 02:17:11 +02:00
Fix processing of Clara.io status messages
This commit is contained in:
parent
4dee0efdd3
commit
6f2386eabd
1 changed files with 33 additions and 15 deletions
|
@ -172,21 +172,31 @@
|
|||
|
||||
xmlHttpRequest = new XMLHttpRequest();
|
||||
var responseTextIndex = 0;
|
||||
var statusMessage = "";
|
||||
var zipFileURL = "";
|
||||
|
||||
xmlHttpRequest.onreadystatechange = function () {
|
||||
// Messages are appended to responseText; process the new one.
|
||||
// Messages are appended to responseText; process the new ones.
|
||||
var message = this.responseText.slice(responseTextIndex);
|
||||
var statusMessage = "";
|
||||
|
||||
if (isDownloading && message.slice(0, 5) === "data:") { // Ignore messages in flight after finished/cancelled.
|
||||
var data = JSON.parse(message.slice(5));
|
||||
if (isDownloading) { // Ignore messages in flight after finished/cancelled.
|
||||
var lines = message.split(/[\n\r]+/);
|
||||
|
||||
for (var i = 0, length = lines.length; i < length; i++) {
|
||||
if (lines[i].slice(0, 5) === "data:") {
|
||||
// Parse line.
|
||||
var data;
|
||||
try {
|
||||
data = JSON.parse(lines[i].slice(5));
|
||||
}
|
||||
catch (e) {
|
||||
data = {};
|
||||
}
|
||||
|
||||
// Extract status message.
|
||||
if (data.hasOwnProperty("message") && data.message !== null) {
|
||||
statusMessage = data.message;
|
||||
console.log("Clara.io FBX: " + statusMessage);
|
||||
EventBridge.emitWebEvent(CLARA_IO_STATUS + " " + statusMessage);
|
||||
}
|
||||
|
||||
// Extract zip file URL.
|
||||
|
@ -197,6 +207,13 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (statusMessage !== "") {
|
||||
// Update the UI with the most recent status message.
|
||||
EventBridge.emitWebEvent(CLARA_IO_STATUS + " " + statusMessage);
|
||||
}
|
||||
}
|
||||
|
||||
responseTextIndex = this.responseText.length;
|
||||
};
|
||||
|
@ -204,6 +221,7 @@
|
|||
// Note: onprogress doesn't have computable total length.
|
||||
|
||||
xmlHttpRequest.onload = function () {
|
||||
var statusMessage = "";
|
||||
|
||||
if (!isDownloading) {
|
||||
return;
|
||||
|
|
Loading…
Reference in a new issue