Skip to content

Commit

Permalink
fix: Failed image message are not visible on chat #WPB-11035 (#3516)
Browse files Browse the repository at this point in the history
  • Loading branch information
m-zagorski authored and github-actions[bot] committed Oct 22, 2024
1 parent 90262c3 commit ce304da
Showing 1 changed file with 4 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@ import com.wire.kalium.logic.data.message.DeliveryStatus
import com.wire.kalium.logic.data.message.Message
import com.wire.kalium.logic.data.message.MessageContent
import com.wire.kalium.logic.data.message.MessageContent.Asset
import com.wire.kalium.logic.data.message.hasValidData
import com.wire.kalium.logic.data.user.AssetId
import com.wire.kalium.logic.data.user.SelfUser
import com.wire.kalium.logic.data.user.User
import com.wire.kalium.logic.sync.receiver.conversation.message.hasValidRemoteData
import com.wire.kalium.logic.util.isGreaterThan
import kotlinx.collections.immutable.toPersistentList
import kotlinx.collections.immutable.toPersistentMap
Expand Down Expand Up @@ -239,7 +239,8 @@ class RegularMessageMapper @Inject constructor(
with(assetMessageContentMetadata.assetMessageContent) {
when {
// If some of image data are still missing, we mark it as incomplete which won't be shown until we get missing data
assetMessageContentMetadata.isIncompleteImage() -> {
// But we also check if isnt our own message, if its our own, most likely the there was an error sending the image.
assetMessageContentMetadata.isIncompleteImage() && sender !is SelfUser -> {
UIMessageContent.IncompleteAssetMessage
}

Expand Down Expand Up @@ -306,7 +307,7 @@ class AssetMessageContentMetadata(val assetMessageContent: AssetContent) {

// Sometimes client receives two events for the same asset, first one with only part of the data ("preview" type from web),
// so such asset shouldn't be shown until all the required data is received.
fun isIncompleteImage(): Boolean = isDisplayableImage() && !assetMessageContent.hasValidRemoteData()
fun isIncompleteImage(): Boolean = isDisplayableImage() && !assetMessageContent.remoteData.hasValidData()
}

private fun String?.orUnknownName(): UIText = when {
Expand Down

0 comments on commit ce304da

Please sign in to comment.