Every action this screen offers — mini statement, e-passbook, re-KYC,
balance — is one the bank refuses on a deposit, and the account information
grid showed an MMID that is permanently "Not allocated" because deposits
cannot take part in IMPS. The home screen already filters its carousel the
same way; this brings the screen it links to into line.
Filtered on type alone, not through `isOperativeAccount`, so a dormant
savings account still appears — it cannot be debited but it is still the
customer's money.
Adds `isEverydayAccount` to carry that rule, with `supportsBalanceEnquiry`
now defined in terms of it: the same set today, kept under its own name
because it states a fact about the endpoint rather than about the account.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The CBS API now exposes a balance endpoint, which it previously did not.
Several comments in the codebase asserted that no such endpoint existed
anywhere in the API; those are corrected here rather than left to mislead.
Balance is fetched lazily, per account, from the Account Details card:
- `accounts.balance` endpoint, `CbsAccountBalance` type, and a
`getAccountBalance` query with `keepUnusedDataFor: 0` — a balance is the
most perishable figure in the app and must not outlive its screen.
- The call is triggered by the customer, not by render. Every call reaches
the core banking system, and a balance should not appear over someone's
shoulder just for opening a screen.
- `supportsBalanceEnquiry` gates the control by account type only, with no
status check: a dormant savings account cannot be debited but still has a
balance. Deposits are excluded because the endpoint does not serve them.
- `ACCOUNT_BALANCE_NOT_AVAILABLE` added to the error catalogue as a
non-retryable refusal, so the card states it instead of inviting a tap
that gets the identical answer.
Also carries in-progress work already present in the tree: customer-facing
account type labels (`accountTypeLabel`) applied across the account card,
selector, mini statement, balance enquiry and MMID screens.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Global feature search for the user app, wired to the home search icon
- Notifications screen: swipe-to-delete, vanish animation, unread badge,
and Notifee-backed foreground + background (scheduled) OS notifications
- Fix Add Beneficiary save (single source of truth via beneficiaries slice)
- Fix Cards tab scroll freeze and bottom blank space (use ScreenShell scroll)
- User-friendly toast copy across the app
- Android build tuning: parallel/caching/JVM G1 args, mobile-only ABIs
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>