Fixes for reply handling

This commit is contained in:
Henry Hiles 2025-11-28 18:04:47 -05:00
commit 00ab2676b2
No known key found for this signature in database
4 changed files with 34 additions and 25 deletions

View file

@ -56,7 +56,9 @@ extension ToMessage on Event {
? originServerTs
: null;
final body = newContent?["body"] as String? ?? this.body;
final eventId = relationshipEventId ?? this.eventId;
final eventId = editedAt == null
? this.eventId
: relationshipEventId ?? this.eventId;
if (redacted) return null;
@ -140,3 +142,15 @@ extension ToTheme on ColorScheme {
),
);
}
extension ToMessages on List<MatrixEvent> {
Future<List<Message>> toMessages(Room room) async {
final messages = await Future.wait(
map((event) => Event.fromMatrixEvent(event, room).toMessage()),
);
return {
for (var msg in messages.nonNulls.toList().reversed.toList()) msg.id: msg,
}.values.toList();
}
}