Москва в реестре городов лендинга и кабинета #3472

Merged
lekss361 merged 1 commit from feat/msk-public-city-registry into main 2026-09-12 11:04:18 +00:00
Owner

Второй из двух PR, открывающих Москву в публичный контур. Мержить после #3470: там бэкенд начинает выводить регион из city_hint, без него выбор Москвы в дропдауне даст пустые подсказки.

Что было

Реестр городов один на публичную форму и кабинет, и знал он только Свердловскую область. Московский адрес нельзя было выбрать ни там, ни там, хотя бэкенд Москву поддерживает: реестр регионов знает 77, проба покрытия знает московские центроиды, оценка отрабатывает.

Что стало

Москва подана не как ещё один «частично покрытый город области», а отдельной строкой. Сбор по ней есть, а замера полноты покрытия нет, и приписывать ей формулировки области было бы неправдой.

Для этого у OblastCity появилось поле region, а SECONDARY_CITIES строится из OBLAST_66_CITIES — иначе Москва попала бы в перечисление городов области. Бэкенду поле не отправляется: различение нужно только фронту.

В landing-facts.ts строки Москвы сознательно нет. Там лежат замеры покрытия по городам, а по Москве замера не делали, придумывать цифру нельзя. Паритет-тест копи поэтому сверяет замеры с OBLAST_66_CITIES, а не со всем реестром.

Тексты

Переписаны в четырёх местах: плашка покрытия на главной, карточка бесплатной пробы, ответ FAQ про регионы, сообщение «адрес вне покрытия». Везде одна формулировка: по области полное и частичное покрытие, по Москве считаем, но полноту не мерили.

Юридический адрес в подвале не трогали. Там «Свердловская область» — адрес компании, а не география сервиса.

Тесты

Паритет-тест дропдауна и порогов покрытия на бэкенде дополнен Москвой: город, предлагаемый к выбору, обязан быть отвечаемым пробой. На фронте добавлены три проверки: Москва есть в списке выбора, её нет среди городов области, текст про регионы называет оба.

Фронт 218 passed, tsc и eslint чистые. Бэкенд 34 passed в затронутом файле. Pre-commit прогнан вручную и зелёный.

Что этот PR не делает

Не трогает обогащение по региону 77 (его нет, оценка по Москве выходит без тиров), регион 50, расписания сбора.

🤖 Generated with Claude Code

https://claude.ai/code/session_01NQb6WeJtagZwZnUsSjDizs

Второй из двух PR, открывающих Москву в публичный контур. Мержить после #3470: там бэкенд начинает выводить регион из `city_hint`, без него выбор Москвы в дропдауне даст пустые подсказки. ## Что было Реестр городов один на публичную форму и кабинет, и знал он только Свердловскую область. Московский адрес нельзя было выбрать ни там, ни там, хотя бэкенд Москву поддерживает: реестр регионов знает 77, проба покрытия знает московские центроиды, оценка отрабатывает. ## Что стало Москва подана не как ещё один «частично покрытый город области», а отдельной строкой. Сбор по ней есть, а замера полноты покрытия нет, и приписывать ей формулировки области было бы неправдой. Для этого у `OblastCity` появилось поле `region`, а `SECONDARY_CITIES` строится из `OBLAST_66_CITIES` — иначе Москва попала бы в перечисление городов области. Бэкенду поле не отправляется: различение нужно только фронту. В `landing-facts.ts` строки Москвы сознательно нет. Там лежат замеры покрытия по городам, а по Москве замера не делали, придумывать цифру нельзя. Паритет-тест копи поэтому сверяет замеры с `OBLAST_66_CITIES`, а не со всем реестром. ## Тексты Переписаны в четырёх местах: плашка покрытия на главной, карточка бесплатной пробы, ответ FAQ про регионы, сообщение «адрес вне покрытия». Везде одна формулировка: по области полное и частичное покрытие, по Москве считаем, но полноту не мерили. Юридический адрес в подвале не трогали. Там «Свердловская область» — адрес компании, а не география сервиса. ## Тесты Паритет-тест дропдауна и порогов покрытия на бэкенде дополнен Москвой: город, предлагаемый к выбору, обязан быть отвечаемым пробой. На фронте добавлены три проверки: Москва есть в списке выбора, её нет среди городов области, текст про регионы называет оба. Фронт 218 passed, tsc и eslint чистые. Бэкенд 34 passed в затронутом файле. Pre-commit прогнан вручную и зелёный. ## Что этот PR не делает Не трогает обогащение по региону 77 (его нет, оценка по Москве выходит без тиров), регион 50, расписания сбора. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01NQb6WeJtagZwZnUsSjDizs
lekss361 added 1 commit 2026-09-12 10:40:53 +00:00
feat(mera-public): Москва в реестре городов лендинга и кабинета
All checks were successful
CI Trade-In / browser-tests (pull_request) Has been skipped
CI / changes (pull_request) Successful in 13s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI Trade-In / changes (pull_request) Successful in 10s
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Successful in 1m20s
CI Trade-In / backend-tests (pull_request) Successful in 6m2s
c6711d05c4
Реестр городов один на публичную форму и кабинет, и до сих пор он знал
только Свердловскую область. Московский адрес нельзя было выбрать ни там,
ни там, хотя бэкенд Москву поддерживает: реестр регионов знает 77, проба
покрытия знает московские центроиды, оценка отрабатывает.

Москва подана НЕ как ещё один «частично покрытый город области», а
отдельной строкой: сбор по ней есть, а замера полноты покрытия нет, и
приписывать ей формулировки области было бы неправдой. Для этого у
`OblastCity` появилось поле `region`, а `SECONDARY_CITIES` теперь строится
из `OBLAST_66_CITIES` — иначе Москва попала бы в перечисление городов
области. Бэкенду поле не отправляется: это различение нужно только фронту.

В `landing-facts.ts` строки Москвы сознательно нет — там лежат замеры
покрытия по городам, а по Москве замера не делали. Придумывать цифру
нельзя, поэтому паритет-тест копи сверяет замеры с `OBLAST_66_CITIES`.

Тексты про географию переписаны в четырёх местах: плашка покрытия на
главной, карточка бесплатной пробы, ответ FAQ про регионы и сообщение
«адрес вне покрытия». Везде одна и та же честная формулировка: по области
— полное и частичное покрытие, по Москве — считаем, но полноту не мерили.
Юридический адрес в подвале не трогали, там «Свердловская область» — это
адрес компании, а не география сервиса.

Паритет-тест дропдауна и порогов покрытия на бэкенде дополнен Москвой:
город, предлагаемый к выбору, обязан быть отвечаемым пробой.

Фронт: 218 passed, tsc и eslint чистые. Бэкенд: 34 passed в затронутом файле.
lekss361 merged commit c3840019c5 into main 2026-09-12 11:04:18 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#3472
No description provided.