Skip to content

Commit 8bdeed1

Browse files
authored
fix: Fix rare NullPointerException + log it to sentry (#2657)
2 parents 3294b08 + fbae28b commit 8bdeed1

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

app/src/main/java/com/infomaniak/mail/ui/newMessage/NewMessageViewModel.kt

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -356,15 +356,22 @@ class NewMessageViewModel @Inject constructor(
356356
}
357357

358358
private suspend fun setReplyForwardDraftValues(draft: Draft, fullMessage: Message) {
359+
359360
with(draftInitManager) {
360361
draft.setPreviousMessage(draftMode = draftMode, previousMessage = fullMessage)
361362
}
362363

363364
val quote = draftInitManager.createQuote(draftMode, fullMessage, draft.attachments)
364365
if (quote != null) initialQuote = quote
365366

367+
if (fullMessage.body == null) {
368+
SentryLog.e(TAG, "The message we're trying to reply to has an unexpected null body") { scope ->
369+
scope.setExtra("Message resource", fullMessage.resource)
370+
}
371+
}
372+
366373
val isAiEnabled = currentMailbox().featureFlags.contains(FeatureFlag.AI)
367-
if (isAiEnabled) parsePreviousMailToAnswerWithAi(fullMessage.body!!)
374+
if (isAiEnabled) parsePreviousMailToAnswerWithAi(fullMessage.body)
368375

369376
val isEncryptionEnabled = currentMailbox().featureFlags.contains(FeatureFlag.ENCRYPTION)
370377
if (isEncryptionEnabled) draft.isEncrypted = fullMessage.isEncrypted
@@ -567,9 +574,9 @@ class NewMessageViewModel @Inject constructor(
567574
}
568575
}
569576

570-
private suspend fun parsePreviousMailToAnswerWithAi(previousMessageBody: Body) {
577+
private suspend fun parsePreviousMailToAnswerWithAi(previousMessageBody: Body?) {
571578
if (draftMode == DraftMode.REPLY || draftMode == DraftMode.REPLY_ALL) {
572-
aiSharedData.previousMessageBodyPlainText = previousMessageBody.asPlainText()
579+
aiSharedData.previousMessageBodyPlainText = previousMessageBody?.asPlainText()
573580
}
574581
}
575582

0 commit comments

Comments
 (0)