fix: align password validation with backend ASCII policy (WealthLedger/backend#60) #89

Merged
codex-bot merged 1 commits from fix/60-ascii-password-policy into develop 2026-10-16 10:00:55 +03:00
Owner

Summary

Register требует 8–72 печатных ASCII-символа (как backend); login проверяет только непустой пароль до 72 байт и не требует минимума, чтобы пользователи с прежним паролем могли войти. Это не только обновление артефакта: изменены schema, i18n и тесты.

Linked Issue

Refs WealthLedger/backend#60

Backend-часть: WealthLedger/backend (ветка fix/60-ascii-password-policy, отдельный PR). Мерджить после или вместе с backend PR.

Changes

  • src/shared/api/spec/openapi.json: snapshot получен из backend openapi.json (CredentialsDto → RegisterDto и LoginDto).
  • src/shared/api/generated/schema.d.ts: регенерирован npm run openapi:generate, вручную не правился.
  • auth.schema.ts: register 8–72 печатных ASCII, login непустой и ≤ 72 bytes.
  • ru.ts: новое сообщение invalidPasswordLength и passwordTooLong.
  • auth.schema.test.ts (новый) и AuthForm.test.tsx: те же границы, что в backend (7/8/72/73, кириллица, emoji, tab/LF/DEL, legacy-пароль на login).

Verification

  • npm run verify → exit 0 (67 test files, 460 tests, vite и storybook build).
  • npm run openapi:check → pass.
  • Мутанты убиты (проверено локально): минимум 12, отключённая ASCII-проверка, ASCII без пробела, строгий login, максимум по символам вместо bytes.
  • Ограничения: поведение сверено с backend по таблице границ в тестах, не end-to-end через живой backend.

Breaking Changes (если есть)

Нет для API-вызовов. Пользователь больше не может зарегистрироваться с кириллицей или emoji; вход существующих пользователей не затронут.

## Summary Register требует 8–72 печатных ASCII-символа (как backend); login проверяет только непустой пароль до 72 байт и не требует минимума, чтобы пользователи с прежним паролем могли войти. Это не только обновление артефакта: изменены schema, i18n и тесты. ## Linked Issue Refs WealthLedger/backend#60 Backend-часть: WealthLedger/backend (ветка `fix/60-ascii-password-policy`, отдельный PR). Мерджить после или вместе с backend PR. ## Changes - `src/shared/api/spec/openapi.json`: snapshot получен из backend `openapi.json` (`CredentialsDto` → `RegisterDto` и `LoginDto`). - `src/shared/api/generated/schema.d.ts`: регенерирован `npm run openapi:generate`, вручную не правился. - `auth.schema.ts`: register 8–72 печатных ASCII, login непустой и ≤ 72 bytes. - `ru.ts`: новое сообщение `invalidPasswordLength` и `passwordTooLong`. - `auth.schema.test.ts` (новый) и `AuthForm.test.tsx`: те же границы, что в backend (7/8/72/73, кириллица, emoji, tab/LF/DEL, legacy-пароль на login). ## Verification - `npm run verify` → exit 0 (67 test files, 460 tests, vite и storybook build). - `npm run openapi:check` → pass. - Мутанты убиты (проверено локально): минимум 12, отключённая ASCII-проверка, ASCII без пробела, строгий login, максимум по символам вместо bytes. - Ограничения: поведение сверено с backend по таблице границ в тестах, не end-to-end через живой backend. ## Breaking Changes (если есть) Нет для API-вызовов. Пользователь больше не может зарегистрироваться с кириллицей или emoji; вход существующих пользователей не затронут.
codex-bot added 1 commit 2026-10-16 09:43:50 +03:00
fix: align password validation with backend ASCII policy (WealthLedger/backend#60)
Frontend verify / commits (pull_request) Successful in 39s
Frontend verify / security (pull_request) Successful in 10s
Frontend verify / verify (pull_request) Successful in 6m39s
ffc5aaa84a
Register requires 8-72 printable ASCII characters; login only caps the
password at 72 bytes and no longer enforces a minimum, so accounts created
under the previous policy can still sign in.

OpenAPI snapshot is delivered from backend and schema.d.ts regenerated with
npm run openapi:generate (CredentialsDto is now RegisterDto and LoginDto).
codex-bot merged commit ebe92684a7 into develop 2026-10-16 10:00:55 +03:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: WealthLedger/frontend#89