diff --git a/app/src/main/java/org/thoughtcrime/securesms/storage/StorageSyncHelper.java b/app/src/main/java/org/thoughtcrime/securesms/storage/StorageSyncHelper.java index 740840b6d1..a7a0395dba 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/storage/StorageSyncHelper.java +++ b/app/src/main/java/org/thoughtcrime/securesms/storage/StorageSyncHelper.java @@ -111,6 +111,13 @@ public final class StorageSyncHelper { .map(recipientDatabase::getRecordForSync) .toList(); + if (self.getStorageServiceId() == null) { + Log.w(TAG, "[buildAccountRecord] No storageId for self! Generating. (Record had ID: " + (record != null && record.getStorageId() != null) + ")"); + SignalDatabase.recipients().updateStorageId(self.getId(), generateKey()); + self = Recipient.self().fresh(); + record = recipientDatabase.getRecordForSync(self.getId()); + } + SignalAccountRecord account = new SignalAccountRecord.Builder(self.getStorageServiceId(), record != null ? record.getSyncExtras().getStorageProto() : null) .setProfileKey(self.getProfileKey()) .setGivenName(self.getProfileName().getGivenName())