Repository navigation
feat(profile): favourite public groups - #1701
Merged
bmc08gt merged 4 commits intoOct 7, 2026
Merged
Conversation
Both profiles get a Favorite Public Groups section under the stats card, hidden while empty. The signed-in user's list is held for the session in FeaturedGroupsStore and cleared on sign-out; another person's is read by handle when their profile opens, and a failed read leaves the section hidden. Rows open the group chat by id.
Edit Profile gets a Favorite Public Groups row that opens a picker over the featured groups plus the joined public ones, up to 10, saved in pick order. Public groups are filtered from the live group feed because isPrivate is not persisted.
The list runs under the search header and the Save button, which use floatingGlass like the rest of the app. Rows fade in under search and fade out with verticalScrollStateGradient from Save's top edge to the bottom of the screen, matching iOS's scroll-edge bar. Group pictures are clipped to circles, as iOS draws them.
bmc08gt
force-pushed
the
feat/profile-favorite-groups
branch
from
October 7, 2026 13:53
0966d81 to
9a2b8be
Compare
bmc08gt
added this pull request to stack #1696
October 7, 2026 13: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.
Profiles can now feature up to 10 public groups, matching code-ios-app#996. Stacked on #1700.
ByChatIdaccess gate.DENIEDerror shows "Only Public Groups Can Be Featured"; any other error shows "Couldn't Save Your Groups".verticalScrollStateGradientfrom Save's top edge, like the iOS scroll-edge bar.Your own picks live in
FeaturedGroupsStore, an in-memory session singleton inshared/chatthatRealSessionControllerresets on logout. Other people's lists come fromgetFeaturedGroups(username)inChatProfileViewModel, and a failed read hides the section. The picker's candidates come from one page of the livegetGroupChatFeed()filtered to public groups, the same single call iOS makes, so there's no Room change.The list UI (
FeaturedGroupsSection,FeaturedGroupRow) is inshared/common-ui/profileand takes render inputs, like the rest of the shared profile UI.EditFeaturedGroupsViewModelTestports the 12 iOSEditFeaturedGroupsModelTestscases and adds one for a pick made before the load finishes.Also capitalises "Minimum To Chat" on Edit Profile. The stats card label is a separate string and is unchanged.