Skip to content

feat(profile): share a profile to chats - #1700

Merged
bmc08gt merged 3 commits into
feat/profile-refresh-copyfrom
feat/profile-share-to-chats
Oct 7, 2026
Merged

bmc08gt merged 3 commits into
feat/profile-refresh-copyfrom
feat/profile-share-to-chats

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Oct 7, 2026

Copy link
Copy Markdown
Collaborator

Profile Share now opens the invite sheet, matching code-ios-app#1003. Stacked on #1699.

  • Another person's profile: Share opens the sheet straight away. It has Share and Copy Link tiles and the Recent Chats picker, with your DM with that person left out.
  • Your own profile: the share sheet follows iOS. It has a left-aligned "Share User Profile" title, then Share Profile, Show Profile Card and Dismiss. Copy Link moved into the chat sheet. Share Profile opens the chat sheet with nothing left out.
  • For a person, the sheet is titled "Share Profile" and its button says "Send". Copy Link changes to "Copied" in place instead of showing a toast. Group analytics fire only for group invites.
  • The profile sheet and the group invite sheet both open full screen, as the iOS covers do.

The sheet is still GroupInviteSheet, now with a ShareToChatsSubject (Group or User). The person case is a new root route, AppRoute.Messaging.ShareProfileToChats, opened from both profiles. The group path through ChatStep.InviteToGroup keeps its result-based navigation. GroupInviteViewModel.inviteTo becomes exclude(chatId?).

Send posts the tipcard URL as plain text, as the group invite does. LinkCardClassifier then renders it as the profile link card.

Removed: ProfileShare.kt (the other-profile bottom sheet and its host), the Share and Copy events on ChatProfileViewModel, and ProfileShareViewModel.share()/copyLink(). Messenger now depends on :apps:flipcash:shared:bills for TipCodePreviewCache, which provides the share card image.

The share-to-chats sheet now takes a subject, a group's invite or a
person's profile link. Another person's profile and the You tab's
"Share Profile" row both open it through a new root route,
ShareProfileToChats, which carries the DM to leave out of the picker
(none for your own profile). Send posts the profile URL as plain text to
each picked chat, then opens the first.

The You tab's share sheet follows iOS: left-aligned title, no subtitle,
Share Profile and Show Profile Card rows, and a subtle Dismiss. The old
profile share host, clipboard/toast plumbing and Copy Link row are gone.
iOS presents ShareToChatsSheet as a cover for both a group invite and a
profile share. Mark ChatStep.InviteToGroup and
AppRoute.Messaging.ShareProfileToChats as FullscreenSheet so they rest at
the full screen height with square top corners.
@bmc08gt bmc08gt self-assigned this Oct 7, 2026
@github-actions github-actions Bot added the type: feature New functionality label Oct 7, 2026
@bmc08gt
bmc08gt added this pull request to stack #1696 October 7, 2026 13:56
@bmc08gt
bmc08gt merged commit 1028bae into code/cash Oct 7, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: feature New functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant