This commit is contained in:
@@ -55,3 +55,29 @@ var done = (d.counts.classified || 0)
|
|||||||
|
|
||||||
Kubernetes проверялся только командами чтения через ВМ:
|
Kubernetes проверялся только командами чтения через ВМ:
|
||||||
`kubectl get`, `kubectl describe`, `kubectl top`, `kubectl logs`.
|
`kubectl get`, `kubectl describe`, `kubectl top`, `kubectl logs`.
|
||||||
|
|
||||||
|
## Дополнительная проверка загрузки ZIP
|
||||||
|
|
||||||
|
При проверке загрузки разными способами обнаружен отдельный дефект связи
|
||||||
|
файлов с архивом. `expandZipClient()` создаёт для каждого распакованного файла
|
||||||
|
поле `zip_source`, а `uploadFile(file, onProgress, zipSource)` умеет передавать
|
||||||
|
его в `/api/upload_refs`. Однако вызов `uploadFile()` в цикле `onFilesSelected()`
|
||||||
|
передавал только два аргумента. Поэтому backend получал `zip_source=null`, и
|
||||||
|
связь с исходным ZIP терялась.
|
||||||
|
|
||||||
|
Проверены архивы:
|
||||||
|
|
||||||
|
- `testgen/out/zips/duplicates_inside.zip` — целый ZIP, два файла с одинаковым именем;
|
||||||
|
- `testgen/out/zips/mixed_with_error.zip` — целый ZIP, корректный и повреждённый DOCX.
|
||||||
|
|
||||||
|
Исправление применено в `site/static/files.js`: третьим аргументом передаётся
|
||||||
|
`entry.zip_source`. Для обычных файлов значение `null`, поэтому их поведение не
|
||||||
|
изменяется. Версия приложения повышена с `2.0.18` до `2.0.19`, cache-buster
|
||||||
|
обновлён в `site/templates/index.html`.
|
||||||
|
|
||||||
|
## Проверки исправления
|
||||||
|
|
||||||
|
- `node --check site/static/files.js` — успешно;
|
||||||
|
- frontend upload-тесты — успешно;
|
||||||
|
- layer 2 upload-тесты — успешно;
|
||||||
|
- архивы `duplicates_inside.zip` и `mixed_with_error.zip` прошли `unzip -t`.
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
"""Конфигурация приложения — все настройки в одном месте."""
|
"""Конфигурация приложения — все настройки в одном месте."""
|
||||||
import os
|
import os
|
||||||
|
|
||||||
VERSION = "2.0.18"
|
VERSION = "2.0.19"
|
||||||
|
|
||||||
LLM_URL = os.getenv("LLM_API_URL", "https://api.aillm.ru/v1/chat/completions")
|
LLM_URL = os.getenv("LLM_API_URL", "https://api.aillm.ru/v1/chat/completions")
|
||||||
LLM_KEY = os.getenv("LLM_API_KEY", "")
|
LLM_KEY = os.getenv("LLM_API_KEY", "")
|
||||||
|
|||||||
@@ -421,7 +421,7 @@ async function onFilesSelected(newFiles) {
|
|||||||
var resp = await uploadFile(f, function(st) {
|
var resp = await uploadFile(f, function(st) {
|
||||||
entry.status = st;
|
entry.status = st;
|
||||||
render(state);
|
render(state);
|
||||||
});
|
}, entry.zip_source);
|
||||||
if (resp && resp.contract_id) state.contractId = resp.contract_id;
|
if (resp && resp.contract_id) state.contractId = resp.contract_id;
|
||||||
entry.doc_id = resp.doc_id;
|
entry.doc_id = resp.doc_id;
|
||||||
entry.status = { kind: 'uploaded' };
|
entry.status = { kind: 'uploaded' };
|
||||||
|
|||||||
@@ -73,7 +73,7 @@
|
|||||||
<body>
|
<body>
|
||||||
<div class="topbar">
|
<div class="topbar">
|
||||||
<img src="/static/logo.svg" alt="Nubes">
|
<img src="/static/logo.svg" alt="Nubes">
|
||||||
<span class="title">Сверка договоров — LLM AI-driven Event Sourcing <span style="font-weight:400;color:var(--muted);font-size:12px;">v2.0.18</span></span>
|
<span class="title">Сверка договоров — LLM AI-driven Event Sourcing <span style="font-weight:400;color:var(--muted);font-size:12px;">v2.0.19</span></span>
|
||||||
<div id="pipelineStepper" style="display:flex;gap:8px;font-size:11px;align-items:center;color:var(--muted);">
|
<div id="pipelineStepper" style="display:flex;gap:8px;font-size:11px;align-items:center;color:var(--muted);">
|
||||||
<span id="stepUpload">○ Загрузка</span><span>→</span>
|
<span id="stepUpload">○ Загрузка</span><span>→</span>
|
||||||
<span id="stepClassify">○ Классификация</span><span>→</span>
|
<span id="stepClassify">○ Классификация</span><span>→</span>
|
||||||
@@ -224,11 +224,11 @@
|
|||||||
import { listZipFiles } from '/upload/zip/list_zip_files.js';
|
import { listZipFiles } from '/upload/zip/list_zip_files.js';
|
||||||
window.listZipFiles = listZipFiles;
|
window.listZipFiles = listZipFiles;
|
||||||
</script>
|
</script>
|
||||||
<script src="/static/state.js?v=2.0.18"></script>
|
<script src="/static/state.js?v=2.0.19"></script>
|
||||||
<script src="/static/app_utils.js?v=2.0.18"></script>
|
<script src="/static/app_utils.js?v=2.0.19"></script>
|
||||||
<script src="/static/files.js?v=2.0.18"></script>
|
<script src="/static/files.js?v=2.0.19"></script>
|
||||||
<script src="/static/groups.js?v=2.0.18"></script>
|
<script src="/static/groups.js?v=2.0.19"></script>
|
||||||
<script src="/static/compare.js?v=2.0.18"></script>
|
<script src="/static/compare.js?v=2.0.19"></script>
|
||||||
<script src="/static/app.js?v=2.0.18"></script>
|
<script src="/static/app.js?v=2.0.19"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Reference in New Issue
Block a user