[Bug] Различать banking read error/empty и восстанавливать отдельные sections #57

Closed
opened 2026-10-11 21:48:56 +03:00 by codex-bot · 1 comment
Owner

Problem

Cards cold failure возвращает null/blank; Card/history/summary retry не проходит presentation API, cached warnings подавляются при data. Успешные balances сохраняются, но failure не видна.

Expected Behavior

Cold error отличается от empty; cached error оставляет exact data и даёт section GET retry без потери draft/URL.

Evidence

Audit date 2026-10-11; 05, FE-004. Revision c8821200ce699dab1ce65360d1968d5877a2e78b; Confidence High; Verification status static.
Affected: CardsPage.view.tsx:31–77; CardPage.vm.ts:95–145; CardHistory.view.tsx:38–123; BankSummary.view.tsx:17–23,84–125; CardPage.test.tsx:315–341.

Scope

In scope

Page-owned state/retry, existing BankFeedback, independent sections.

Out of scope

Optimistic financial success, bank error manager, replay/version/refund changes, edit on placeholder rows.

Proposed Approach

Named retries из query owner, cold branch + cached warning, successful sibling sections не скрывать. NotFound не предлагает повторить write/create duplicate.

Acceptance Criteria

  • Cold cards error отображается доступным error/retry state, successful empty — отдельным empty state.
  • Cached card/history/summary failure сохраняет data и локально recover-ится GET.
  • Summary-only/history-only outage не убирает успешные sections; balance exact, draft и current URL сохранены.
  • Placeholder previous-page rows остаются readonly; form intent/adopted version прежние.

Verification

Existing CardsPage/CardPage/BankSummary RTL/MSW cold/cached/independent failure и successful retry cases после settled response; full frontend final verify.

Dependencies

Нет.

Traceability

Campaign WealthLedger/main#23 . Finding FE-004. WealthLedger/frontend; T22.

<!-- wealthledger-audit:2026-10-11:banking-read-feedback --> ## Problem Cards cold failure возвращает null/blank; Card/history/summary retry не проходит presentation API, cached warnings подавляются при data. Успешные balances сохраняются, но failure не видна. ## Expected Behavior Cold error отличается от empty; cached error оставляет exact data и даёт section GET retry без потери draft/URL. ## Evidence Audit date `2026-10-11`; [05](https://git.personal.ksv741.ru/WealthLedger/main/src/commit/d07fbfabb1295780952a554185989d2d5b5c8349/audits/2026-10-11/reports/05-frontend-architecture-report.md), FE-004. Revision `c8821200ce699dab1ce65360d1968d5877a2e78b`; Confidence High; Verification status static. Affected: [CardsPage.view.tsx:31–77](https://git.personal.ksv741.ru/WealthLedger/frontend/src/commit/c8821200ce699dab1ce65360d1968d5877a2e78b/src/pages/cards/ui/CardsPage/CardsPage.view.tsx#L31-L77); CardPage.vm.ts:95–145; CardHistory.view.tsx:38–123; BankSummary.view.tsx:17–23,84–125; CardPage.test.tsx:315–341. ## Scope ### In scope Page-owned state/retry, existing BankFeedback, independent sections. ### Out of scope Optimistic financial success, bank error manager, replay/version/refund changes, edit on placeholder rows. ## Proposed Approach Named retries из query owner, cold branch + cached warning, successful sibling sections не скрывать. NotFound не предлагает повторить write/create duplicate. ## Acceptance Criteria - [ ] Cold cards error отображается доступным error/retry state, successful empty — отдельным empty state. - [ ] Cached card/history/summary failure сохраняет data и локально recover-ится GET. - [ ] Summary-only/history-only outage не убирает успешные sections; balance exact, draft и current URL сохранены. - [ ] Placeholder previous-page rows остаются readonly; form intent/adopted version прежние. ## Verification Existing CardsPage/CardPage/BankSummary RTL/MSW cold/cached/independent failure и successful retry cases после settled response; full frontend final verify. ## Dependencies Нет. ## Traceability Campaign https://git.personal.ksv741.ru/WealthLedger/main/issues/23 . Finding FE-004. WealthLedger/frontend; T22.
codex-bot added this to the Technical Audit Remediation — 2026-10-11 milestone 2026-10-11 21:48:56 +03:00
codex-bot added the Kind/Bug
Priority
Medium
3
audit/2026-10-11
labels 2026-10-11 21:48:56 +03:00
codex-bot was assigned by hermes-agent 2026-10-12 00:04:18 +03:00
hermes-agent added this to the WealthLedger — Delivery Board project 2026-10-12 00:04:18 +03:00
Author
Owner

Закрывается: работа выполнена и принята в develop.

Доказательство — коммит e38ecd8 с текстом Closes #56, #57, слитый PR #80 (merge edc7097):

$ git log --oneline origin/develop --grep='#5[67]'
edc7097 Merge pull request 'fix(auth,bank): guard switch-auth nav and surface banking retry (#56, #57)' (#80) from feature/56-57-auth-pending-banking-feedback into develop
e38ecd8 fix(auth,bank): guard switch-auth nav and surface banking retry

Acceptance Criteria закрыты телом коммита:

  • Cold cards error — доступный alert + retry; successful empty — отдельный empty state.
  • Cached card/history/summary failure сохраняет данные и восстанавливается section GET retry.
  • Summary-only/history-only outage не скрывает успешные sections.
  • notFound по-прежнему не предлагает retry CTA.

Тесты: CardsPage/CardPage/BankSummary — cold/cached cards error с retry, summary failure с retry, восстановление списка карт.

Парная Issue #56 закрыта 2026-10-14 тем же коммитом; #57 осталась открытой по недосмотру — расхождение статуса, а не незавершённая работа.

Закрывается: работа выполнена и принята в `develop`. Доказательство — коммит `e38ecd8` с текстом `Closes #56, #57`, слитый PR #80 (merge `edc7097`): ``` $ git log --oneline origin/develop --grep='#5[67]' edc7097 Merge pull request 'fix(auth,bank): guard switch-auth nav and surface banking retry (#56, #57)' (#80) from feature/56-57-auth-pending-banking-feedback into develop e38ecd8 fix(auth,bank): guard switch-auth nav and surface banking retry ``` Acceptance Criteria закрыты телом коммита: - Cold cards error — доступный alert + retry; successful empty — отдельный empty state. - Cached card/history/summary failure сохраняет данные и восстанавливается section GET retry. - Summary-only/history-only outage не скрывает успешные sections. - `notFound` по-прежнему не предлагает retry CTA. Тесты: CardsPage/CardPage/BankSummary — cold/cached cards error с retry, summary failure с retry, восстановление списка карт. Парная Issue `#56` закрыта 2026-10-14 тем же коммитом; `#57` осталась открытой по недосмотру — расхождение статуса, а не незавершённая работа.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: WealthLedger/frontend#57