mirror of
https://github.com/AsamK/signal-cli
synced 2025-08-29 10:30:38 +00:00
Use complete address instead of only identifier for retry envelope
Fixes #1074
This commit is contained in:
parent
e0c2f58e8d
commit
0b5a063b62
3 changed files with 7 additions and 5 deletions
|
@ -64,8 +64,4 @@ public record RecipientAddress(Optional<UUID> uuid, Optional<String> number) {
|
|||
number.isPresent() && other.number.isPresent() && number.get().equals(other.number.get())
|
||||
);
|
||||
}
|
||||
|
||||
public SignalServiceAddress toSignalServiceAddress() {
|
||||
return new SignalServiceAddress(getServiceId(), number);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import org.asamk.signal.manager.api.ReceiveConfig;
|
|||
import org.asamk.signal.manager.api.UntrustedIdentityException;
|
||||
import org.asamk.signal.manager.storage.SignalAccount;
|
||||
import org.asamk.signal.manager.storage.messageCache.CachedMessage;
|
||||
import org.asamk.signal.manager.storage.recipients.RecipientAddress;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.whispersystems.signalservice.api.SignalWebSocket;
|
||||
|
@ -261,7 +262,8 @@ public class ReceiveHelper {
|
|||
}
|
||||
if (!envelope.hasSourceUuid()) {
|
||||
final var identifier = ((UntrustedIdentityException) exception).getSender();
|
||||
final var recipientId = account.getRecipientResolver().resolveRecipient(identifier.getServiceId());
|
||||
final var recipientId = account.getRecipientResolver()
|
||||
.resolveRecipient(new RecipientAddress(identifier));
|
||||
try {
|
||||
account.getMessageCache().replaceSender(cachedMessage, recipientId);
|
||||
} catch (IOException ioException) {
|
||||
|
|
|
@ -53,6 +53,10 @@ public record RecipientAddress(Optional<ServiceId> serviceId, Optional<PNI> pni,
|
|||
this(Optional.of(address.getServiceId()), Optional.empty(), address.getNumber());
|
||||
}
|
||||
|
||||
public RecipientAddress(org.asamk.signal.manager.api.RecipientAddress address) {
|
||||
this(address.uuid().map(ServiceId::from), Optional.empty(), address.number());
|
||||
}
|
||||
|
||||
public RecipientAddress(ServiceId serviceId) {
|
||||
this(Optional.of(serviceId), Optional.empty());
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue