naeel
44ce0e09ab
чистый pdfplumber (camelot/tabula дают мусор), v1.36
2026-06-17 22:09:26 +04:00
naeel
a150d3f2a8
возврат к одному POST /upload + 3 повтора при ошибке, v1.35
2026-06-17 22:04:42 +04:00
naeel
b0a1a82ec3
fix: лишние }); } в uploadFileChunked10k, v1.34
2026-06-17 21:57:20 +04:00
naeel
637fdce1bc
чанки 10KB base64: /chunk_json + uploadFileChunked10k, v1.33
2026-06-17 21:52:50 +04:00
naeel
f0c3d93599
пул maxconn 5→10, v1.32
2026-06-17 21:40:18 +04:00
naeel
6187e4dee8
camelot-py 2.0 (pdfium, без Ghostscript/OpenCV), v1.31
2026-06-17 21:31:37 +04:00
naeel
e613716178
tabula-py вместо camelot и libreoffice, v1.30
2026-06-17 21:29:29 +04:00
naeel
aae6ea2a88
PDF → libreoffice → DOCX таблицы, fallback pdfplumber, v1.29
2026-06-17 21:15:11 +04:00
naeel
f7458da9ac
camelot-py[cv] в requirements, v1.28
2026-06-17 21:04:44 +04:00
naeel
7e3ea4bc4d
camelot для таблиц PDF (lattice+stream), fallback на pdfplumber, v1.27
2026-06-17 20:26:59 +04:00
naeel
db8247448b
v1.26 в шаблоне
2026-06-17 20:12:42 +04:00
naeel
b742389a5a
original_bytes DROP NOT NULL, v1.26
2026-06-17 20:08:25 +04:00
naeel
71d9512fd1
v1.25 в шаблоне
2026-06-17 20:01:11 +04:00
naeel
5ce38d0735
полный лог _upload_json: 12 шагов, v1.25
2026-06-17 19:51:33 +04:00
naeel
c3232c43e7
лог upload_entry в _upload_json, v1.24.1
2026-06-17 19:50:31 +04:00
naeel
4480b24245
base64 как TEXT (без декодирования), original_b64 колонка, v1.24
2026-06-17 19:09:51 +04:00
naeel
05c41e8c4a
upload: всегда одно соединение, убран if cid, v1.23
2026-06-17 18:58:43 +04:00
naeel
6585598fca
пул: keepalive, проверка живости, min=2 max=5, reconnect, v1.22
2026-06-17 18:50:33 +04:00
naeel
5c0fb98955
base64 JSON загрузка вместо FormData/multipart — обход лимита Ingress, v1.21
2026-06-17 18:29:34 +04:00
naeel
2615e781ce
пул соединений psycopg2 (min=1 max=3), db.put_conn вместо close, v1.20
2026-06-17 18:23:41 +04:00
naeel
dfb9a4218b
debug_log: таблица + логи на каждом шаге _chunk_upload, v1.19
2026-06-17 17:49:33 +04:00
naeel
ba5933b715
одно DB-соединение на сборку чанков (вместо 7 отдельных), v1.18
2026-06-17 17:37:27 +04:00
naeel
0dac6bf37b
чанки в БД (таблица chunks), убран _chunk_store в памяти, v1.17
2026-06-17 17:23:43 +04:00
naeel
87026a1fd8
чанковая загрузка 50KB, /chunk endpoint, v1.15
2026-06-17 16:34:27 +04:00
naeel
1714abf766
fix: Promise резолвился на прогрессе, contractId не ставился, v1.14
2026-06-17 12:47:59 +04:00
naeel
31fec1ca84
загрузка при выборе файла: прогресс, таймер, блокировка input, v1.13
2026-06-17 12:42:07 +04:00
naeel
f66d188551
elements_json JSONB: структура документа в БД, PDF page, v1.12
2026-06-17 08:22:33 +04:00
naeel
30460cc78c
ℹ первые строки таблиц в модалке, v1.11
2026-06-17 07:33:37 +04:00
naeel
f627572abb
ℹ модальное окно с деталями парсинга (параграфы, таблицы, ошибки, превью), v1.10
2026-06-17 07:19:38 +04:00
naeel
4474190cae
мс вместо сек, идемпотентность (кнопка блокируется после успеха), v1.9
2026-06-17 07:14:17 +04:00
naeel
e0c58fcbd0
fix: ZIP-счётчик только PDF/Word, expanded тоже пропускать при повторе, v1.8
2026-06-16 15:18:36 +04:00
naeel
c710a2df7a
fix: прогресс для файлов из ZIP (findRowByName), v1.7
2026-06-16 15:15:50 +04:00
naeel
64b2295d8c
загрузка по одному файлу с XHR-прогрессом, ZIP-размеры, v1.6
2026-06-16 15:08:09 +04:00
naeel
435f617a25
ZIP: только PDF/Word, остальные пропускать, v1.5
2026-06-16 14:59:19 +04:00
naeel
d5858d7836
ZIP: полные пути файлов (подпапки), v1.4
2026-06-16 14:57:19 +04:00
naeel
21f8c0b072
ZIP: распаковка и парсинг каждого файла внутри, v1.3
2026-06-16 14:56:12 +04:00
naeel
1f7c392934
v1.2
2026-06-16 14:50:50 +04:00
naeel
3cffca73b3
убрал LLM: только парсинг с интерактивным прогрессом в таблице
2026-06-16 14:49:52 +04:00
naeel
84ce99b189
v1.1
2026-06-16 14:37:08 +04:00
naeel
fa4c7fe378
SSE-обработка: интерактивный прогресс с таймерами, итоги по времени/байтам
2026-06-16 14:34:00 +04:00
naeel
daf58afa34
revert: восстановлен дизайн Nubes после Gemini
...
Возвращены: логотип, favicon, v1.0, CSS-переменные, карточки,
топбар, таблицы, Lucide-иконки, двухшаговый процесс.
2026-06-15 08:54:49 +04:00
naeel
07344482cd
fix(ui): обычный form submit без JS submit()
...
Форма теперь в DOM, кнопка type=submit.
JS только переносит файлы в скрытый input перед отправкой.
Браузер сам делает POST и следует редиректу.
2026-06-15 07:51:14 +04:00
naeel
87114d701c
feat(ui): версия v1.0 и таймер обработки
2026-06-15 07:42:58 +04:00
naeel
fdd7d89ce5
fix: двухшаговый процесс — загрузка (быстро) → обработка (LLM)
...
Шаг 1: POST / → сохранить файлы, парсинг → редирект на /?id=X
Шаг 2: POST /process/X → LLM extract + diff → редирект на /?id=X
Нет таймаута — загрузка мгновенная, LLM по отдельной кнопке.
2026-06-15 07:41:13 +04:00
naeel
105459ef1a
feat(ui): ZIP-превью — распаковка в браузере, показ содержимого
...
- JSZip: при выборе ZIP показывает список файлов внутри
- 📦 ZIP-файл → ниже с отступом файлы из архива
- Дубликаты проверяются по всем именам (включая ZIP-содержимое)
- Красная корзина для удаления
2026-06-15 07:34:13 +04:00
naeel
9899ede8c6
fix(app): полная перезапись — все шаги пайплайна + ZIP-обработка
...
- ZIP: elements объединяются из всех файлов
- LLM: extractor.extract(text)
- diff: differ.diff(prev, rows)
- spec_rows + spec_history
- Без дубликатов, без replace_string_in_file
2026-06-15 07:29:47 +04:00
naeel
7095d1201f
fix: methods=[GET,POST], красная корзина, детект дубликатов
...
- / принимает GET и POST (было только GET → 405 Method Not Allowed)
- Кнопка удаления: красная иконка trash-2
- Дубликаты: предупреждение + пометка в очереди
2026-06-15 07:15:29 +04:00
naeel
17c4841acf
fix(ui): очередь файлов — JS слой, обработка только по кнопке
...
- Файлы добавляются в очередь при выборе (чистый JS, без сервера)
- Кнопка «Обработать» активна только когда есть файлы
- Скрытая форма отправляется ТОЛЬКО по нажатию кнопки
- Никакой авто-отправки, никакого LLM до нажатия
2026-06-15 07:09:32 +04:00
naeel
4e714f5680
fix: форма без AJAX — обычный POST, сервер всё делает
...
Убран JS fetch. Форма отправляется напрямую на сервер.
Сервер обрабатывает файлы и возвращает страницу с результатами.
Нет Failed to fetch.
2026-06-15 07:00:44 +04:00
naeel
46b6bee913
fix: лого SVG, убран Добавить (onchange), create_contract возвращает id, JS без лишнего GET
2026-06-15 06:52:54 +04:00