diff --git a/SignalServiceKit/src/Contacts/SignalRecipient.m b/SignalServiceKit/src/Contacts/SignalRecipient.m index 4ce907298..38337b861 100644 --- a/SignalServiceKit/src/Contacts/SignalRecipient.m +++ b/SignalServiceKit/src/Contacts/SignalRecipient.m @@ -175,7 +175,7 @@ NS_ASSUME_NONNULL_BEGIN OWSAssertDebug(devices.count > 0); OWSLogDebug(@"removing devices: %@, from registered recipient: %@", devices, self); - [self reloadWithTransaction:transaction]; + [self reloadWithTransaction:transaction ignoreMissing:YES]; [self removeDevices:devices]; [self saveWithTransaction_internal:transaction]; } diff --git a/SignalServiceKit/src/Storage/TSYapDatabaseObject.h b/SignalServiceKit/src/Storage/TSYapDatabaseObject.h index 2c31c81a4..fbd11dbcc 100644 --- a/SignalServiceKit/src/Storage/TSYapDatabaseObject.h +++ b/SignalServiceKit/src/Storage/TSYapDatabaseObject.h @@ -94,8 +94,9 @@ NS_ASSUME_NONNULL_BEGIN /** * Assign the latest persisted values from the database. */ -- (void)reloadWithTransaction:(YapDatabaseReadTransaction *)transaction; - (void)reload; +- (void)reloadWithTransaction:(YapDatabaseReadTransaction *)transaction; +- (void)reloadWithTransaction:(YapDatabaseReadTransaction *)transaction ignoreMissing:(BOOL)ignoreMissing; /** * Saves the object with the shared readWrite connection - does not block. diff --git a/SignalServiceKit/src/Storage/TSYapDatabaseObject.m b/SignalServiceKit/src/Storage/TSYapDatabaseObject.m index a3a5d9108..2e3f4b556 100644 --- a/SignalServiceKit/src/Storage/TSYapDatabaseObject.m +++ b/SignalServiceKit/src/Storage/TSYapDatabaseObject.m @@ -226,10 +226,17 @@ NS_ASSUME_NONNULL_BEGIN } - (void)reloadWithTransaction:(YapDatabaseReadTransaction *)transaction +{ + [self reloadWithTransaction:transaction ignoreMissing:NO]; +} + +- (void)reloadWithTransaction:(YapDatabaseReadTransaction *)transaction ignoreMissing:(BOOL)ignoreMissing { TSYapDatabaseObject *latest = [[self class] fetchObjectWithUniqueID:self.uniqueId transaction:transaction]; if (!latest) { - OWSFailDebug(@"`latest` was unexpectedly nil"); + if (!ignoreMissing) { + OWSFailDebug(@"`latest` was unexpectedly nil"); + } return; }