Ревью PR #3566: обещание таймера, убранное из beat, осталось в тексте HTTP 400 эндпоинтов /admin/scrape/kn-catalog-objects и /kn-catalog-flats. Отказ предлагал передать i_understand_waf_risk=true, «если WAF cooldown прошёл», то есть подсказывал оператору обойти блокировку, которую ожидание не снимает (зонды 20.08-01.09: StormWall, «Доступ заблокирован [403]»). Теперь отказ называет StormWall и реальное условие: прокси и kn-прогон, принятый по числу строк (#3307). Константа переименована в _DOMRF_BLOCK_GUARD_MSG. Докстринги эндпоинтов и задач scrape_kn_catalog_flats/objects больше не говорят про WAF cooldown и про «вторник 04:00 UTC» у выключенной записи с расписанием в МСК. api-types.ts перегенерирован как в CI-гейте openapi-codegen-check, изменились только два докстринга. Тесты отказа проверяют значение detail: #3307 есть, cooldown нет. Поведение guard'а (400 без флага, задача не ставится) не менялось. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| admin_cadastre.py | ||
| admin_etl.py | ||
| admin_jobs.py | ||
| admin_leads.py | ||
| admin_scrape.py | ||
| admin_weight_profiles.py | ||
| analytics.py | ||
| chat.py | ||
| concepts.py | ||
| custom_pois.py | ||
| insights.py | ||
| landing.py | ||
| locations.py | ||
| market.py | ||
| me.py | ||
| own_projects.py | ||
| parcels.py | ||
| photos.py | ||
| pilot.py | ||
| ping.py | ||
| trade_in.py | ||
| users.py | ||