feat(tradein): yandex SERP curl_cffi+cookies transport + rooms×price combos (T4+T5)
fix(tradein): cian SERP warm-up GET для seed cookies (_CIAN_GK/_yasc) (T2)
[P1][tradein][backend][scrapers] CIAN SERP-парсер мёртв: descriptionMinhash стал list[int] → pydantic отбраковывает каждый оффер → 0 lots
PR #840 (fix/836-cian-minhash) → review. Primary: cian.py _offer_to_lot нормализует descriptionMinhash list[int]→csv-string (без sorted, SHA1-fallback цел) — `grep…
[tradein][frontend][a11y] Контраст muted/teal текста <4.5:1 в карточках результата (~20 нод, WCAG AA)
UPDATE 2026-05-30 — полный 1:1 baseline (после gas-карты #837, full-page axe прошёл):
color-contrast вырос до ~52 нод (был 20 на 7-карточной…
[tradein][frontend][a11y] PhotoUpload: input[type=file] без label (CRITICAL, WCAG)
[tradein][frontend][a11y] Контраст muted/teal текста <4.5:1 в карточках результата (~20 нод, WCAG AA)
[tradein][frontend][a11y] recharts svg без accessible-text + нет <h1> + пустой <th> (WCAG)
[tradein][backend] Sentry-алерт на N подряд scraper-фейлов (mark_failed/mark_banned)
PR #833 (feat/827-scraper-failure-alert) → review. CONSECUTIVE_FAILURE_ALERT_THRESHOLD=3, _alert_if_consecutive_failures в конце mark_failed/mark_banned (после commit):…
[tradein][backend] N+1 INSERT в _save_yandex_history_items → executemany
PR #832 (feat/826-yandex-executemany) → review. Цикл for row in rows: db.execute(sql, row) → if rows: db.execute(sql, rows) (executemany). SQL/ON CONFLICT/return/except не…
bot-backend
created branch feat/827-scraper-failure-alert in lekss361/gendesign
2026-05-30 20:00:22 +00:00
bot-backend
pushed to feat/827-scraper-failure-alert at lekss361/gendesign
2026-05-30 20:00:22 +00:00
bot-backend
created branch feat/826-yandex-executemany in lekss361/gendesign
2026-05-30 19:59:05 +00:00