diff --git a/public/script.js b/public/script.js index 439f6d5..7f407a3 100644 --- a/public/script.js +++ b/public/script.js @@ -8,6 +8,7 @@ const fileNames = []; let fileType; let pendingFiles = 0; let formatSelected = false; +let latestSourcesRequestTarget = null; dropZone.addEventListener("dragover", (e) => { e.preventDefault(); @@ -100,6 +101,7 @@ const showSupportedSources = (targetExtension) => { supportedSourcesEl.textContent = `Supported source types: ${unique.join(", ")}`; }) .catch((err) => { + if (latestSourcesRequestTarget !== targetExtension) return; console.error(err); supportedSourcesEl.textContent = ""; }); diff --git a/src/converters/main.ts b/src/converters/main.ts index 470471e..9c3650a 100644 --- a/src/converters/main.ts +++ b/src/converters/main.ts @@ -299,10 +299,10 @@ for (const converterName in properties) { for (const target of toList) { const targetClean = normalizeOutputFiletype(target); - if (!possibleSources[target]) possibleSources[target] = {}; + if (!possibleSources[targetClean]) possibleSources[targetClean] = {}; - const existing = possibleSources[target][converterName]; - possibleSources[target][converterName] = existing + const existing = possibleSources[targetClean][converterName]; + possibleSources[targetClean][converterName] = existing ? Array.from(new Set([...existing, ...fromList])) : [...fromList]; }