feat(tipping): tip-chat routing + is_hidden/chat_metadata proto plumbing#1132
Merged
Conversation
bmc08gt
force-pushed
the
feat/tips-chat-list-shared-mapper
branch
from
July 24, 2026 13:36
e238587 to
1e98b8c
Compare
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
force-pushed
the
feat/tips-chat-list-shared-mapper
branch
2 times, most recently
from
July 24, 2026 13:52
e238587 to
7ffffd4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.proto—Metadata.is_hidden(per-viewer, server-computed; e.g. peer on the caller's blocklist)push/v1/model.proto—Payload.chat_metadata+ newChatMetadata { sending_user_id, type }Changes
is_hiddenintoChatMetadata; map pushchat_metadataintoNotificationPayloadvia a newPushChatMetadatadomain type (both proto→domain mapping sites updated)is_hiddenonchat_metadata(Room v23→24 auto-migration; schema exported)DeeplinkType.TipChat,Linkify.tipChatById(...), andAppRouterhandling (tip/chat/{chatId});NotificationServiceroutesTIP_DMchat pushes to the tip chat instead of the standard DMTipPaymentDelegate/TippingCoordinatorupdates (+ tests)ChatSummary → ConversationReferencemapping so tip rows show real message previews and last-activity timestamps (shared mapper extracted intochat-ui)Notes
is_hiddenis now plumbed end-to-end (domain → mappers → Room) but not yet acted on in the chat-list VM filter — deferred intentionally.blocklist/protos; left out of this PR as nothing references them yet.Testing
:apps:flipcash:app:assembleDebug✅