Forward Event error: Log error and use generic error dialog.

This commit is contained in:
Benoit Marty
2025-10-31 17:03:54 +01:00
committed by Benoit Marty
parent 876f692f3f
commit bb28fd6e92
3 changed files with 12 additions and 1 deletions

View File

@@ -31,6 +31,7 @@ dependencies {
implementation(projects.libraries.designsystem)
implementation(projects.libraries.matrix.api)
implementation(projects.libraries.roomselect.api)
implementation(projects.libraries.uiStrings)
testCommonDependencies(libs, true)
testImplementation(projects.libraries.matrix.test)

View File

@@ -23,6 +23,7 @@ import io.element.android.libraries.matrix.api.timeline.TimelineProvider
import io.element.android.libraries.matrix.api.timeline.getActiveTimeline
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch
import timber.log.Timber
@AssistedInject
class ForwardMessagesPresenter(
@@ -63,7 +64,11 @@ class ForwardMessagesPresenter(
roomIds: List<RoomId>,
) = launch {
suspend {
timelineProvider.getActiveTimeline().forwardEvent(eventId, roomIds).getOrThrow()
timelineProvider.getActiveTimeline().forwardEvent(eventId, roomIds)
.onFailure {
Timber.e(it, "Error while forwarding event")
}
.getOrThrow()
roomIds
}.runCatchingUpdatingState(forwardingActionState)
}

View File

@@ -8,11 +8,13 @@
package io.element.android.features.forward.impl
import androidx.compose.runtime.Composable
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.PreviewParameter
import io.element.android.libraries.designsystem.components.async.AsyncActionView
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
import io.element.android.libraries.matrix.api.core.RoomId
import io.element.android.libraries.ui.strings.CommonStrings
@Composable
fun ForwardMessagesView(
@@ -24,6 +26,9 @@ fun ForwardMessagesView(
onSuccess = {
onForwardSuccess(it)
},
errorMessage = {
stringResource(id = CommonStrings.error_unknown)
},
onErrorDismiss = {
state.eventSink(ForwardMessagesEvents.ClearError)
},