Деплои

runningtransmission/be-transmissiondev@docs(business): решения 02.09 по целевой архитектуре — нотификации-минимум, резолв онлайн (вариант А), мобилка → магазин напрямую, 2 URL для 1С, expand-contract Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 7568abc77966d49672b79579e109d79d29d042cc4sлоги →
runningtransmission/be-transmissiondev@docs(business): целевые решения 02.09 — SSO до мобилки, m2m в SSO, нотификации худеют до минимума Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: afc7aed62834f9cf9bc64e43489c56b0127bcdbe5sлоги →
runningtransmission/be-transmissiondev@docs(business): журнал 02.09 — решение о выносе SSO (репа SSO-transdetail, цель 3 провайдера) + находка двух ingestion-контрактов 1С (нотификации vs магазин, разные БД/пароли) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: daf06546a89acf45f4dd1d3caae3823ba12ab1f529sлоги →
runningwanmax/wanmax-fedev@fix(projects): [R-24] ложный «дубликат» при переименовании филиала Проверка уникальности в модалке редактирования сравнивала новое имя со списком ВСЕХ филиалов, включая сам редактируемый: «Сохранить» без изменений или смена только регистра/пробелов всегда падали с «Филиал с таким названием уже существует» (жалоба директора 01.09). Гипотеза подтверждена петлёй на стенде: API-цепочка create→update→get возвращает кириллицу байт-в-байт, ломался только фронтовый чек. Теперь своё текущее имя исключено из проверки; совпадение с ДРУГИМ филиалом (без учёта регистра и краевых пробелов) по-прежнему блокируется. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 9a1814bfc5bfbc1e1828abf474c79c260624437d196sлоги →
runningtransmission/be-transmissiondev@docs(business): аудит ТЗ+кода по регистрации/SSO — 5 проверенных фактов, 3 вопроса Виктору Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 316efc65ebbac908a90d52c23ddde50f945347f04sлоги →
runningtransmission/be-transmissiondev@docs(business): дополнение 24.08 — Макс за трек 3, миграция не нужна (тестовые юзеры) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 8775dd5520a71499e25f3fe33678ee5d71a49dc35sлоги →
runningtransmission/be-transmissiondev@docs(business): журнал — приёмка панели Виктором, вопрос о проде и SSO мобилки (24.08) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 9841180839e0cbf0026f01a9f904bc9a243f2b9529sлоги →
runningtransmission/fe-transmission-admindev@feat(login): страница входа — серый ADMIN PANEL, англ. плейсхолдеры, Sign in По правкам Ивана 22.08: подзаголовок серым вместо синего; «Вход в панель» убран; лейблы Логин/Пароль → плейсхолдеры Login/Password светло-серым; кнопка — Sign in (чёрная, как кнопки внутри панели). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: c0164592e96ff1b256457c1bc1242d8f94f2788863sлоги →
runningtransmission/fe-transmission-admindev@docs: ACCEPTANCE-UI — осознанные отличия от фигмы (для показа Виктору) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 6dd20aec65dcf92e40efd2a3bea7389d3df45cfb22sлоги →
runningtransmission/fe-transmission-admindev@feat(users)+docs: создание пользователя — шапка по фигме; SectionIcon выпилен; журнал Заголовок «Новый пользователь» со стрелкой-назад (последний экран со старой шапкой); мёртвый SectionIcon удалён. STATUS: веха «фигма-редизайн завершён» — все 4 раздела, ~30 попапов на едином Modal, 657 тестов 100×4. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 53d80f18f7b7fa2bd6081ba680b6de80506bf2d230sлоги →
runningtransmission/fe-transmission-admindev@feat(ct): карточка контакта по фигме — шапка, «Сводка» плитками, сисинфо полосой Фигма «Контактное лицо»: заголовок = имя со стрелкой-назад и бейджами (тип/источник/статус) вместо «Редактирование …» и кнопки под шапкой; «Статистика» → «Сводка» мини-плитками с иконками (значения — дыры orders); карточка «Системная информация» снята — GUID с копированием в нижней полосе; кнопки быстрых действий без эмодзи. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 6d4d054eaa57b53c77fd452a7f6438dcbb4488f821sлоги →
runningtransmission/fe-transmission-admindev@feat(ct): контакты по фигме — список, KPI 3+3, попапы на Modal (9 диалогов) Фигма «Контактные лица»: заголовок без иконки и подзаголовка; KPI двумя рядами по 3 на общем KpiCard с «% от всех» (разбивки по типам у BE нет — осознанное отличие, тип есть в фильтре); в таблице тип — серой подписью под именем, «По умолчанию» — зелёной галкой-иконкой, пилюля активности с точкой; глаз-SVG, удаление — пунктом кебаба. Все попапы карточки (смена типа, перепривязка, default, блок/разблок, удаление, покинуть), строки и bulk — на фигма-Modal с тестами крестиков. 657 тестов, 100×4. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: c3365146628e77338c4efe107a03e973504c2d5923sлоги →
runningtransmission/fe-transmission-admindev@feat(cp): попапы контрагентов на фигма-Modal — 7 диалогов CpBlockPopup/CpDeletePopup (общие для списка, кебаба и быстрых действий), bulk, отвязка пользователя, очистка/удаление корзины, несохранённые правки карточки. Тональные иконки, крестики с тестами, опасное — красным текстом, разблокировка — чёрной кнопкой. Read-only попапы колонок (§10.1–10.3) оставлены как есть — фигма их не рисует, это наша функциональность по ТЗ. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: a01371108aec05bdfeace96fa75d52119c32adba22sлоги →
runningtransmission/fe-transmission-admindev@feat(cp): карточка контрагента по фигме — шапка, поля, сисинфо полосой Фигма «Контрагент»: заголовок = название со стрелкой-назад и бейджами (тип/источник/статус), причина блокировки — строкой под ним; тип контрагента — полширины, телефон переехал вниз к email; статус-селект из формы снят (блокировка — быстрые действия и кебаб списка); карточка «Системная информация» убрана — GUID с копированием и даты заказов (дыры) в нижней полосе; кнопки быстрых действий без эмодзи; в привязках карандаш/красная корзина line-иконками. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 4b9f8149c289615dc5a80347c47785d57af9bab824sлоги →
runningtransmission/fe-transmission-admindev@feat(cp): список контрагентов по фигме — KPI 4+3 с долями, пилюля-активность, кебаб Фигма «Контрагенты»: общий компонент KpiCard (иконка слева, доля в %, дельта) — на нём KPI пользователей и контрагентов (4 + 3 широкие); KPI «Без активных пользователей» снята (фигма: чекбокс в фильтрах — он там уже был); заголовок без иконки и подзаголовка; колонка «Активность» — только пилюля «● статус» с причиной (статус-дропдаун снят, блок/разблок — в кебабе); действия строки — глаз-SVG + кебаб, «Удалить» ушёл пунктом в кебаб (фигма). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 5d9dce04cd1570d316b2b415ae45dba61e9b8e6724sлоги →
runningtransmission/fe-transmission-admindev@feat(users): все попапы раздела на фигма-Modal — 11 диалогов в 7 компонентах Блок/разблок/удаление/сессии (строка и карточка), несохранённые правки, сброс пароля, one-shot пароль (создание и сброс — крестик заблокирован до «я сохранил»), отвязка и подбор контрагента, завершение сессий, bulk. Тональные иконки по макетам (замок красный/зелёный, warning на покидание), опасные действия — красным текстом, позитивные — чёрной кнопкой; тесты крестиков на каждый диалог. 650 тестов, 100×4. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: ddbf167a15a0e186f0892327c7bc6ef868b5b57426sлоги →
runningtransmission/fe-transmission-admindev@feat(users): карточка по фигме — шапка, основные данные 2×2, сисинфо полосой Фигма «Пользователь»: заголовок = ФИО со стрелкой-назад, бейджи источника/ статуса + «В сети» при онлайне (вместо «Редактирование пользователя …» и кнопки под шапкой); «Основные данные» сеткой ФИО|Телефон, Email|Активность с подсказкой под заголовком; правая колонка — только «Каналы связи» и «Быстрые действия» (карточки «Статистика» и «Системная информация» сняты); метаданные — нижней полосой UserMetaBar (ID · GUID · даты · синк 1С · подтверждения · приложения). «На сети» → «В сети» (фигма). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: ae1a746cff9e1ff0116328d84a0924e10d5a9e9621sлоги →
runningtransmission/fe-transmission-admindev@feat(users): список по фигме — KPI 4+3 с иконками, заголовок, колонки, иконки строк Фигма «Пользователи»: KPI двумя рядами (4 + 3 широкие) с цветными иконками слева; заголовок без иконки-квадрата и подзаголовка; в таблице «Источник» перед «Онлайн», колонка «Активность» с пилюлей «● Ожидает» (короткий лейбл); действия строки — карандаш и красная корзина (line-иконки). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: ce93c7351bfc565d020312ea2f91f2f5c33f862e23sлоги →
runningwanmax/wanmax-bedev@fix(explorer): resolutionChoice не отдавался в /explorer/config — редактор считал все модели «фиксированными» Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: e2e5868851a8fd11f25a7f99189b8ab783a7a2c080sлоги →
runningwanmax/wanmax-bedev@feat(explorer): цена и параметры шагов не зависят от разрешения прогона (R-19) Разрешение прогона = разрешение ЭТАЛОНА (история/отображение); шаги цепочек исполняются по своему разрешению из конфигурации (дефолт 2К). Оценка цепочки и прогона — одно число. Снапшот шага несёт resolution (у моделей с выбором) — для колонки «Разрешение» в таблице прогона. Сьют 101 зелёный. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 6ac3379dfa86401363e2990dac795993bb4d4c7271sлоги →
runningwanmax/wanmax-fedev@feat(explorer): разрешение — на шаге цепочки; эталонное разрешение отдельно (R-19) - «Целевое разрешение» формы касается ТОЛЬКО эталона; цена прогона/цепочек — одна цифра, от него не зависит - в редакторе у моделей, различающих 2К/4К, — выбор «Разрешение шага: 2К|4К» с ценами (дефолт 2К); у остальных подпись «выход фиксированный» - таблица прогона: новая колонка «Разрешение» (разрешение результата цепочки — по последнему шагу со своим разрешением); из истории колонка убрана - кнопка удаления шага — компактный крестик в правом верхнем углу карточки Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 487d65cda8f80e17b67f5fa6f0823bfee8d4f471123sлоги →
runningwanmax/wanmax-fedev@fix(explorer): вёрстка редактора цепочки + спиннеры и ошибки в табе «Прогон» - редактор: шаги в компактных карточках (классы editorStepCard/QualityRow наконец получили стили), лёгкие отступы, подписи качества - эталон: оверлей со спиннером поверх превью на время обработки (как в модалке улучшения), ошибка — Alert с текстом сервера и кнопкой «Повторить» - прогон: строка «готово X из Y цепочек» со спиннером при выполнении, уведомление по завершении (успех/частично) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: f55bd414aca13bd25cd591271ac0cca8be9ed47b104sлоги →
runningwanmax/wanmax-fedev@feat(explorer): редактор шагов v2 + табы страницы (R-19) Редактор цепочки: у каждого шага после первого — выбор типа (генеративная / апскейлер, промпт получает каждый генеративный шаг); у моделей, различающих 2К/4К, качество шага фиксируется (Как прогон | 2К | 4К) и влияет на цену. Страница разбита на табы: Прогон / Конфигуратор цепочек / История — клик по строке истории открывает прогон в табе «Прогон». Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 3ed67ca6a5016e6eda8e6d0bf6d86c90938a1f7b3sлоги →
runningwanmax/wanmax-fedev@feat(explorer): редактор шагов v2 + табы страницы (R-19) Редактор цепочки: у каждого шага после первого — выбор типа (генеративная / апскейлер, промпт получает каждый генеративный шаг); у моделей, различающих 2К/4К, качество шага фиксируется (Как прогон | 2К | 4К) и влияет на цену. Страница разбита на табы: Прогон / Конфигуратор цепочек / История — клик по строке истории открывает прогон в табе «Прогон». Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 3ed67ca6a5016e6eda8e6d0bf6d86c90938a1f7b4sлоги →
runningwanmax/wanmax-fedev@feat(explorer): редактор шагов v2 + табы страницы (R-19) Редактор цепочки: у каждого шага после первого — выбор типа (генеративная / апскейлер, промпт получает каждый генеративный шаг); у моделей, различающих 2К/4К, качество шага фиксируется (Как прогон | 2К | 4К) и влияет на цену. Страница разбита на табы: Прогон / Конфигуратор цепочек / История — клик по строке истории открывает прогон в табе «Прогон». Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 3ed67ca6a5016e6eda8e6d0bf6d86c90938a1f7b6sлоги →
runningwanmax/wanmax-fedev@feat(explorer): редактор шагов v2 + табы страницы (R-19) Редактор цепочки: у каждого шага после первого — выбор типа (генеративная / апскейлер, промпт получает каждый генеративный шаг); у моделей, различающих 2К/4К, качество шага фиксируется (Как прогон | 2К | 4К) и влияет на цену. Страница разбита на табы: Прогон / Конфигуратор цепочек / История — клик по строке истории открывает прогон в табе «Прогон». Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 3ed67ca6a5016e6eda8e6d0bf6d86c90938a1f7b112sлоги →
runningwanmax/wanmax-bedev@feat(explorer): шаги цепочек как объекты {model, resolution} — качество на шаг (R-19) - шаг конфигурации: {model, resolution?}; фиксированное качество шага побеждает разрешение прогона в параметрах и цене; легаси-записи со строками-слагами нормализуются при чтении - после первого шага допустимы и генеративные модели (промпт получает каждая), и апскейлеры; качество можно фиксировать только у моделей с resolutionChoice (8 шт. в реестре) - 100 тестов зелёные (3 новых: вторая генеративная, качество шага, запрет качества у моделей без выбора) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: b31f70acf1aa81c2d5ce79a0bd97780f1f3dc7c085sлоги →
runningwanmax/wanmax-bedev@feat(explorer): цепочки из Mongo с CRUD и сидом, реестр моделей, исполнение по снапшоту (R-19) - explorer-models.registry.ts — кураторский реестр 16 моделей (пины/цены сверены 18.08), эталон отдельно; explorer-chains.config.ts удалён - конфигурации цепочек в Mongo (explorer_chain_configs): CRUD + валидации (1..5 шагов, генеративный первый, только слаги реестра), сид 11 цепочек ресерча при пустой базе (R-19.4) - прогон: исполняются включённые цепочки, оценка/лимит по ним (R-19.3) - шаги прогона хранят полный снапшот исполнения — ретрай упавшей цепочки работает даже после правки/удаления её конфигурации (R-19.6) - GET /explorer/config отдаёт реестр моделей + набор из БД; POST/PUT/DELETE /explorer/chains (только админ) Сьют 97 зелёный (44 explorer-теста, R-19 покрыт). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 33cbcb586ac745771bb82916cd50a508d369f993106sлоги →
runningwanmax/wanmax-fedev@feat(explorer): конфигуратор цепочек в UI (R-19) Секция во вкладке: набор цепочек из БД (сид — 11 цепочек ресерча), switch «В прогоне» (прогон исполняет включённые, оценка по ним), редактор: название + шаг 1 из генеративных моделей справочника + до 4 апскейлеров, цена на лету. Руководителю — только чтение. Справочник моделей — кураторский (BE-реестр). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 541520752f49a824d4e2434659527e4cef02725d148sлоги →
runningwanmax/wanmax-fedev@fix(explorer): петля запросов после завершения прогона Инвалидация списка ["/explorer/runs"] префиксно накрывала и ключ прогона ["/explorer/runs", id] — каждый ответ рефетчил прогон, тот снова инвалидировал список: непрерывный поток пар запросов. Теперь список обновляется только на переходе running → завершён и строго exact. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: eb5f136f53e4de430d128b02d95450258d8cc5bf181sлоги →
runningwanmax/wanmax-bedev@feat(explorer): перезапуск упавшей цепочки отдельно (R-13.6) POST /explorer/runs/:id/chains/:chainId/retry (только админ): переисполняются шаги одной цепочки, траты неудачной попытки фиксируются в wastedUsd и честно входят в факт прогона; итог прогона пересчитывается finalizeRun по состоянию всех цепочек. 5 новых тестов [R-13]/[R-15], сьют 96 зелёный. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: b53cc73ecd273d12c9a49ec12cfcf665b3259d444sлоги →
runningwanmax/wanmax-bedev@feat(explorer): перезапуск упавшей цепочки отдельно (R-13.6) POST /explorer/runs/:id/chains/:chainId/retry (только админ): переисполняются шаги одной цепочки, траты неудачной попытки фиксируются в wastedUsd и честно входят в факт прогона; итог прогона пересчитывается finalizeRun по состоянию всех цепочек. 5 новых тестов [R-13]/[R-15], сьют 96 зелёный. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: b53cc73ecd273d12c9a49ec12cfcf665b3259d4472sлоги →
runningwanmax/wanmax-fedev@feat(explorer): карусель шагов цепочки + кнопка перезапуска упавшей (R-14.4, R-13.6) «Смотреть» — карусель в большом масштабе: исходник → каждый шаг → последний кадр со слайдером «результат ⟷ эталон»; «С эталоном» открывает сразу последний кадр. У упавшей цепочки (для админа) — «Перезапустить ($X)»; в цене строки видно потраченное неудачными попытками. CompareModal заменён каруселью. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: fd7637903f47b739b463a7787ccbad26639e9a22100sлоги →
runningwanmax/wanmax-fedev@feat(explorer): выбор промпта как в модалке улучшения — справочник, избранное филиала, версии (R-12, R-13.5) Вместо ручного textarea: общий справочник промптов (useGetPrompts), избранные филиала сверху со звёздами (favoritesApi), выбор версии из history с тултипом тела и описанием; в прогон уходит тело выбранной версии (превью показывается). Логика сортировки/резолва тела вынесена в promptSelection.ts под тесты [R-12]. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: bae6745b2d9aab73e9b5eabbe1114cbd8588fff4200sлоги →
runningwanmax/wanmax-bedev@fix(cors): домены стенда в белом списке — стендовый фронт не мог логиниться Стенд wanmax.nodeport.ru отсутствовал в origin-списке: preflight отвечал 204, но без access-control-allow-origin — браузер резал запрос авторизации. Список вынесен в common/cors-origins.ts (тест [R-11]), добавлены домены стенда и dev-порт 3005; точечные добавки — через CORS_EXTRA_ORIGINS без правки кода. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 859b32a5a34cd8358ffef7a101773833dbfdbf5b86sлоги →
runningtransmission/be-transmissiondev@fix: корреляция подзапросов списков — счётчики связей/онлайна врали drizzle рендерит ${users.id} внутри raw-подзапроса неквалифицированным "id", и Postgres резолвит его в колонку самого подзапроса (l.id) — activeCounterparties в списке пользователей показывал мусор (баг приёмки FE 18.08: «1» у всех), та же грабля в onlineExpr/lastActiveAt, usersStats.withCounterparties, counterpartiesStats.withoutActiveUsers. Все коррелированные колонки внешней таблицы теперь квалифицируются как ${table}."col". Регрессия — в тестах привязок (список = карточка). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 19b64a0cabe1b6d63d68e372e72c4271f04ebce232sлоги →
runningtransmission/be-transmissiondev@feat: справочники служб доставки и ПВЗ (каскад) GET /api/admin/dictionaries/delivery-services (только активные) — фильтр «Служба доставки» списка контактов (List §7); GET …/:guid/pickup-points — каскад ПВЗ в карточке контакта (Edit). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 247b2bb637c6162c8216a7b448bb71cd47db4f5f86sлоги →
runningtransmission/be-transmissiondev@feat: details в сериализации ApiError — UI-ссылка «Открыть существующего» inn_kpp_taken уже нёс details {id,guid} существующего контрагента, но обработчик ошибок их отбрасывал. Теперь details доезжают до панели (Edit §12). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 90ee6ce4a55eb246e8d2df882e24d1496b23743829sлоги →
runningtransmission/be-transmissiondev@fix: булевы query-фильтры — BoolQuery вместо z.coerce.boolean z.coerce.boolean() коэрсит любую непустую строку (включая 'false') в true: фильтр detailedStock=false был неотличим от true, «Дет. наличие: Выключено» в панели невозможен. BoolQuery принимает boolean (body) и явные 'true'/'false' (query), мусор — 422. Затронуты counterparties (detailedStock, noActiveUsers) и api-logs (only_errors). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 33569094601adfd548557b6752abeeccd34350fa19sлоги →
runningtransmission/be-transmissiondev@feat: справочник типов цен GET /api/admin/dictionaries/price-types Read-only словарь для фильтра «Тип цены» списка контрагентов (List §7) и селектора в карточке (Edit). Панель справочник не правит — ведёт 1С/сид. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 41a1563ba8d72c0835e64f48b9a15f8e24230a9127sлоги →
runningtransmission/api-transmissiondev@Rebuild deployment2sлоги →
runningtransmission/api-transmissiondev@Rebuild deployment2sлоги →
runningtransmission/api-transmissiondev@Rebuild deployment2sлоги →
runningtransmission/api-transmissiondev@feat(config): фича-флаги мобилки по умолчанию включены APP_FEATURE_* теперь гасятся только явным 'false' — отсутствие env означает «включено». Убирает необходимость выставлять env на каждом инстансе для включения живых фич. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: ceafe5f9a430ca92357c3998d0e1eb684fc525049sлоги →
runningtransmission/api-transmissiondev@feat(mobile-api): живая регистрация и самоудаление аккаунта - POST /api/v1/auth/register — создаёт реального пользователя (login=телефон, bcrypt, гонка решается ON CONFLICT по users.login), сразу возвращает сессию (авто-логин), 409 LOGIN_TAKEN на повтор - DELETE /api/v1/me/account — самоудаление: переиспользует deleteUser (каскад по FK + best-effort чистка Pushwoosh); требование сторов при наличии регистрации - app-config: флаг features.accountDeletion (APP_FEATURE_ACCOUNT_DELETION) - тесты: tests/mobile/account.test.ts — 8 кейсов (регистрация, авто-логин, повторный логин, 409, валидация, удаление своё/зарегистрированного, 401) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 1a429f0e0e29a24315cf1e54dcf4ac176880749333sлоги →
runningtransmission/api-transmissiondev@Rebuild deployment3sлоги →
runningtransmission/api-transmissiondev@Rebuild deployment2sлоги →
runningtransmission/api-transmissiondev@Rebuild deployment1sлоги →
runningtransmission/api-transmissiondev@Rebuild deployment1sлоги →
runningtransmission/api-transmissiondev@Rebuild deployment2sлоги →