Register требует 8–72 печатных ASCII-символа (как backend); login проверяет только непустой пароль до 72 байт и не требует минимума, чтобы пользователи с прежним паролем могли войти. Это не только обновление артефакта: изменены schema, i18n и тесты.
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; вход существующих пользователей не затронут.
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).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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 получен из backendopenapi.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.Breaking Changes (если есть)
Нет для API-вызовов. Пользователь больше не может зарегистрироваться с кириллицей или emoji; вход существующих пользователей не затронут.