diff --git a/Signal/src/ViewControllers/ConversationView/ConversationViewController.m b/Signal/src/ViewControllers/ConversationView/ConversationViewController.m index e0f40e96e..982756545 100644 --- a/Signal/src/ViewControllers/ConversationView/ConversationViewController.m +++ b/Signal/src/ViewControllers/ConversationView/ConversationViewController.m @@ -4719,7 +4719,20 @@ typedef enum : NSUInteger { for (NSUInteger row = 0; row < count; row++) { TSInteraction *interaction = [viewTransaction objectAtRow:row inSection:0 withMappings:self.messageMappings]; - OWSAssert(interaction); + if (!interaction) { + OWSFail(@"%@ missing interaction in message mappings: %zd / %zd.", self.logTag, row, count); + // TODO: Add analytics. + continue; + } + if (!interaction.uniqueId) { + OWSFail(@"%@ invalid interaction in message mappings: %zd / %zd: %@.", + self.logTag, + row, + count, + interaction.description); + // TODO: Add analytics. + continue; + } ConversationViewItem *_Nullable viewItem = self.viewItemCache[interaction.uniqueId]; if (viewItem) {