Skip to content

feat(tipping): tip-chat routing + is_hidden/chat_metadata proto plumbing#1132

Merged
bmc08gt merged 2 commits into
code/cashfrom
feat/tips-chat-list-shared-mapper
Jul 24, 2026
Merged

feat(tipping): tip-chat routing + is_hidden/chat_metadata proto plumbing#1132
bmc08gt merged 2 commits into
code/cashfrom
feat/tips-chat-list-shared-mapper

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

Summary

Builds on the merged size-aware avatar work (#1131) to finish the tips chat-list feature: wires two new flipcash proto fields end-to-end and routes chat push notifications to the tip conversation when the push is for a TIP_DM.

Proto changes (synced from upstream)

  • chat/v1/model.protoMetadata.is_hidden (per-viewer, server-computed; e.g. peer on the caller's blocklist)
  • push/v1/model.protoPayload.chat_metadata + new ChatMetadata { sending_user_id, type }

Changes

  • services: map is_hidden into ChatMetadata; map push chat_metadata into NotificationPayload via a new PushChatMetadata domain type (both proto→domain mapping sites updated)
  • persistence: persist is_hidden on chat_metadata (Room v23→24 auto-migration; schema exported)
  • routing: new DeeplinkType.TipChat, Linkify.tipChatById(...), and AppRouter handling (tip/chat/{chatId}); NotificationService routes TIP_DM chat pushes to the tip chat instead of the standard DM
  • tipping: TipPaymentDelegate / TippingCoordinator updates (+ tests)
  • tips list: reuse the send flow's ChatSummary → ConversationReference mapping so tip rows show real message previews and last-activity timestamps (shared mapper extracted into chat-ui)

Notes

  • is_hidden is now plumbed end-to-end (domain → mappers → Room) but not yet acted on in the chat-list VM filter — deferred intentionally.
  • Upstream also added new blocklist/ protos; left out of this PR as nothing references them yet.

Testing

  • :apps:flipcash:app:assembleDebug
  • Unit tests: router, services/flipcash, tipping, payments, persistence db ✅

@github-actions github-actions Bot added type: feature New functionality area: payments Payments, transfers, intents, billing area: network gRPC, connectivity, API, exchange rates area: notifications Push notifications, in-app messaging area: deeplinks Deep link handling, URL routing, and link parsing labels Jul 24, 2026
@bmc08gt
bmc08gt force-pushed the feat/tips-chat-list-shared-mapper branch from e238587 to 1e98b8c Compare July 24, 2026 13:36
bmc08gt added 2 commits July 24, 2026 09:41
Reuse the send flow's ChatSummary -> ConversationReference mapping for the
Tips chat list instead of leaving preview/lastActivity unpopulated.

- Extract ChatSummary.toConversationReference() into chat-ui, moving
  formatPreview out of ContactListBuilder (text/cash previews)
- Add lastActivity to ConversationReference so rows can sort/show recency
- ContactListBuilder and TipFlowViewModel now both call the shared mapper
- Tip rows render real message previews and last-activity timestamps
Wire the new flipcash proto fields end-to-end and route chat pushes to the
tip conversation when the push is for a TIP_DM:

- protos: chat Metadata.is_hidden; push Payload.chat_metadata (+ ChatMetadata)
- services: map is_hidden into ChatMetadata; map push chat_metadata into
  NotificationPayload (new PushChatMetadata domain type)
- persistence: persist is_hidden (Room v23->24 auto-migration)
- routing: DeeplinkType.TipChat + Linkify.tipChatById + AppRouter handling;
  NotificationService routes TIP_DM pushes to the tip chat
- tipping: TipPaymentDelegate / TippingCoordinator updates
- messenger UI: ChatParticipant + ParticipantAvatar and related screens
@bmc08gt
bmc08gt force-pushed the feat/tips-chat-list-shared-mapper branch 2 times, most recently from e238587 to 7ffffd4 Compare July 24, 2026 13:52
@bmc08gt
bmc08gt merged commit 6b0cf4d into code/cash Jul 24, 2026
3 checks passed
@bmc08gt
bmc08gt deleted the feat/tips-chat-list-shared-mapper branch July 24, 2026 13:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: deeplinks Deep link handling, URL routing, and link parsing area: network gRPC, connectivity, API, exchange rates area: notifications Push notifications, in-app messaging area: payments Payments, transfers, intents, billing type: feature New functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant