working edits

This commit is contained in:
Henry Hiles 2026-01-06 11:20:17 -05:00
commit f9f4a4b48e
No known key found for this signature in database
4 changed files with 19 additions and 5 deletions

View file

@ -40,7 +40,16 @@ class RoomChatController extends AsyncNotifier<ChatController> {
if (oldMessage == null || message == null) return;
return await updateMessage(
oldMessage,
message.copyWith(id: oldMessage.id),
message.copyWith(
id: oldMessage.id,
replyToMessageId: oldMessage.replyToMessageId,
metadata: {
...(oldMessage.metadata ?? {}),
...((message.metadata ?? {}).filterMap(
(key, value) => value == null ? null : MapEntry(key, value),
)),
},
),
);
}
if (message != null) {
@ -119,8 +128,9 @@ class RoomChatController extends AsyncNotifier<ChatController> {
await room.sendTextEvent(
taggedMessage,
editEventId: relationType == RelationType.edit ? relation?.id : null,
inReplyTo: (relationType == RelationType.reply && relation != null)
? await room.getEventById(relation.id)
displayPendingEvent: relationType != RelationType.edit,
inReplyTo: (relationType == RelationType.reply)
? await room.getEventById(relation!.id)
: null,
);
}