diff --git a/app/src/main/java/com/infomaniak/mail/ui/main/thread/ThreadViewModel.kt b/app/src/main/java/com/infomaniak/mail/ui/main/thread/ThreadViewModel.kt index 3140f5a0b4..5f800bb4e9 100644 --- a/app/src/main/java/com/infomaniak/mail/ui/main/thread/ThreadViewModel.kt +++ b/app/src/main/java/com/infomaniak/mail/ui/main/thread/ThreadViewModel.kt @@ -252,11 +252,13 @@ class ThreadViewModel @Inject constructor( val batch = input.take(batchSize) output.addAll(batch) - batchedMessages.postValue(output.toMutableList()) - if (batch.size < batchSize) return - delay(50L) + // We need to post a different list each time, because the `submitList` function in AsyncListDiffer + // won't trigger if we send the same list object (https://stackoverflow.com/questions/49726385). + batchedMessages.postValue(ArrayList(output)) + if (batch.size < batchSize) return + delay(50L) sendBatchesRecursively(input.subList(batchSize, input.size), output) }