mirror of
https://github.com/AsamK/signal-cli.git
synced 2026-08-12 03:16:22 +00:00
* Show and enforce the terminated state of a group A group admin can permanently terminate a group. Afterwards the group is read-only for everyone, not even an admin can send messages or start calls; members keep access to the existing history. Other clients silently drop messages sent to a terminated group. Read the DecryptedGroup.terminated flag through GroupInfo.isTerminated() and: - surface it in listGroups (json and plain text) and as the DBus IsTerminated group property - refuse to send to a terminated group locally (messages, reactions, typing and group stories) rather than send one that other clients ignore - drop incoming messages addressed to a terminated group * Add terminateGroup command to terminate a group for everyone Let a group admin permanently terminate a GroupV2 group via the TerminateGroupAction (Groups.proto field 28, change epoch 7) the pinned library already exposes as GroupsV2Operations.createTerminateGroup(). - GroupV2Helper.terminateGroup builds and commits the change - GroupHelper.terminateGroup resolves/refreshes the group (v2 only), sends the update to members and syncs storage, with the same conflict-retry as updateGroup - exposed through Manager.terminateGroup, the terminateGroup CLI/JSON-RPC command and the DBus Group.terminateGroup method --------- Co-authored-by: FailSpy <FailSpy@users.noreply.github.com>