fix attachments disappearing upon edits

This commit is contained in:
Henry Hiles 2026-07-26 16:37:09 -04:00
commit 917d3eea44
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs
2 changed files with 22 additions and 6 deletions

View file

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

View file

@ -0,0 +1,11 @@
import "package:flutter/material.dart";
import "package:flutter_riverpod/flutter_riverpod.dart";
class MxcImage extends ConsumerWidget {
const MxcImage({super.key});
@override
Widget build(BuildContext context, WidgetRef ref) {
return const Placeholder();
}
}