gendesign/tradein-mvp/browser
bot-backend f6f494c17b
All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI / changes (pull_request) Successful in 10s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / browser-tests (pull_request) Successful in 53s
fix(tradein/browser): сайдкар безусловно резал картинки, а camoufox предупреждал, что за это ловят WAF
_launch_browser ставил block_images: True для всех провайдеров, и в
комментарии стояла только выгода — «рендер быстрее». Цена в комментарии
не стояла, хотя camoufox пишет о ней в каждый запуск:

  LeakWarning: Blocking image requests has been reported to cause
  detection issues on major WAFs.

За три часа прода — 44 таких предупреждения. Авито стоит за QRATOR,
доля заглушек в detail-сборе ~32%.

Теперь block_images разрешается через _resolve_block_images по образцу
соседней _resolve_min_interval: per-provider env -> global env ->
код-дефолт. Для avito дефолт — не блокировать. Для cian/yandex/generic
дефолт остаётся прежним: их долю блоков никто не мерил, и менять им
поведение заодно значило бы поменять три скрапера вслепую.

Это не доказанная причина блоков, а единственная названная и
документированная — своим же инструментом, в своём же конфиге. Проверять
её надо замером на выборке от 40 карточек: блоки идут пачками (#3184),
на малых выборках разница неразличима.

Итоговая карта пишется в лог на старте, симметрично page-intervals —
иначе значение видно только в коде.

Refs #3185
2026-08-28 20:49:39 +03:00
..
Dockerfile fix(browser): pageError.location needs valid defaults, not just optional chaining (#918 follow-up) (#927) 2026-05-31 20:15:39 +00:00
server.py fix(tradein/browser): сайдкар безусловно резал картинки, а camoufox предупреждал, что за это ловят WAF 2026-08-28 20:49:39 +03:00
test_server.py fix(tradein/browser): сайдкар безусловно резал картинки, а camoufox предупреждал, что за это ловят WAF 2026-08-28 20:49:39 +03:00
test_server_fetch_json.py fix(tradein/browser): повтор evaluate на той же странице — гонка случается ПОСЛЕ load (#2676) (#2721) 2026-08-06 10:18:14 +00:00
test_server_no_proxy_refusal.py chore(tradein): удалить мёртвые mobileproxy env-переменные и rotate-ip (#2616 шаги 2-3) (#2650) 2026-08-05 09:35:54 +00:00
test_server_pacing.py feat(scrapers): live pacing-регулятор (GET/PUT /scraper/pacing) + data-quality coverage endpoint 2026-06-20 12:47:03 +03:00
test_server_pow_challenge.py fix(tradein/browser): цикл ожидания челленджа падал ровно на успешном исходе 2026-08-21 19:57:51 +03:00
test_server_proxy_override.py chore(tradein): удалить мёртвые mobileproxy env-переменные и rotate-ip (#2616 шаги 2-3) (#2650) 2026-08-05 09:35:54 +00:00
test_server_resource_block.py feat(browser): block font/media + per-provider page pacing — снизить proxy fan-out (#1812) 2026-06-19 21:28:09 +03:00
test_server_smoke.py fix(tradein/browser): четыре теста сайдкара догоняют код — тест отстал, не код сломан (#2722) (#2724) 2026-08-06 11:13:17 +00:00