Skip to content

feat(groups): refresh Edit Group with cover and description editors - #1705

Merged
bmc08gt merged 4 commits into
feat/group-profile-refreshfrom
feat/group-edit-refresh
Oct 7, 2026
Merged

bmc08gt merged 4 commits into
feat/group-profile-refreshfrom
feat/group-edit-refresh

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Oct 7, 2026

Copy link
Copy Markdown
Collaborator

Ports the Edit Group refresh from code-ios-app #994. Stacked on #1703.

Edit Group was two rows, Picture and Name, because the comment there assumed EditChatRequest only carried a title and picture. It has carried cover and description since flipcash2 0.18.0, so the screen now matches iOS:

  • Cover and photo at the top, with a "Change cover" chip and a camera badge on the avatar.
  • Field cards for Name and Description (up to three lines).
  • A read-only Balance Requirements section with its footnote. Rules can't be edited from the app yet.
  • The screen pops if the viewer loses edit rights while it's open.

New editors:

  • Cover: a 214dp banner you tap to pick an image. Save turns on only after a pick, and the edit sends the cover blob alone (coverOnly).
  • Description: 160 characters with a countdown, trimmed on save. Emptying the field sends DescriptionEdit.Clear. A moderation refusal shows under the field and clears as soon as you type; other failures show a dialog.
  • Name: gains the counter that appears once fewer than 10 characters remain.

Every save (name, picture, cover, description) now asks "Change Group …?" first, through one shared showGroupChangeConfirmation. It replaces the separate name and picture prompts; EditGroupConfirmationTest passes unchanged.

CoverAndPhoto, CameraBadge and FieldCard move from myaccount's Edit Profile into common-ui so both edit screens draw the same header. Edit Profile calls the shared versions with no visual change intended.

Differences from iOS:

  • iOS reserves an upload and reuses it on retry. Android's blobStorage.upload does the whole upload in one call, so there's nothing to reserve and those iOS test cases aren't ported.
  • Cover and description edits send no analytics event, because GroupField only has name and picture.

Tests ported from iOS EditGroupModelTests, EditGroupDescriptionModelTests and GroupChangeDialogTests: EditGroupCoverViewModelTest, EditGroupDescriptionViewModelTest, GroupChangeDialogTest, plus cover and description cases in PartialEditsTest.

@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 merged commit 220713e into feat/group-profile-refresh Oct 7, 2026
2 of 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