fix: align audit findings for Events, currency and auth (WealthLedger/frontend#155) #156

Merged
codex-bot merged 3 commits from fix/155-auth-admission-and-events-contract into develop 2026-11-05 07:23:08 +03:00
Owner

Изменения

  • WealthLedger/frontend#63: показывать calculatedAt и исходное окно сохранённого прогноза Events; URL-фильтр остаётся. RTL/MSW проверяет окно до/после неудачного GET и Retry без ручного импорта.
  • WealthLedger/frontend#59: скрытый CURRENCY/cash mirror не входит в знаменатель долей позиций; regression для all-account. Backend totals/structure остаются authoritative.
  • WealthLedger/frontend#155 / WealthLedger/backend#73: nginx общий admission budget на точные POST login/register (2r/s, burst 5, 429 до upstream), без доверия неизвестной цепочке client-IP. Регистрация остаётся открытой. Один клиент может исчерпать общий бюджет.

Проверки

npm run verify: PASS (580 tests + typecheck/lint/OpenAPI/build/Storybook); nginx -t: PASS; изолированный burst 6 forwarded → 6 rejected 429 → after 4s forwarded; git diff --check: PASS.

Spec prerequisite: WealthLedger/specs#82. Для backend#73 внешнюю proxy chain и эксплуатационное поведение ещё нужно проверить; этот PR не заявляет production proof. Closes WealthLedger/frontend#59, WealthLedger/frontend#63, WealthLedger/frontend#155.

## Изменения - WealthLedger/frontend#63: показывать `calculatedAt` и исходное окно сохранённого прогноза Events; URL-фильтр остаётся. RTL/MSW проверяет окно до/после неудачного GET и Retry без ручного импорта. - WealthLedger/frontend#59: скрытый `CURRENCY`/cash mirror не входит в знаменатель долей позиций; regression для all-account. Backend totals/structure остаются authoritative. - WealthLedger/frontend#155 / WealthLedger/backend#73: nginx общий admission budget на точные POST login/register (`2r/s`, burst 5, 429 до upstream), без доверия неизвестной цепочке client-IP. Регистрация остаётся открытой. Один клиент может исчерпать общий бюджет. ## Проверки `npm run verify`: PASS (580 tests + typecheck/lint/OpenAPI/build/Storybook); `nginx -t`: PASS; изолированный burst 6 forwarded → 6 rejected 429 → after 4s forwarded; `git diff --check`: PASS. Spec prerequisite: WealthLedger/specs#82. Для backend#73 внешнюю proxy chain и эксплуатационное поведение ещё нужно проверить; этот PR не заявляет production proof. Closes WealthLedger/frontend#59, WealthLedger/frontend#63, WealthLedger/frontend#155.
codex-bot added 3 commits 2026-11-05 07:15:28 +03:00
fix: bound auth admission at nginx (WealthLedger/frontend#155)
Frontend verify / commits (pull_request) Successful in 31s
Frontend verify / security (pull_request) Successful in 9s
Frontend verify / verify (pull_request) Successful in 5m54s
33f608e690
codex-bot merged commit 668f2ef70e into develop 2026-11-05 07:23:08 +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#156