From 0aa1a258e49f86695fefb3485e0fd3bbf5c8c344 Mon Sep 17 00:00:00 2001 From: Jorge Martin Espinosa Date: Wed, 4 Jun 2025 10:30:50 +0200 Subject: [PATCH] fix: When sending media as files use the `application/octet-stream` mime type (#4815) This ensures there is no media pre-processing applied, but also has the side effect of not sending a thumbnail as we (incorrectly) did until now. --- .../impl/messagecomposer/MessageComposerPresenter.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerPresenter.kt index 460d3440a0..c8d3956fe9 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerPresenter.kt @@ -24,7 +24,6 @@ import androidx.compose.runtime.rememberUpdatedState import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.runtime.snapshots.SnapshotStateList -import androidx.media3.common.MimeTypes import androidx.media3.common.util.UnstableApi import dagger.assisted.Assisted import dagger.assisted.AssistedFactory @@ -42,6 +41,7 @@ import io.element.android.features.messages.impl.timeline.TimelineController import io.element.android.features.messages.impl.utils.TextPillificationHelper import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.core.extensions.runCatchingExceptions +import io.element.android.libraries.core.mimetype.MimeTypes import io.element.android.libraries.designsystem.utils.snackbar.SnackbarDispatcher import io.element.android.libraries.designsystem.utils.snackbar.SnackbarMessage import io.element.android.libraries.featureflag.api.FeatureFlagService @@ -166,13 +166,13 @@ class MessageComposerPresenter @AssistedInject constructor( handlePickedMedia(uri, mimeType) } val filesPicker = mediaPickerProvider.registerFilePicker(AnyMimeTypes) { uri -> - handlePickedMedia(uri) + handlePickedMedia(uri, MimeTypes.OctetStream) } val cameraPhotoPicker = mediaPickerProvider.registerCameraPhotoPicker { uri -> - handlePickedMedia(uri, MimeTypes.IMAGE_JPEG) + handlePickedMedia(uri, MimeTypes.Jpeg) } val cameraVideoPicker = mediaPickerProvider.registerCameraVideoPicker { uri -> - handlePickedMedia(uri, MimeTypes.VIDEO_MP4) + handlePickedMedia(uri, MimeTypes.Mp4) } val isFullScreen = rememberSaveable { mutableStateOf(false)