Repository navigation
feat(chat): rebuild the group profile on the profile refresh - #995
Merged
bmc08gt merged 2 commits intoOct 6, 2026
Merged
Conversation
…tles The group profile needs "Share Group" with a "Share on Flipcash" row, and an "Edit Group" capsule. Both default to today's strings, so the You tab and the other-user profile don't change.
The group profile now uses the profile header (cover, group picture, title, description), then a Chatting grid, a Balance Requirements card, and one pinned button from the gate verdict: Join, Buy $X of <token> to Join, Buy $X of <token> to Chat, or Open Chat. The Buy button names the shortfall; the line above it names the full requirement. The button reads the ConversationGate verdicts with membership rather than ConversationGatePresentation, which ignores membership and would ask a member who fell under the join minimum to buy in to join a group they're already in. The Chat row falls back to the Join minimum when the group sets no speaker minimum, since speaker rules equal listener rules when none are set. The Chatting grid shows only what SampleChatters returns, and is hidden for a private group (the RPC is denied there) and for an empty sample. Invite, Mute, Report and the encryption info move to the ⋯ menu; Edit becomes an "Edit Group" capsule. Leave Chat sits under the button and keeps the existing confirmation. ChatMuteRow and ReportRow had no other callers and are removed.
bmc08gt
added this pull request to stack #997
October 6, 2026 21:56
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.
Rebuilds
ChatProfileScreenon the profile-refresh components, per the group profile section of the spec (docs/specs/group-profile-refresh.md). Stacked onrefactor/profile-header-render-inputs.Layout: profile header (cover, group picture, title, description), Chatting grid, Balance Requirements card, one pinned button, and Leave Chat as a text action under it.
The pinned button comes from the
ConversationGateverdicts plus membership:It does not use
ConversationGatePresentation, which ignores membership and would ask a member who dropped under the join minimum to buy in to join. The Buy button shows the shortfall, and the line above it shows the full requirement (node 10913:282). Non-balance blocks (staff only, creator only) show no button to non-members, same asConversationGatePanel.Balance Requirements: Chat falls back to the Join minimum when the group sets no speaker minimum. The card is hidden when neither row is set.
Chatting grid: shows the
SampleChattersresult as returned, with the host first and a wave badge. There's no per-chatter GetProfile. The grid isn't fetched for private groups (the RPC is denied) and is hidden when the sample is empty.Moved: Invite, Mute, Report and Encryption are now in the ⋯ menu. Edit is an "Edit Group" capsule. Share opens
ProfileShareSheetwith Share on Flipcash and Copy Link only.ProfileShareSheetandProfileEditCapsuletake their titles, and the defaults keep the You tab and user profile unchanged.ChatMuteRowandReportRowhad no other callers and are removed.Tests:
GroupProfileStateTestscovers the CTA states, the Chat→Join fallback, the shortfall, and grid visibility. The gate test's holdings stub moved toTestSupport/so both suites share it. No UI test referenced the group profile.