Skip to content

feat(routing): open the profile until a DM exists - #989

Merged
bmc08gt merged 3 commits into
mainfrom
feat/profile-refresh-routing
Oct 6, 2026
Merged

bmc08gt merged 3 commits into
mainfrom
feat/profile-refresh-routing

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Oct 6, 2026 •

Copy link
Copy Markdown
Collaborator

Stacked on #988.

Every way of reaching a person now opens their profile until you have a DM with them:

  • Scanning a code shows the card for 750ms, then opens the profile, even when a DM exists. The profile's pinned button then reads Open Chat.
  • Username search and View in Chat on transaction details open the DM if there is one, otherwise the profile. The transaction button reads "View Profile" in that case.
  • @mentions, group members and flipcash.com/ links already opened the profile, and notifications only ever open existing chats.

The decision lives in DMRoute.destination(for:dmID:origin:). With nothing routing by user ID any more, this PR deletes tipConversationForUser and tipConversationForUserSendingCash rather than adding the redirect view the plan described.

ConversationScreen loses the paid-DM gate: no pre-chat .tipDM context, no "Send $X to Start Chatting" bar, no SendCashMorphButton. Paying to start a chat happens on the profile now. isTipDm on the bottom bar only fed that button's title, so it went too.

TipsSmokeTests now expects the tip link to land on the profile's pinned button rather than the empty chat's send button.

A scan always opens the person's profile after the card's 750ms hold. A
username search and a transaction's details open the DM when it exists
and the profile until then, through DMRoute. The profile is where the
paid chat starts, so nothing routes into a conversation by user ID any
more, and tipConversationForUser and tipConversationForUserSendingCash
are removed.
Every route to a person now lands on their profile until a DM exists, and
the profile owns the paid start-chatting flow. ConversationScreen only opens
an existing chat, so the tipDM context, the chatExists/startChattingFee
plumbing, the full-width Start Chatting bar, and the open-time Send Cash are
unreachable.
Scanning opens the profile now, so the old wait for the empty chat's
send-cash button timed out with the profile on screen.
@bmc08gt
bmc08gt changed the base branch from feat/profile-refresh-edit-profile-v2 to main October 6, 2026 20:13
@bmc08gt
bmc08gt force-pushed the feat/profile-refresh-routing branch from 9d6275e to f5eac5c Compare October 6, 2026 20:13
@bmc08gt
bmc08gt merged commit d610f6e into main Oct 6, 2026
3 checks passed
@bmc08gt
bmc08gt deleted the feat/profile-refresh-routing branch October 6, 2026 23:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant