v1.0.178: fix двойной проверки дубликатов в addZipFile + console.error для диагностики unzip

This commit is contained in:
2026-06-25 10:06:51 +04:00
parent 613a154c2b
commit 9b129c3707
+2 -8
View File
@@ -329,18 +329,11 @@ async function addZipFile(file) {
state.files.splice(zipIdx, 1); state.files.splice(zipIdx, 1);
render(state); render(state);
// Добавить файлы из архива, пропуская дубликаты по имени // Добавить файлы из архива (дубликаты перезаписываются)
for (var zi = 0; zi < zipResp.files.length; zi++) { for (var zi = 0; zi < zipResp.files.length; zi++) {
var zf = zipResp.files[zi]; var zf = zipResp.files[zi];
if (zf.error) continue; // файл с ошибкой — пропускаем if (zf.error) continue; // файл с ошибкой — пропускаем
// Проверить дубликат по имени (защита от повторной загрузки того же архива)
var dup = -1;
for (var dj = 0; dj < state.files.length; dj++) {
if (state.files[dj].name === zf.filename) { dup = dj; break; }
}
if (dup >= 0) continue; // уже есть в очереди — не добавляем
var zEntry = { var zEntry = {
name: zf.filename, size: zf.size, name: zf.filename, size: zf.size,
doc_id: zf.doc_id, uploaded: true, doc_id: zf.doc_id, uploaded: true,
@@ -371,6 +364,7 @@ async function addZipFile(file) {
} }
} catch(ze) { } catch(ze) {
// Ошибка распаковки — показать в строке ZIP // Ошибка распаковки — показать в строке ZIP
console.error('addZipFile error:', ze, 'UNZIP_URL=', UNZIP_URL);
state.files[zipIdx].status = { kind: 'error', text: 'ZIP: ' + ze.message }; state.files[zipIdx].status = { kind: 'error', text: 'ZIP: ' + ze.message };
render(state); render(state);
} }