gendesign/tradein-mvp/backend/app
bot-backend 800bc631bf fix(cian): verify_session на curl_cffi impersonate — ban != cookies expired (Refs #768)
verify_session проверял куки через httpx → Cian банит по TLS-fingerprint →
ложный сигнал «cookies expired» оператору. Переведено на curl_cffi
AsyncSession(impersonate=chrome120) — тот же fingerprint что у боевого
cian-скрейпа. _classify_verify_response: 403/TLS→VERIFY_BAN_SENTINEL (truthy,
НЕ expired — алерт re-upload подавляется), 401/isAuthenticated=false→None
(expired, контракт сохранён), 200+auth→state. Return-тип не изменился
(dict|None). 11 тестов (6 unit classifier + 5 async). ruff clean, 26 pass.
2026-05-30 19:35:22 +03:00
..
api fix(tradein): SSRF host-allowlist на admin scrape + удалён dead ADMIN_TOKEN (Refs #756) (#778) 2026-05-30 16:27:19 +00:00
core fix(tradein): SSRF host-allowlist на admin scrape + удалён dead ADMIN_TOKEN (Refs #756) (#778) 2026-05-30 16:27:19 +00:00
observability feat(tradein): enrich GlitchTip SDK init — integrations + PII scrub (#396) (#643) 2026-05-29 09:23:17 +00:00
schemas docs(tradein): clarify n_analogs vs analogs[] top-10 cap (#698) (#737) 2026-05-30 15:00:48 +00:00
services fix(cian): verify_session на curl_cffi impersonate — ban != cookies expired (Refs #768) 2026-05-30 19:35:22 +03:00
tasks feat(tradein): daily asking→sold ratio refresh (#648 S4) (#663) 2026-05-29 13:49:36 +00:00
__init__.py feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
main.py feat(tradein): enrich GlitchTip SDK init — integrations + PII scrub (#396) (#643) 2026-05-29 09:23:17 +00:00