diff --git a/app/src/main/java/org/futo/circles/feature/timeline/TimelineDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/timeline/TimelineDialogFragment.kt
index adadd82a9e9c985d7a626b1d10bdec9b3e382370..7a5bef7c6cdc01ae677cbab786ceb9a82957ab08 100644
--- a/app/src/main/java/org/futo/circles/feature/timeline/TimelineDialogFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/timeline/TimelineDialogFragment.kt
@@ -207,8 +207,8 @@ class TimelineDialogFragment : BaseFullscreenDialogFragment(DialogFragmentTimeli
         viewModel.sendPost(roomId, postContent, threadEventId)
     }
 
-    override fun onEditTextPost(roomId: String, newMessage: String, eventId: String) {
-        viewModel.editTextPost(eventId, roomId, newMessage)
+    override fun onEditPost(roomId: String, postContent: CreatePostContent, eventId: String) {
+        viewModel.editPost(eventId, roomId, postContent)
     }
 
     override fun onCreatePoll(roomId: String, pollContent: CreatePollContent) {
diff --git a/app/src/main/java/org/futo/circles/feature/timeline/TimelineViewModel.kt b/app/src/main/java/org/futo/circles/feature/timeline/TimelineViewModel.kt
index 82a729e978398c76ab12c6a0198afaba24bf768f..2fe704f99b214b09047430867610cdf684b6d473 100644
--- a/app/src/main/java/org/futo/circles/feature/timeline/TimelineViewModel.kt
+++ b/app/src/main/java/org/futo/circles/feature/timeline/TimelineViewModel.kt
@@ -9,7 +9,6 @@ import org.futo.circles.core.model.CreatePollContent
 import org.futo.circles.core.model.PostContent
 import org.futo.circles.core.model.ShareableContent
 import org.futo.circles.core.provider.MatrixSessionProvider
-import org.futo.circles.core.room.leave.LeaveRoomDataSource
 import org.futo.circles.core.timeline.BaseTimelineViewModel
 import org.futo.circles.core.timeline.TimelineDataSource
 import org.futo.circles.core.timeline.post.PostOptionsDataSource
@@ -87,8 +86,16 @@ class TimelineViewModel @Inject constructor(
         }
     }
 
-    fun editTextPost(eventId: String, roomId: String, newMessage: String) {
-        sendMessageDataSource.editTextMessage(eventId, roomId, newMessage)
+    fun editPost(eventId: String, roomId: String, postContent: CreatePostContent) {
+        when (postContent) {
+            is MediaPostContent -> postContent.caption?.let {
+                sendMessageDataSource.editMediaCaption(eventId, roomId, postContent.caption)
+            }
+
+            is TextPostContent -> sendMessageDataSource.editTextMessage(
+                eventId, roomId, postContent.text
+            )
+        }
     }
 
     fun createPoll(roomId: String, pollContent: CreatePollContent) {