Watch
1
0
Fork
You've already forked nexus
0
forked from Nexus/nexus

handle redacted messages more gracefully

This commit is contained in:
Henry Hiles 2026-07-14 23:29:20 +00:00
commit 4c94977b90
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs
2 changed files with 18 additions and 9 deletions

View file

@ -10,7 +10,7 @@ part "message.g.dart";
@Freezed(unionKey: "msgtype", fallbackUnion: "default") @Freezed(unionKey: "msgtype", fallbackUnion: "default")
abstract class MessageContent extends Content with _$MessageContent { abstract class MessageContent extends Content with _$MessageContent {
MessageContent._(); MessageContent._();
factory MessageContent({required String body}) = UnknownMessageContent; factory MessageContent({String? body}) = UnknownMessageContent;
@FreezedUnionValue("m.text") @FreezedUnionValue("m.text")
factory MessageContent.text({ factory MessageContent.text({

View file

@ -276,14 +276,23 @@ class MessageRenderer extends ConsumerWidget {
], ],
], ],
), ),
MessageContent(:final body) => Row( MessageContent(:final body) =>
spacing: 8, body == null
mainAxisSize: .min, ? Text(
children: [ "This message is redacted",
Text("Unknown message type:", style: errorStyle), style: errorStyle,
Text(body), )
], : Row(
), spacing: 8,
mainAxisSize: .min,
children: [
Text(
"Unknown message type:",
style: errorStyle,
),
Text(body),
],
),
_ => throw Exception("This is impossible"), _ => throw Exception("This is impossible"),
}, },
], ],