Skip to content

feat(messenger): show the linked message when a link lands in a gated group - #1777

Merged
bmc08gt merged 2 commits into
feat/message-link-cardfrom
feat/message-link-gated-landing
Oct 16, 2026
Merged

bmc08gt merged 2 commits into
feat/message-link-cardfrom
feat/message-link-gated-landing

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Oct 14, 2026

Copy link
Copy Markdown
Collaborator

Stacked on #1774 (message card), which is stacked on #1772 (route and land).

A non-member below a group's balance requirement never fetches the transcript (GatedTranscriptPlaceholder draws gray bars behind the blur), so a message link into that group had nothing to jump to.

  • On a withheld landing, ChatViewModel asks GetMessage with FULL_OR_REDACTED for the linked message only. Nothing is paged or stored.
  • gatedLandingBubble maps it to a ContentBubble with no capabilities, canReact = false and redacted set from the server. Sender, time and reactions come through whole; a redacted body draws blurred.
  • GatedLandingRow draws it centred over the blur, between the bars, outside BlurredContent. It flashes once on arrival. The back chip is the existing one from feat(messenger): route message links and land on the message #1772.
  • ContentBubble.redacted blurs a text body and clears its semantics, so it is not read out, selected or copied. The blur and its solid-block fallback below Android 12 move from MessageLinkCard into a shared Modifier.redactedText().

If the viewer later reaches the transcript (joins or buys in), the landing reads as Readable and the normal jump runs.

Design: Figma node 11777:207, flow 6 in the message-links design note.

@bmc08gt bmc08gt self-assigned this Oct 14, 2026
@github-actions github-actions Bot added the type: feature New functionality label Oct 14, 2026
@bmc08gt
bmc08gt force-pushed the feat/message-link-gated-landing branch from 8214f4a to 857a455 Compare October 14, 2026 19:22
@bmc08gt
bmc08gt force-pushed the feat/message-link-gated-landing branch from 857a455 to a209d06 Compare October 15, 2026 00:18
@bmc08gt
bmc08gt force-pushed the feat/message-link-gated-landing branch from a209d06 to 73bcb83 Compare October 16, 2026 03:12
@bmc08gt
bmc08gt force-pushed the feat/message-link-gated-landing branch 2 times, most recently from 8cd6ee9 to 223274f Compare October 16, 2026 20:59
… group

A non-member below a group's balance requirement never fetches the
transcript, so a message link had nothing to jump to and opened on the
placeholder rows alone.

The landing now asks GetMessage (FULL_OR_REDACTED) for the one message,
without storing it, and draws it as a single row over the blur: sender
name and avatar, the bubble with its body blurred, and the reaction
pills. The row has no capabilities and cannot be reacted to. It flashes
once on arrival; the back chip behaves as on a normal landing.

ContentBubble gains `redacted`, which blurs a text body and drops it
from the accessibility tree. The blur and its pre-Android 12 fallback
move out of MessageLinkCard into a shared Modifier.redactedText().

Design: Figma node 11777:207, flow 6 of the message-links design note.
The reply branch of ContentBubble did not pass item.redacted to TextBubble,
so a redacted reply landed on in a gated group drew the server's placeholder
sharp.
@bmc08gt
bmc08gt force-pushed the feat/message-link-gated-landing branch from 223274f to f1ad3f2 Compare October 16, 2026 21:09
@bmc08gt
bmc08gt added this pull request to stack #1798 October 16, 2026 21:15
@bmc08gt
bmc08gt merged commit 8cd4705 into code/cash Oct 16, 2026
3 checks passed
bmc08gt added a commit that referenced this pull request Oct 16, 2026
…w-send

* origin/code/cash:
  build(deps): bump grpc from 1.84.0 to 1.84.3 (#1792)
  build(deps): bump io.grpc:grpc-android from 1.84.0 to 1.84.3 (#1790)
  build(deps): bump com.bugsnag:bugsnag-android from 6.27.1 to 6.28.0 (#1791)
  build(deps): bump com.composables:composeunstyled-bottom-sheet (#1793)
  build(deps): bump androidx.paging:paging-compose from 3.5.1 to 3.5.3 (#1794)
  build(deps): bump androidx-paging from 3.5.1 to 3.5.3 (#1796)
  build(deps): bump kotlin from 2.4.20 to 2.4.21 (#1789)
  build(deps): bump gradle-wrapper from 9.8.0 to 9.8.1 (#1797)
  fix(theme): use iOS's Avenir Next Demi file (#1800)
  feat(messenger): share and copy a link to a message (#1784)
  feat(messenger): show the linked message when a link lands in a gated group (#1777)
  feat(messenger): draw message links as a card of the linked message (#1774)
  feat(messenger): route message links and land on the message (#1772)

# Conflicts:
#	apps/flipcash/features/messenger/src/main/kotlin/com/flipcash/app/messenger/internal/ChatViewModel.kt
#	apps/flipcash/features/messenger/src/main/kotlin/com/flipcash/app/messenger/internal/link/LinkCardModule.kt
#	apps/flipcash/features/messenger/src/main/kotlin/com/flipcash/app/messenger/internal/link/LinkCardResolver.kt
#	apps/flipcash/features/messenger/src/main/kotlin/com/flipcash/app/messenger/internal/link/MessageLinkPrefetcher.kt
#	apps/flipcash/shared/chat/src/main/kotlin/com/flipcash/shared/chat/internal/delegates/MessagingDelegate.kt
@bmc08gt
bmc08gt deleted the feat/message-link-gated-landing branch October 23, 2026 16:07
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