@@ -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+
10751088func (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