Compare commits

..

3 Commits

Author SHA1 Message Date
Hugo
84788c47e2
Merge 8ea7456812d6f8b53d11c2aa26f6a2645b83322f into e5e21518a5b0a1898e3f47334a76348f11f1a343 2026-01-14 17:28:17 +01:00
Bernhard B
e5e21518a5 reformatted code with gofmt 2026-01-13 22:23:02 +01:00
Bernhard B
354df7472c implemented unregister in json-rpc mode
see #774
2026-01-13 22:21:20 +01:00

View File

@ -761,9 +761,30 @@ func (s *SignalClient) RegisterNumber(number string, useVoice bool, captcha stri
func (s *SignalClient) UnregisterNumber(number string, deleteAccount bool, deleteLocalData bool) error {
if s.signalCliMode == JsonRpc {
return errors.New("This functionality is only available in normal/native mode!")
type Request struct {
DeleteAccount bool `json:"delete-account,omitempty"`
}
req := Request{}
if deleteAccount {
req.DeleteAccount = true
}
jsonRpc2Client, err := s.getJsonRpc2Client()
if err != nil {
return err
}
_, err = jsonRpc2Client.getRaw("unregister", &number, req)
if err != nil {
return err
}
if deleteLocalData {
return s.DeleteLocalAccountData(number, false)
}
return nil
} else {
command := []string{"--config", s.signalCliConfig, "-a", number, "unregister"}
if deleteAccount {
command = append(command, "--delete-account")
@ -783,6 +804,7 @@ func (s *SignalClient) UnregisterNumber(number string, deleteAccount bool, delet
return err
}
}
func (s *SignalClient) DeleteLocalAccountData(number string, ignoreRegistered bool) error {
if s.signalCliMode == JsonRpc {