fix(tradein/v2): wire РАДИУС (backend radius_m) + map +/− zoom + building image + deglue word+word #2060
No reviewers
Labels
No labels
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
Fable 5 ревью
feedback/max
generative
GG-форсайт
needs-discussion
needs-human
observability
pause-bots
performance
priority/p0
priority/p1
priority/p2
priority/p3
scope/backend
scope/db
scope/devops
scope/frontend
scope/qa
scrapers
security
site-finder
stage/1
stage/2
status/blocked
status/done
status/needs-analysis
status/needs-fix
status/qa
status/ready
status/review
status/wip
tech-debt
tradein
ux
week ревью 1
wontfix
вторичка
ИРД
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#2060
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/tradein-v2-audit-fixes-2"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Раунд 2 живого аудита (юзер нашёл мёртвые контролы). Backend + frontend.
РАДИУС (был захардкожен «500 м», нерабочий — BE-2 #2044)
radius_m: int (100–5000)вTradeInEstimateInput→ проброшен вestimate_quality(base + fallback поиск аналогов/сделок).Noneсохраняет текущее двух-ярусное поведение байт-в-байт (1000м primary / 2000м fallback) — глобальный estimator не меняется на дефолте (ge=100исключает falsy-0).radius_m=null→ legacy two-tier, НЕ молчаливое сужение до 500м — это поймал reviewer) + явные 300/500/1000/2000 как override; идётradius_mв submit; внешнее кольцо карты отражает значение. Меняешь радиус → «ОЦЕНИТЬ» пересчитывает.+/− на карте (были декоративные)
transform: scale()на слое карты (шаг .25, clamp .6–2.5); кнопки/брекеты не масштабируются.building.png / АДРЕС-карточка (фото 404)
<img>сNEXT_PUBLIC_BASE_PATH-префиксом (→ 200) + onError-фолбэк.deglue word+word
Verify
next buildзелёный (/v2 34.3 kB); pre-commit ruff на backend — Passed.code-reviewer✅ APPROVE — поймал и я исправил дефолт-радиус регрессию (отдавал бы 500м вместо двух-ярусного 1000/2000); backend None-default подтверждён байт-идентичным на всех 5 call-site.⚠️ Деплой пересобирает и backend-образ (estimator) — прослежу что оба образа обновились (rapid-merge trap).
Live-browser audit (round 2): РАДИУС/+- dead, building photo missing. - РАДИУС: backend BE-2 — optional radius_m (int 100–5000) on TradeInEstimateInput, threaded into estimate_quality comp search (base + fallback). None preserves the exact two-tier default (1000m primary / 2000m fallback) byte-identically. FE: РАДИУС dropdown with **Авто** default (sends no radius_m → legacy behaviour, NOT a silent 500m narrowing) + 300/500/1000/2000 overrides; included as radius_m on submit; outer map ring tracks the value. - Map +/− buttons: now a real zoom (transform: scale() on the map content layer, step .25, clamp .6–2.5); controls/bracket stay unscaled. - building.png: next/image didn't apply basePath → 400; switched to plain <img> with NEXT_PUBLIC_BASE_PATH-prefixed src (→ 200) + onError fallback. HERO АДРЕС card шоу. - deglueAddr: also splits word+word glue ('БольшаковаГеологическая'→'Большакова Геологическая'), still preserves house letters (14А, д.5К). next build green (/v2 34.3 kB); estimator None-default byte-identical (ge=100 rules out falsy-0); code-reviewer ✅ after the Авто-default fix (avoided a default-radius regression).