“Naeel”
c4997b06d3
test: stress_http переписан на реальный VM-путь (PUT на ВМ → /api/upload_refs)
2026-08-26 20:51:39 +03:00
“Naeel”
533aa99592
docs: History — чистка legacy-upload + сводка сессии 2026-08-26
2026-08-26 20:49:24 +03:00
“Naeel”
aa585220fc
refactor: удалён мёртвый legacy-код загрузки напрямую (/upload, /unzip-upload, _check_ext, _unzip, ALLOWED, константы фронта); загрузка только через ВМ (/api/upload_refs)
2026-08-26 20:47:41 +03:00
“Naeel”
08e8e3afec
test: stress_http --file (реальные файлы); History: 100KB прямой POST — 83% таймаутов (шлюз рвёт >64KB), 30KB реальный — 200/200 ok
2026-08-26 20:35:48 +03:00
“Naeel”
6fcbbddbdb
test: LOAD_THREADS 4 (стабильно, = MAX_WORKERS); полный прогон: not-load 102 passed, load 3 passed
2026-08-26 20:14:43 +03:00
“Naeel”
08f7e3f98e
test: дефолт LOAD_THREADS 16→8 (стабильный прогон) + History: database is locked при 16 писателях (предел конфигурации)
2026-08-26 17:12:26 +03:00
“Naeel”
b7d60e1d93
test: нагрузочные/стресс-тесты (маркер load): массовый pipeline, apply_ops, конкуренция, HTTP-стресс
2026-08-26 17:03:45 +03:00
“Naeel”
3b259cf160
test: README для tests/ + фикс теста test_boolean (BOOLEAN NOT NULL); 102 passed
2026-08-26 16:50:01 +03:00
“Naeel”
8f8fabf959
test: набор pytest-тестов под site/ (unit + интеграционные + безопасность)
2026-08-26 16:47:30 +03:00
“Naeel”
9a8ae0a5a3
test: удалены устаревшие тесты deploy/tests (ссылались на старую compare/-архитектуру)
2026-08-26 16:36:52 +03:00
“Naeel”
87524c54a4
docs: код-ревью (2026-08-26) + задания Sonnet по архитектуре (v2.0.16)
Deploy contracts-flask / validate (push) Canceled after 0s
2026-08-26 16:29:41 +03:00
“Naeel”
021c925e3c
fix: full_replace очищает spec_current (не дублирует строки) + clear_current; v2.0.16
Deploy contracts-flask / validate (push) Canceled after 0s
2026-08-26 16:25:23 +03:00
“Naeel”
e3f5581712
v2.0.15: фиксы по ревью Соннета (10 находок)
...
Deploy contracts-flask / validate (push) Canceled after 0s
- #1 process.py: target_id→target_hash (UPDATE/DELETE больше не UNRESOLVED)
- #2 Dockerfile: COPY upload
- #3 prompts.py: убран created_by из SELECT
- #4 prompts_bp.py: save_new_version/delete_prompt
- #5 llm.py/classify.py: LLM-конфиг из config.py
- #6/#7 compare.js: escHtml (XSS)
- #8-#10: комментарии + мёртвый gen_random_uuid
2026-08-26 15:59:21 +03:00
“Naeel”
ebdab731ff
v2.0.14: .doc→.docx в sink + зачистка мёртвого кода
...
Deploy contracts-flask / validate (push) Canceled after 0s
- contracts_upload_sink: конвертация .doc через внешний сервис (фронт грузит напрямую)
- удалены: convertDoc/addZipFile/addRegularFile (фронт), /convert-doc,/api/convert_refs,/api/unzip_refs, _pull_from_ref и хелперы pull (бэк)
2026-08-26 13:54:07 +03:00
“Naeel”
5b49e88f1e
v2.0.14: этап 4 — .doc→.docx в sink, удалены /api/unzip_refs и /api/convert_refs
Deploy contracts-flask / validate (push) Canceled after 0s
2026-08-26 11:40:03 +03:00
“Naeel”
d2894ad7c5
v2.0.13: этап 3 — выбор папок + рекурсивный клиентский ZIP
...
Deploy contracts-flask / validate (push) Canceled after 0s
- pages_bp: route /upload/<path> отдаёт ES-модули upload/frontend
- index.html: инпут папки (webkitdirectory) + мост listZipFiles
- files.js: expandZipClient (рекурсивный ZIP через drhider listZipFiles)
- app.js: обработчик выбора папки (фильтр .pdf/.doc/.docx/.zip)
2026-08-26 08:40:19 +03:00
“Naeel”
c2344f9738
bump 2.0.12 (этап 2: модуль upload через sink)
Deploy contracts-flask / validate (push) Canceled after 0s
2026-08-26 08:15:48 +03:00
“Naeel”
db58a433fb
этап 2: переиспользуемый модуль upload (sink) вместо рукописного транспорта
...
- копирую модуль upload/ из drhider (слои 1-2)
- blueprint: параметр sink (drhider-сессия по умолчанию, сверка — DB+парсинг)
- upload_bp: contracts_upload_sink = _store_and_parse
- routes: регистрирую create_upload_refs_blueprint(cfg, sink=...)
- app.py: корень репо в sys.path (для import upload)
- History: план переиспользования + ревью Соннета
2026-08-26 08:07:43 +03:00
“Naeel”
55bd7a027d
v2.0.11: вся загрузка через ВМ-буфер (ZIP + .doc)
...
Deploy contracts-flask / validate (push) Canceled after 0s
- /api/unzip_refs: pull ZIP с ВМ + распаковка
- /api/convert_refs: pull .doc с ВМ + конвертация в .docx
- convertDoc/addZipFile: PUT на ВМ вместо прямого multipart
2026-08-24 22:08:01 +03:00
“Naeel”
37ea5e2c31
v2.0.10: nginx /contracts-upload/ на alias + CORS как у drhider
Deploy contracts-flask / validate (push) Canceled after 0s
2026-08-24 21:51:48 +03:00
“Naeel”
78045f2c81
v2.0.10: загрузка через ВМ-буфер (паттерн drhider)
...
Deploy contracts-flask / validate (push) Canceled after 0s
- /api/upload_refs: pull файлов с ВМ (SSRF-guard, лимит 50МБ, ретраи, DELETE)
- uploadFile: PUT на WebDAV /contracts-upload/ → refs → pull
- nginx: location /contracts-upload/ (WebDAV + CORS для managed-фронта)
2026-08-24 21:45:46 +03:00
naeel
4653aa5e8e
Docs: диагностика HTTP 502 на 19МБ PDF — OOMKill пода (лимит 1Gi)
Deploy contracts-flask / validate (push) Canceled after 0s
2026-08-17 18:32:06 +04:00
“Naeel”
956aed0971
v2.0.9: правильные лого и фавикон из design/
2026-07-16 10:58:09 +04:00
“Naeel”
3b2e576284
v2.0.9: фавикон nubes.ru (U-арка)
2026-07-16 10:56:58 +04:00
“Naeel”
de05d746cc
v2.0.8: конвертация .doc → .docx через convert-service перед upload
2026-07-16 10:42:21 +04:00
“Naeel”
c677206d03
v2.0.7: .doc в accept и подсказке
2026-07-16 10:29:14 +04:00
“Naeel”
d1415d5d21
v2.0.6: convert-service интеграция
2026-07-16 10:20:44 +04:00
“Naeel”
5d8bcd61ea
v2.0.5: интеграция с convert-service (HTTP вместо subprocess libreoffice)
2026-07-16 10:18:17 +04:00
“Naeel”
6334ca2e3e
v2.0.5: заголовок страницы
2026-07-16 09:07:59 +04:00
“Naeel”
58bc80371d
v2.0.5: вернуть версию 2.0.5
2026-07-16 09:05:50 +04:00
“Naeel”
a15c3e8e94
v2.0.4: вернуть версию (честный счётчик загрузки)
2026-07-16 09:04:47 +04:00
“Naeel”
f4bae5a6b9
v2.0.5: честный счётчик ⏳ соединение... Nс вместо фейкового ↑N% при upload
2026-07-16 09:02:56 +04:00
“Naeel”
4f9bee4c1e
v2.0.4
2026-07-16 08:30:35 +04:00
“Naeel”
2d5606d6d7
fix: check_arithmetic(ops) — was passing contract_id (string) instead of ops list
2026-07-16 08:29:33 +04:00
“Naeel”
cc3a53a229
fix: spec_events.py — from compare.metrics → from services.metrics
2026-07-16 08:28:47 +04:00
“Naeel”
1bd62a51ef
v2.0.3 — bump version
2026-07-16 08:23:18 +04:00
“Naeel”
2fd5f2944f
fix: spec_events schema — add seq,action,target_hash,new_values,comment,status columns
2026-07-16 08:22:04 +04:00
“Naeel”
b5d97bdd98
docs: ⛔ НЕ МЕНЯТЬ комментарии в files.js — загрузка проверена в бою
2026-07-16 08:20:16 +04:00
“Naeel”
ae8f6819fc
fix: bust JS cache — version query string 1.0.179→2.0.2
2026-07-16 08:16:23 +04:00
“Naeel”
04cb3f5bfe
fix: process.py — use apply_ops() instead of phantom add_row/update_row/delete_row
2026-07-16 08:09:29 +04:00
“Naeel”
e4c010acd3
fix: all rows visible immediately, then upload one by one
2026-07-16 07:51:42 +04:00
“Naeel”
b8340a0637
v2.0.2: fix SQLite — UUID in all INSERTs, now()→datetime, ::jsonb cleanup
2026-07-16 07:29:51 +04:00
“Naeel”
9e22182f9a
v2.0.1: XHR→fetch, no .doc, progress restore, bump version
2026-07-16 07:20:28 +04:00
“Naeel”
abedffe4d0
fix: restore upload progress display — fake % via setInterval, fetch() for no RST
2026-07-16 07:16:31 +04:00
“Naeel”
11015fd55b
fix: remove .doc support — libreoffice unavailable on Штурвал
2026-07-16 07:01:44 +04:00
“Naeel”
ea92730bd8
fix: XHR → fetch() for upload — drhider v0.0.29 fix for ERR_CONNECTION_RESET
2026-07-16 07:00:52 +04:00
“Naeel”
d8d53661d9
fix: remove http2=True — h2 package not installed on Штурвал
2026-07-15 12:13:08 +04:00
“Naeel”
49dd873db3
fix: warmup fetch('/health') on page load — prevents first-upload RST
2026-07-15 11:57:03 +04:00
“Naeel”
32660d2590
fix: add app.run() — script was creating app then exiting
2026-07-15 11:46:23 +04:00
“Naeel”
f176ddad71
fix: spec_events.py — get_pool → get_conn, remove FOR UPDATE
2026-07-15 11:43:01 +04:00