gendesign/frontend
bot-backend a64119ad8f
All checks were successful
CI Trade-In / changes (pull_request) Successful in 7s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI / changes (pull_request) Successful in 8s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / frontend-tests (pull_request) Successful in 1m36s
CI / openapi-codegen-check (pull_request) Successful in 2m31s
CI / backend-tests (pull_request) Successful in 17m34s
fix(ptica): пустой слой риск-зон перестаёт означать «рисков нет» (#2934)
Бэкенд ВСЕГДА присылает nspd_risk_zones — пустым списком, если ничего нет.
Условие показа в LandTab (`!== undefined`) поэтому истинно всегда, а ветка
zones.length === 0 рисовала ЗЕЛЁНУЮ плашку «Риски не обнаружены» с текстом
«Риск-зоны НСПД на участке не выявлены».

Пустой список неоднозначен: «слой опрошен, на участке чисто» и «слой не дал
ничего вообще» выглядят одинаково. Замер на проде 19.08: risks_count = 0 у ВСЕХ
669 дампов (для сравнения zouit_count > 0 у 581) — одиннадцать слоёв природного
риска ни разу не вернули ни одного объекта. То есть плашка показывалась всегда и
всегда без основания.

Провёл наружу risks_count из строки дампа (он уже вычитывался, в ответ не
попадал). Три состояния вместо двух:

    risks_count > 0     -> «Риски не обнаружены» — законно, слой отработал
    risks_count == 0    -> «Не проверено», нейтральным серым
    risks_count is None -> «Не проверено» (дампа нет; None, а не 0, потому что
                           ноль означал бы «спросили и не нашли»)

layers_fetched наружу НЕ отдаю: append в nspd_client.py:956 стоит ДО запроса,
поэтому как признак «слой опрошен» он лжёт. Записано в коде, чтобы следующий
читатель не подхватил его как готовый признак.

Заодно счётчик слоя в тумблере карты: при пустом слое «н/д» вместо «0». Ноль в
одном ряду с измеренными «Конкуренты 14» и «Красные линии 2» читался как
измеренный ноль.

Тесты двусторонние: на origin/main обе проверки падают с «Unable to find an
element with the text: Не проверено»; два контроля (слой отработал → зелёная
плашка законна; зоны найдены → карточки) зелёные с обеих сторон.

Большой дифф CpLayerControlPanel.tsx (267 строк при правке в две) — работа
pre-commit prettier: файл НЕ проходил prettier уже на origin/main (проверено
отдельно), хук нормализовал его целиком, когда я его тронул. Тот же класс, что
расхождение ruff в #2864: хук гоняется только по staged-файлам, поэтому файлы,
которых давно не касались, остаются нестандартизованными.

tsc --noEmit rc=0 · vitest 35 файлов / 275 тестов rc=0 (перепрогнано ПОСЛЕ хуков)
pytest tests/test_quarter_dump_lookup.py: 23 passed
pytest tests/api/v1 (контракт ответа): 354 passed, 1 skipped, rc=0

Refs #2934
2026-08-19 21:05:51 +05:00
..
public refactor(tradein/v2): перенос HUD v2 в tradein-mvp frontend 2026-06-28 13:10:23 +03:00
src fix(ptica): пустой слой риск-зон перестаёт означать «рисков нет» (#2934) 2026-08-19 21:05:51 +05:00
.dockerignore fix(scraper): диагностируем «кнопка не работает» — Redis lock + task_received log 2026-04-28 23:17:42 +03:00
.env.example feat(frontend): @sentry/nextjs init для GlitchTip (#204 frontend) (#208) 2026-05-16 15:09:38 +00:00
.eslintrc.json init 2026-04-25 13:45:19 +03:00
Dockerfile fix(frontend): bind Next standalone to 0.0.0.0 so healthcheck passes 2026-06-06 20:06:52 +05:00
next-env.d.ts add interactive analytics dashboard for Sverdlovsk market and PRINZIP 2026-04-27 16:55:30 +03:00
next.config.ts feat(frontend): @sentry/nextjs init для GlitchTip (#204 frontend) (#208) 2026-05-16 15:09:38 +00:00
package-lock.json fix(ci): pin prettier 3.9.0 for codegen check + pre-commit so api-types is byte-stable 2026-06-27 16:11:26 +05:00
package.json fix(ci): pin prettier 3.9.0 for codegen check + pre-commit so api-types is byte-stable 2026-06-27 16:11:26 +05:00
sentry.client.config.ts feat(frontend): @sentry/nextjs init для GlitchTip (#204 frontend) (#208) 2026-05-16 15:09:38 +00:00
sentry.edge.config.ts feat(frontend): @sentry/nextjs init для GlitchTip (#204 frontend) (#208) 2026-05-16 15:09:38 +00:00
sentry.server.config.ts feat(frontend): @sentry/nextjs init для GlitchTip (#204 frontend) (#208) 2026-05-16 15:09:38 +00:00
tsconfig.json init 2026-04-25 13:45:19 +03:00
vitest-env.d.ts chore(frontend): add vitest runner + WKT parser unit tests 2026-06-07 16:46:27 +05:00
vitest.config.ts chore(frontend): add vitest runner + WKT parser unit tests 2026-06-07 16:46:27 +05:00
vitest.setup.ts chore(frontend): add vitest runner + WKT parser unit tests 2026-06-07 16:46:27 +05:00