diff --git a/CHANGELOG.md b/CHANGELOG.md
index c1ea7b6..bee0a80 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,8 @@
# Changelog
+## [3.0.3]
+- Improve error handling
+
## [3.0.2]
- Fix title
diff --git a/package.json b/package.json
index 5a4360a..2d26959 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "@ozelot379/convert-minecraft-java-texture-to-bedrock",
"productName": "ConvertJavaTextureToBedrock",
- "version": "3.0.2",
+ "version": "3.0.3",
"description": "Convert Minecraft Java texture packs to Bedrock texture packs",
"keywords": [
"Minecraft",
diff --git a/src/index.js b/src/index.js
index 4d6b036..ff377b2 100644
--- a/src/index.js
+++ b/src/index.js
@@ -50,6 +50,8 @@ class ConvertJavaTextureToBedrock {
* @returns {Promise<*>}
*/
async convert() {
+ this.log.log("Start conversion");
+
if (this.options.experimental) {
this.log.warn(`EXPERIMENTAL CONVERSIONS ENABLED!`)
}
@@ -68,7 +70,11 @@ class ConvertJavaTextureToBedrock {
await addAdditionalConverters(...await converter.convert());
}
- return await this.output.generate();
+ const output = await this.output.generate();
+
+ this.log.log("Conversion finished");
+
+ return output;
}
}
diff --git a/src/webapp/html/index.html b/src/webapp/html/index.html
index fb65d4b..f96504a 100644
--- a/src/webapp/html/index.html
+++ b/src/webapp/html/index.html
@@ -37,7 +37,7 @@
Works directly in your browser - no upload
+ target="_blank">Readme
diff --git a/src/webapp/js/index.js b/src/webapp/js/index.js
index f63dcdb..70fe4cc 100644
--- a/src/webapp/js/index.js
+++ b/src/webapp/js/index.js
@@ -65,21 +65,23 @@ document.addEventListener("DOMContentLoaded", () => {
});
document.querySelector(".swal-button--loading").disabled = true;
- _log("Start conversion");
-
- if (worker !== null) {
- worker.terminate();
- worker = null;
- }
- worker = new Worker();
- worker.addEventListener("message", afterConvert);
- worker.addEventListener("error", errorConvert);
- worker.postMessage({
- files,
- options: {
- experimental: experimentalSwitch.checked
+ try {
+ if (worker !== null) {
+ worker.terminate();
+ worker = null;
}
- });
+ worker = new Worker();
+ worker.addEventListener("message", afterConvert);
+ worker.addEventListener("error", errorConvert);
+ worker.postMessage({
+ files,
+ options: {
+ experimental: experimentalSwitch.checked
+ }
+ });
+ } catch (err) {
+ errorConvert(err);
+ }
}
/**
@@ -129,7 +131,7 @@ document.addEventListener("DOMContentLoaded", () => {
buttons: "Save"
});
- _log("Conversion finished");
+ _log();
if (await savePopup) {
if (output instanceof File) {
@@ -158,14 +160,16 @@ document.addEventListener("DOMContentLoaded", () => {
}
/**
- * @param {string} log
+ * @param {string|undefined} log
*/
- function _log(log) {
- const li = document.createElement("li");
+ function _log(log = undefined) {
+ if (log) {
+ const li = document.createElement("li");
- li.innerText = log;
+ li.innerText = log;
- logs.appendChild(li);
+ logs.appendChild(li);
+ }
logs.scrollTop = logs.scrollHeight; // Scroll to bottom
}