From a35866d9fdd183ce91f5bcc108996b2a0fc41f6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jc=20Mi=C3=B1arro?= Date: Wed, 4 Sep 2024 14:48:00 +0200 Subject: [PATCH 1/3] Remove local uploadId property after the attachment is updated --- .../chat/android/client/attachment/AttachmentUploader.kt | 3 ++- .../chat/android/client/attachment/AttachmentUploaderTests.kt | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/stream-chat-android-client/src/main/java/io/getstream/chat/android/client/attachment/AttachmentUploader.kt b/stream-chat-android-client/src/main/java/io/getstream/chat/android/client/attachment/AttachmentUploader.kt index 30219f47d26..e9357be0983 100644 --- a/stream-chat-android-client/src/main/java/io/getstream/chat/android/client/attachment/AttachmentUploader.kt +++ b/stream-chat-android-client/src/main/java/io/getstream/chat/android/client/attachment/AttachmentUploader.kt @@ -18,6 +18,7 @@ package io.getstream.chat.android.client.attachment import android.webkit.MimeTypeMap import io.getstream.chat.android.client.ChatClient +import io.getstream.chat.android.client.extensions.EXTRA_UPLOAD_ID import io.getstream.chat.android.client.extensions.uploadId import io.getstream.chat.android.client.uploader.StreamCdnImageMimeTypes import io.getstream.chat.android.client.utils.ProgressCallback @@ -266,7 +267,7 @@ public class AttachmentUploader(private val client: ChatClient = ChatClient.inst else -> imageUrl }, assetUrl = uploadedFile.file, - extraData = extraData + uploadedFile.extraData, + extraData = (extraData + uploadedFile.extraData) - EXTRA_UPLOAD_ID, ) } diff --git a/stream-chat-android-client/src/test/java/io/getstream/chat/android/client/attachment/AttachmentUploaderTests.kt b/stream-chat-android-client/src/test/java/io/getstream/chat/android/client/attachment/AttachmentUploaderTests.kt index 0b8cb1917ce..d4c4c9ecae7 100644 --- a/stream-chat-android-client/src/test/java/io/getstream/chat/android/client/attachment/AttachmentUploaderTests.kt +++ b/stream-chat-android-client/src/test/java/io/getstream/chat/android/client/attachment/AttachmentUploaderTests.kt @@ -125,6 +125,7 @@ internal class AttachmentUploaderTests { name = attachment.upload!!.name, title = attachment.upload!!.name, uploadState = Attachment.UploadState.Success, + extraData = attachment.extraData - EXTRA_UPLOAD_ID, ) val result = sut.uploadAttachment(channelType, channelId, attachment) result.shouldBeInstanceOf(Result.Success::class) @@ -150,6 +151,7 @@ internal class AttachmentUploaderTests { name = attachment.upload!!.name, title = attachment.upload!!.name, uploadState = Attachment.UploadState.Success, + extraData = attachment.extraData - EXTRA_UPLOAD_ID, ) val result = sut.uploadAttachment( channelType, From e6623b4c02533d3009a59198d1a6927a71b0f52e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jc=20Mi=C3=B1arro?= Date: Wed, 4 Sep 2024 14:48:47 +0200 Subject: [PATCH 2/3] Reorder attachmentFactories to ensure async-voice attachment is not used by wrong factory --- .../android/compose/ui/attachments/StreamAttachmentFactories.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/StreamAttachmentFactories.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/StreamAttachmentFactories.kt index 79fbc96b0b2..a1477e9b69f 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/StreamAttachmentFactories.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/StreamAttachmentFactories.kt @@ -107,6 +107,7 @@ public object StreamAttachmentFactories { UploadAttachmentFactory( onContentItemClick = onUploadContentItemClick, ), + AudioRecordAttachmentFactory(), LinkAttachmentFactory( linkDescriptionMaxLines = linkDescriptionMaxLines, onContentItemClick = onLinkContentItemClick, @@ -125,7 +126,6 @@ public object StreamAttachmentFactories { showFileSize = showFileSize, onContentItemClick = onFileContentItemClick, ), - AudioRecordAttachmentFactory(), UnsupportedAttachmentFactory(), ) From 3cfde747b93487b12dce93b8a605f3ea70d9c02a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jc=20Mi=C3=B1arro?= Date: Thu, 5 Sep 2024 19:05:04 +0200 Subject: [PATCH 3/3] Update CHANGELOG.md --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ed53355246..b799606e876 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ ### 🐞 Fixed ### ⬆️ Improved +- `Attachment.uploadId` is only used locally and removed whenever the attachments are uploaded. [#5395](https://github.com/GetStream/stream-chat-android/pull/5395) ### ✅ Added @@ -67,6 +68,7 @@ ## stream-chat-android-compose ### 🐞 Fixed +- Fix condition to show async-voice attachments on MessageList. [#5395](https://github.com/GetStream/stream-chat-android/pull/5395) ### ⬆️ Improved