From 0fcb19e1ccda08951c7605f22d653eba418143e7 Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Tue, 9 Apr 2024 14:59:47 -0400 Subject: [PATCH] Fix group recipient resolve race that can cause unknown group recipients in live cache. --- .../org/thoughtcrime/securesms/database/RecipientTable.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/RecipientTable.kt b/app/src/main/java/org/thoughtcrime/securesms/database/RecipientTable.kt index f4cb4ece68..db956aaa84 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/RecipientTable.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/RecipientTable.kt @@ -954,7 +954,6 @@ open class RecipientTable(context: Context, databaseHelper: SignalDatabase) : Da val values = getValuesForStorageGroupV2(insert, true) writableDatabase.insertOrThrow(TABLE_NAME, null, values) - val recipient = Recipient.externalGroupExact(groupId) Log.i(TAG, "Creating restore placeholder for $groupId") val createdId = groups.create( @@ -969,6 +968,9 @@ open class RecipientTable(context: Context, databaseHelper: SignalDatabase) : Da } groups.setShowAsStoryState(groupId, insert.storySendMode.toShowAsStoryState()) + + val recipient = Recipient.externalGroupExact(groupId) + updateExtras(recipient.id) { it.hideStory(insert.shouldHideStory()) }