fix attachments disappearing when editing messages

This commit is contained in:
Henry Hiles 2026-07-26 17:21:01 -04:00
commit 92b88e46ac
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs

View file

@ -121,9 +121,16 @@ class RoomChatController extends AsyncNotifier<IList<Event>?> {
required RelationType relationType, required RelationType relationType,
Event? relation, Event? relation,
}) async { }) async {
final attachment = ref.watch(AttachmentController.provider(roomId)); Content? baseContent;
if (relationType == .edit) {
baseContent = relation?.content;
} else {
final attachment = ref.watch(AttachmentController.provider(roomId));
if (attachment != null && attachment.$2 == null) return;
if (attachment != null && attachment.$2 == null) return; baseContent = attachment?.$2;
ref.invalidate(AttachmentController.provider(roomId));
}
var taggedMessage = text; var taggedMessage = text;
@ -141,7 +148,7 @@ class RoomChatController extends AsyncNotifier<IList<Event>?> {
final event = await client.sendMessage( final event = await client.sendMessage(
SendMessageRequest( SendMessageRequest(
roomId: roomId, roomId: roomId,
baseContent: attachment?.$2, baseContent: baseContent,
mentions: Mentions( mentions: Mentions(
userIds: [ userIds: [
if (shouldMention == true && if (shouldMention == true &&
@ -158,8 +165,6 @@ class RoomChatController extends AsyncNotifier<IList<Event>?> {
), ),
); );
ref.invalidate(AttachmentController.provider(roomId));
ref ref
.watch(RoomsController.provider.notifier) .watch(RoomsController.provider.notifier)
.update( .update(