Skip to content

Admin Close Group for GV2#1

Draft
abedawi wants to merge 1 commit intomainfrom
cursor/admin-close-group-gv2-6dda
Draft

Admin Close Group for GV2#1
abedawi wants to merge 1 commit intomainfrom
cursor/admin-close-group-gv2-6dda

Conversation

@abedawi
Copy link
Copy Markdown
Owner

@abedawi abedawi commented Apr 29, 2026

Summary

Adds a Close Group action in group conversation settings for GV2 group administrators who can edit membership. The flow confirms with copy that the action cannot be undone, then performs a single GV2 update that removes every other member (and pending state) with the same ban semantics as an individual kick, leaves the local user, and soft-deletes the thread locally with delete-for-me sync—matching the manual remove-all → leave → delete workflow.

Implementation

  • GroupManager.closeGroupForEveryoneV2 composes removeMember / addBannedMember per existing removeFromGroupOrRevokeInviteV2 rules plus setShouldLeaveGroupDeclineInvite() in one updateGroupV2 call.
  • UI: new table row above Leave Group, confirmation action sheet, GroupViewUtils.updateGroupWithActivityIndicator, then ThreadSoftDeleteManager.softDelete and pop to the conversation behind settings.

Testing

  • xcodebuild / Swift compiler are not available in this Linux environment; please build the Signal scheme on macOS and exercise an admin closing a small GV2 group (members + pending invites/requests).
Open in Web Open in Cursor 

Group admins with membership edit rights get a Close Group row in
conversation settings. Confirming runs one GV2 update that removes
every other member (same ban semantics as kick) and leaves, then
soft-deletes the thread locally with delete-for-me sync.

Co-authored-by: abedawi <abedawi@users.noreply.github.com>
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.

2 participants