Skip recipients without a usable identifier during full multi-device contact sync.

This commit is contained in:
Greyson Parrelli
2026-08-10 16:32:56 -04:00
parent 273a1a01c5
commit 57da119a3e
@@ -219,6 +219,11 @@ public class MultiDeviceContactUpdateJob extends BaseJob {
Set<RecipientId> archived = SignalDatabase.threads().getArchivedRecipients();
for (Recipient recipient : recipients) {
if (!recipient.getHasE164() && !recipient.getHasAci()) {
Log.w(TAG, recipient.getId() + " has no valid identifier! Skipping.");
continue;
}
Optional<IdentityRecord> identity = AppDependencies.getProtocolStore().aci().identities().getIdentityRecord(recipient.getId());
Optional<String> name = Optional.ofNullable(recipient.isSystemContact() ? recipient.getDisplayName(context) : recipient.getGroupName(context));
Optional<Integer> expireTimer = recipient.getExpiresInSeconds() > 0 ? Optional.of(recipient.getExpiresInSeconds()) : Optional.empty();