naeel
|
08c7af2a77
|
v3.2.4: libreoffice на ВМ, модалка — заголовок не скроллится
|
2026-06-18 09:09:18 +04:00 |
|
naeel
|
dfa1d9278f
|
v3.2.3: инфо и удаление — отдельные столбцы, иконки 16px
|
2026-06-18 09:06:40 +04:00 |
|
naeel
|
5ffc588935
|
v3.2.2: fix cid из FormData, иконки trash-2 + info
|
2026-06-18 09:04:12 +04:00 |
|
naeel
|
f1495d07e3
|
v3.2.1: /llm — отдельная страница, / — без LLM
|
2026-06-18 09:01:30 +04:00 |
|
naeel
|
e534d014ef
|
v3.2.0: LLM-извлечение + сравнение допников — кнопка Сравнить
|
2026-06-18 08:54:39 +04:00 |
|
naeel
|
17413e65c4
|
v3.1.6: text strategy только при отсутствии рамок, мин 3 колонки
|
2026-06-18 08:23:29 +04:00 |
|
naeel
|
bc5cbfe913
|
v3.1.5: мин 4 заполненных ячейки для таблицы
|
2026-06-18 08:22:50 +04:00 |
|
naeel
|
52fe7b92fb
|
v3.1.4: таблицы — мин 2 строки, 40% заполнения
|
2026-06-18 08:22:18 +04:00 |
|
naeel
|
0151a380ea
|
v3.1.3: pdfplumber — только рамки, фильтр 30% заполнения
|
2026-06-18 08:21:42 +04:00 |
|
naeel
|
2b851505c3
|
v3.1.2: фильтр пустых таблиц + text strategy для pdfplumber
|
2026-06-18 08:20:10 +04:00 |
|
naeel
|
c3d891f7b7
|
v3.1.1: таймер при загрузке (↑ 12.3с 45%)
|
2026-06-18 08:14:18 +04:00 |
|
naeel
|
557a238fb8
|
v3.1.0: разбить app.py на routes/main,parse,misc — 52 строки вместо 330
|
2026-06-18 08:10:23 +04:00 |
|
naeel
|
f1b4bf515f
|
v3.0.1: вернуть lucide — без него JS падал
|
2026-06-18 08:04:47 +04:00 |
|
naeel
|
822b47bace
|
v3.0.1: application = ContractsApp().app для gunicorn
|
2026-06-18 08:01:57 +04:00 |
|
naeel
|
12d67de7ed
|
v3.0.0 VM: убрать v2/Redis/чанки, чистый FormData, PostgreSQL
|
2026-06-18 07:57:51 +04:00 |
|
naeel
|
09d32951de
|
v2.0.8: retry до 3 раз, чанки 60KB, меньше запросов
|
2026-06-18 07:17:52 +04:00 |
|
naeel
|
627c0178d1
|
v2.0.7: задержка 3с обратно — 2.5с мало для HTTP/2
|
2026-06-18 07:16:51 +04:00 |
|
naeel
|
5b79a697b5
|
v2.0.6: счётчик чанков в статусе, задержка 2.5с
|
2026-06-18 07:03:10 +04:00 |
|
naeel
|
4424d07a32
|
v2.0.5: задержка 3с между чанками — HTTP/2 streams
|
2026-06-18 06:54:22 +04:00 |
|
naeel
|
6c296f4f22
|
v2.0.4: fetch() вместо XHR, чанки 55KB, задержка 500ms — fix ERR_HTTP2_PROTOCOL_ERROR
|
2026-06-18 06:46:35 +04:00 |
|
naeel
|
5e9e754af0
|
v2.0.3: таймауты 30s/60s + console.log отладка
|
2026-06-18 06:40:04 +04:00 |
|
naeel
|
cb69549803
|
v2.0.2: fix base64 (apply→чанки 32KB), socket_timeout=10 Redis
|
2026-06-18 06:26:56 +04:00 |
|
naeel
|
bc0a5345ac
|
v2.0.1: fix ImportError — sys.path для v2/
|
2026-06-18 06:20:03 +04:00 |
|
naeel
|
c28baa446b
|
v2: чанки 30KB + MD5, /v2/chunk + /v2/finalize, Redis, worker, v2.0
|
2026-06-17 23:14:34 +04:00 |
|
naeel
|
562c27879e
|
таймаут чанка 10s, v1.43.1
|
2026-06-17 23:00:58 +04:00 |
|
naeel
|
2525ad039f
|
чанки в памяти (не БД), 30KB + 60s timeout, v1.43
|
2026-06-17 23:00:04 +04:00 |
|
naeel
|
92f929315a
|
чанки 30KB + 100мс задержка, порог 64KB обойдён, v1.42
|
2026-06-17 22:51:54 +04:00 |
|
naeel
|
f9cb9de91d
|
Redis push в фоновом потоке (не блокирует ответ), v1.41
|
2026-06-17 22:43:56 +04:00 |
|
naeel
|
9bae90e9a0
|
сырой разбор JSON (regex, без get_json), v1.40
|
2026-06-17 22:34:36 +04:00 |
|
naeel
|
59f8ac3652
|
убраны ретраи, чистый XHR, v1.39
|
2026-06-17 22:33:12 +04:00 |
|
naeel
|
65c0c80687
|
Redis очередь: /upload → RPUSH → 200 сразу, воркер → DB + парсинг, v1.38
|
2026-06-17 22:28:10 +04:00 |
|
naeel
|
72a7ac4345
|
логи в памяти (не БД), /logs endpoint, v1.37
|
2026-06-17 22:18:07 +04:00 |
|
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 |
|