Merge pull request #635 from GetStream/fix/null-checks-on-message-text
fix(ui): add null checks on message text
This commit is contained in:
@@ -52,6 +52,7 @@ breakdown:
|
|||||||
camera is null.
|
camera is null.
|
||||||
- Fixed date dividers position/alignment in non reversed `MessageListView`.
|
- Fixed date dividers position/alignment in non reversed `MessageListView`.
|
||||||
- Fixed `MessageListView` not opening to the right initialMessage if `StreamChannel.initialMessageId` is set.
|
- Fixed `MessageListView` not opening to the right initialMessage if `StreamChannel.initialMessageId` is set.
|
||||||
|
- Fixed null check errors when accessing `message.text` in `MessageWidget` and `MessageListView`; this occurred when sending a message with no text.
|
||||||
|
|
||||||
## 2.1.2
|
## 2.1.2
|
||||||
|
|
||||||
|
|||||||
@@ -849,7 +849,7 @@ class _MessageListViewState extends State<MessageListView> {
|
|||||||
) {
|
) {
|
||||||
final isMyMessage =
|
final isMyMessage =
|
||||||
message.user!.id == StreamChat.of(context).currentUser!.id;
|
message.user!.id == StreamChat.of(context).currentUser!.id;
|
||||||
final isOnlyEmoji = message.text!.isOnlyEmoji;
|
final isOnlyEmoji = message.text?.isOnlyEmoji ?? false;
|
||||||
final currentUser = StreamChat.of(context).currentUser;
|
final currentUser = StreamChat.of(context).currentUser;
|
||||||
final members = StreamChannel.of(context).channel.state?.members ?? [];
|
final members = StreamChannel.of(context).channel.state?.members ?? [];
|
||||||
final currentUserMember =
|
final currentUserMember =
|
||||||
@@ -988,7 +988,7 @@ class _MessageListViewState extends State<MessageListView> {
|
|||||||
|
|
||||||
final showInChannelIndicator = !_isThreadConversation && isThreadMessage;
|
final showInChannelIndicator = !_isThreadConversation && isThreadMessage;
|
||||||
final showThreadReplyIndicator = !_isThreadConversation && hasReplies;
|
final showThreadReplyIndicator = !_isThreadConversation && hasReplies;
|
||||||
final isOnlyEmoji = message.text!.isOnlyEmoji;
|
final isOnlyEmoji = message.text?.isOnlyEmoji ?? false;
|
||||||
|
|
||||||
final hasUrlAttachment =
|
final hasUrlAttachment =
|
||||||
message.attachments.any((it) => it.ogScrapeUrl != null) == true;
|
message.attachments.any((it) => it.ogScrapeUrl != null) == true;
|
||||||
|
|||||||
@@ -1048,7 +1048,7 @@ class _MessageWidgetState extends State<MessageWidget>
|
|||||||
messageWidget: widget.copyWith(
|
messageWidget: widget.copyWith(
|
||||||
key: const Key('MessageWidget'),
|
key: const Key('MessageWidget'),
|
||||||
message: widget.message.copyWith(
|
message: widget.message.copyWith(
|
||||||
text: widget.message.text!.length > 200
|
text: (widget.message.text?.length ?? 0) > 200
|
||||||
? '${widget.message.text!.substring(0, 200)}...'
|
? '${widget.message.text!.substring(0, 200)}...'
|
||||||
: widget.message.text,
|
: widget.message.text,
|
||||||
),
|
),
|
||||||
@@ -1111,7 +1111,7 @@ class _MessageWidgetState extends State<MessageWidget>
|
|||||||
messageWidget: widget.copyWith(
|
messageWidget: widget.copyWith(
|
||||||
key: const Key('MessageWidget'),
|
key: const Key('MessageWidget'),
|
||||||
message: widget.message.copyWith(
|
message: widget.message.copyWith(
|
||||||
text: widget.message.text!.length > 200
|
text: (widget.message.text?.length ?? 0) > 200
|
||||||
? '${widget.message.text!.substring(0, 200)}...'
|
? '${widget.message.text!.substring(0, 200)}...'
|
||||||
: widget.message.text,
|
: widget.message.text,
|
||||||
),
|
),
|
||||||
@@ -1258,7 +1258,7 @@ class _MessageWidgetState extends State<MessageWidget>
|
|||||||
);
|
);
|
||||||
|
|
||||||
Widget _buildTextBubble() {
|
Widget _buildTextBubble() {
|
||||||
if (widget.message.text!.trim().isEmpty) return const Offstage();
|
if (widget.message.text?.trim().isEmpty ?? false) return const Offstage();
|
||||||
return Column(
|
return Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
|
|||||||
Reference in New Issue
Block a user