Sometime users may rename or remove local file "accidentally", it will make the saving process stuck like Figure 1.
According to Figure 2, the problem should be that uploading program cannot read file. It seems there is no exception handler.
|
Figure 1. Saving process stuck when uploading failed.
|
|
Figure 2. Error in console.
|
Solution
- Open "\Innovator\Client\Modules\core\xxhWorker.js".
- Move to line 31 and modify "onmessage" function.
var receivedData = e.data.data;
var fileId = e.data.fileId;
var offset = e.data.from;
var reader = new FileReaderSync();
var byteData,xxhash;
try
{
byteData = reader.readAsArrayBuffer(receivedData);
xxhash = xxHash(byteData);
}
catch (e)
{
xxhash = -1;
}
var result = {
xxhash: xxhash,
fileId: fileId,
offset: offset
};
//we remove links to objects in memory to prevent keeping references and to stable garbage collector working
reader = null;
byteData = null;
postMessage(result);
- Open "\Innovator\Client\Modules\core\vaultUploader.js".
- Move to line 368 and add below code.
if (dataObject.hash<0)
return Promise.reject('Unable to read '+fileWrapper.fileName+', please check if the file exists.');
- Move to line 491 and modify promise catch handler.
filesUploader.destroyWorker();
filesUploader.rollbackTransaction();
var err = aras.IomInnovator.newError(error);
return Promise.reject(err.dom);
Result
After update vault library, users will get error message (like below figure) to notify that the file doesn't exist, without infinite spinner.
Comments
Post a Comment