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,11 +276,20 @@ class MessageRenderer extends ConsumerWidget {
], ],
], ],
), ),
MessageContent(:final body) => Row( MessageContent(:final body) =>
body == null
? Text(
"This message is redacted",
style: errorStyle,
)
: Row(
spacing: 8, spacing: 8,
mainAxisSize: .min, mainAxisSize: .min,
children: [ children: [
Text("Unknown message type:", style: errorStyle), Text(
"Unknown message type:",
style: errorStyle,
),
Text(body), Text(body),
], ],
), ),