diff --git a/lib/models/content/message.dart b/lib/models/content/message.dart index b5e308c..6314161 100644 --- a/lib/models/content/message.dart +++ b/lib/models/content/message.dart @@ -10,7 +10,7 @@ part "message.g.dart"; @Freezed(unionKey: "msgtype", fallbackUnion: "default") abstract class MessageContent extends Content with _$MessageContent { MessageContent._(); - factory MessageContent({required String body}) = UnknownMessageContent; + factory MessageContent({String? body}) = UnknownMessageContent; @FreezedUnionValue("m.text") factory MessageContent.text({ diff --git a/lib/widgets/renderers/message.dart b/lib/widgets/renderers/message.dart index 3470246..25d2d73 100644 --- a/lib/widgets/renderers/message.dart +++ b/lib/widgets/renderers/message.dart @@ -276,14 +276,23 @@ class MessageRenderer extends ConsumerWidget { ], ], ), - MessageContent(:final body) => Row( - spacing: 8, - mainAxisSize: .min, - children: [ - Text("Unknown message type:", style: errorStyle), - Text(body), - ], - ), + MessageContent(:final body) => + body == null + ? Text( + "This message is redacted", + style: errorStyle, + ) + : Row( + spacing: 8, + mainAxisSize: .min, + children: [ + Text( + "Unknown message type:", + style: errorStyle, + ), + Text(body), + ], + ), _ => throw Exception("This is impossible"), }, ],