Skip to content

Commit aa1924a

Browse files
committed
prefix usernames with 'u:' when creating/updating a group's members
1 parent 8834570 commit aa1924a

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

src/client/client.go

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -993,7 +993,7 @@ func (s *SignalClient) CreateGroup(number string, name string, members []string,
993993
AddMembersPermissions string `json:"setPermissionAddMember,omitempty"`
994994
Expiration int `json:"expiration,omitempty"`
995995
}
996-
request := Request{Name: name, Members: members}
996+
request := Request{Name: name, Members: prefixUsernameMembers(members)}
997997

998998
if groupLinkState != DefaultGroupLinkState {
999999
request.Link = groupLinkState.String()
@@ -1036,7 +1036,7 @@ func (s *SignalClient) CreateGroup(number string, name string, members []string,
10361036
internalGroupId = resp.GroupId
10371037
} else {
10381038
cmd := []string{"--config", s.signalCliConfig, "-a", number, "updateGroup", "-n", name, "-m"}
1039-
cmd = append(cmd, members...)
1039+
cmd = append(cmd, prefixUsernameMembers(members)...)
10401040

10411041
if addMembersPermission != DefaultGroupPermission {
10421042
cmd = append(cmd, []string{"--set-permission-add-member", addMembersPermission.String()}...)
@@ -1072,6 +1072,19 @@ func (s *SignalClient) CreateGroup(number string, name string, members []string,
10721072
return groupId, nil
10731073
}
10741074

1075+
func prefixUsernameMembers(members []string) []string {
1076+
res := []string{}
1077+
for _, member := range members {
1078+
recipientType, err := getRecipientType(member)
1079+
if err == nil && recipientType == ds.Username {
1080+
res = append(res, "u:" + member)
1081+
} else {
1082+
res = append(res, member)
1083+
}
1084+
}
1085+
return res
1086+
}
1087+
10751088
func (s *SignalClient) updateGroupMembers(number string, groupId string, members []string, add bool) error {
10761089
var err error
10771090

@@ -1102,9 +1115,9 @@ func (s *SignalClient) updateGroupMembers(number string, groupId string, members
11021115
}
11031116
request := Request{GroupId: internalGroupId}
11041117
if add {
1105-
request.Members = append(request.Members, members...)
1118+
request.Members = append(request.Members, prefixUsernameMembers(members)...)
11061119
} else {
1107-
request.RemoveMembers = append(request.RemoveMembers, members...)
1120+
request.RemoveMembers = append(request.RemoveMembers, prefixUsernameMembers(members)...)
11081121
}
11091122

11101123
jsonRpc2Client, err := s.getJsonRpc2Client()

0 commit comments

Comments
 (0)