- Card / Scan to Pay payments show as business chats (from BML
"Payment Completed" alerts and "Purchase" history), kept apart from
people; static merchant QRs are kept so a business can be paid again
from its chat, with a card picker
- Scan to Pay button on the chat list; returns and re-checks after paying
- Compact bubbles with ticks (alert seen / booked in history), receipt
button, day totals, monthly summary, long-press actions
- Personal accounts confirm with just the dialog over the chat; business
profiles keep the sheet for the OTP step
- From chip shows account number and balance; MVR -> USD account is
blocked, USD -> MVR warns about conversion
- Long-press a chat to pin it to the top
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FQUrmJjrypeoPsubpzuezC
Replaces Contacts in the default bottom nav slot with a Chats page
(Contacts moves to More and opens from the Chats toolbar).
- Chats start when the page is first opened; no old history is loaded
- Transfers come from BML notifications (instant), account history
(booked later) and in-app receipts, merged into one bubble each
- Chats are keyed by the account holder's real name, looked up via
BML account validation, so nickname contacts and their MVR/USD
accounts share one chat; the To bar picks the account to send to
- Sending opens the Transfer page in a bottom sheet over the chat and
returns to it on success; sent bubbles link to their receipt
- Chat and name data are stored encrypted with CacheEncryption
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FQUrmJjrypeoPsubpzuezC