Merge pull request #901 from GetStream/fix/888

This commit is contained in:
Sahil Kumar
2022-02-15 20:42:53 +05:30
committed by GitHub
3 changed files with 28 additions and 1 deletions
@@ -1,3 +1,9 @@
## Upcoming
🐞 Fixed
- [[#888]](https://github.com/GetStream/stream-chat-flutter/issues/888) Fix `unban` command not working in `MessageInput`.
## 3.4.0
- Updated `stream_chat_flutter_core` dependency to [`3.4.0`](https://pub.dev/packages/stream_chat_flutter_core/changelog).
@@ -1816,6 +1816,8 @@ class MessageInputState extends State<MessageInput> {
_mentionedUsers.clear();
message = _replaceUserNameWithId(message);
try {
Future sendingFuture;
if (widget.editMessage == null ||
@@ -2081,3 +2083,21 @@ class _CountdownButton extends StatelessWidget {
),
);
}
Message _replaceUserNameWithId(Message message) {
final mentionedUsers = message.mentionedUsers;
if (mentionedUsers.isEmpty) return message;
var messageTextToSend = message.text;
if (messageTextToSend == null) return message;
for (final user in mentionedUsers.toSet()) {
final userName = user.name;
messageTextToSend = messageTextToSend!.replaceAll(
'@$userName',
'@${user.id}',
);
}
return message.copyWith(text: messageTextToSend);
}
@@ -84,9 +84,10 @@ class MessageText extends StatelessWidget {
String _replaceMentions(String text) {
var messageTextToRender = text;
for (final user in message.mentionedUsers.toSet()) {
final userId = user.id;
final userName = user.name;
messageTextToRender = messageTextToRender.replaceAll(
'@$userName',
'@$userId',
'[@$userName](@${userName.replaceAll(' ', '')})',
);
}