@@ -993,7 +993,7 @@ func (s *SignalClient) CreateGroup(number string, name string, members []string,
993
993
AddMembersPermissions string `json:"setPermissionAddMember,omitempty"`
994
994
Expiration int `json:"expiration,omitempty"`
995
995
}
996
- request := Request {Name : name , Members : members }
996
+ request := Request {Name : name , Members : prefixUsernameMembers ( members ) }
997
997
998
998
if groupLinkState != DefaultGroupLinkState {
999
999
request .Link = groupLinkState .String ()
@@ -1036,7 +1036,7 @@ func (s *SignalClient) CreateGroup(number string, name string, members []string,
1036
1036
internalGroupId = resp .GroupId
1037
1037
} else {
1038
1038
cmd := []string {"--config" , s .signalCliConfig , "-a" , number , "updateGroup" , "-n" , name , "-m" }
1039
- cmd = append (cmd , members ... )
1039
+ cmd = append (cmd , prefixUsernameMembers ( members ) ... )
1040
1040
1041
1041
if addMembersPermission != DefaultGroupPermission {
1042
1042
cmd = append (cmd , []string {"--set-permission-add-member" , addMembersPermission .String ()}... )
@@ -1072,6 +1072,19 @@ func (s *SignalClient) CreateGroup(number string, name string, members []string,
1072
1072
return groupId , nil
1073
1073
}
1074
1074
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
+
1075
1088
func (s * SignalClient ) updateGroupMembers (number string , groupId string , members []string , add bool ) error {
1076
1089
var err error
1077
1090
@@ -1102,9 +1115,9 @@ func (s *SignalClient) updateGroupMembers(number string, groupId string, members
1102
1115
}
1103
1116
request := Request {GroupId : internalGroupId }
1104
1117
if add {
1105
- request .Members = append (request .Members , members ... )
1118
+ request .Members = append (request .Members , prefixUsernameMembers ( members ) ... )
1106
1119
} else {
1107
- request .RemoveMembers = append (request .RemoveMembers , members ... )
1120
+ request .RemoveMembers = append (request .RemoveMembers , prefixUsernameMembers ( members ) ... )
1108
1121
}
1109
1122
1110
1123
jsonRpc2Client , err := s .getJsonRpc2Client ()
0 commit comments