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, 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(

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();
}
}