From b467a1d2113bcd0ba73a969855bf02a87d254a7d Mon Sep 17 00:00:00 2001 From: Sahil Kumar Date: Fri, 19 Sep 2025 03:38:18 +0200 Subject: [PATCH 1/3] fix(ui): enable sending reply in threads for users with sendReply capability This commit allows users with the `sendReply` capability to send replies within a thread, even if they don't have broader send message permission. --- .../lib/src/message_input/stream_message_input.dart | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/stream_chat_flutter/lib/src/message_input/stream_message_input.dart b/packages/stream_chat_flutter/lib/src/message_input/stream_message_input.dart index de88469d3..aaa36f231 100644 --- a/packages/stream_chat_flutter/lib/src/message_input/stream_message_input.dart +++ b/packages/stream_chat_flutter/lib/src/message_input/stream_message_input.dart @@ -619,6 +619,12 @@ class StreamMessageInputState extends State Widget build(BuildContext context) { bool canSendOrUpdateMessage(List capabilities) { var result = capabilities.contains(ChannelCapability.sendMessage); + + final insideThread = _effectiveController.message.parentId != null; + if (insideThread) { + result |= capabilities.contains(ChannelCapability.sendReply); + } + if (_isEditing) { result |= capabilities.contains(ChannelCapability.updateOwnMessage); result |= capabilities.contains(ChannelCapability.updateAnyMessage); @@ -626,6 +632,9 @@ class StreamMessageInputState extends State return result; } + //fix(ui): enable sending reply in threads for users with sendReply capability + // + // This commit allows users with the `sendReply` capability to send replies within a thread, even if they don't have broader send message permission. final channel = StreamChannel.of(context).channel; final messageInput = switch (_buildAutocompleteMessageInput(context)) { From b5abc9b3a5065ff4fdcde63c81d4815e618d69cf Mon Sep 17 00:00:00 2001 From: Sahil Kumar Date: Fri, 19 Sep 2025 03:39:35 +0200 Subject: [PATCH 2/3] chore: update CHANGELOG.md --- packages/stream_chat_flutter/CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/stream_chat_flutter/CHANGELOG.md b/packages/stream_chat_flutter/CHANGELOG.md index c768fa0cf..931e6d687 100644 --- a/packages/stream_chat_flutter/CHANGELOG.md +++ b/packages/stream_chat_flutter/CHANGELOG.md @@ -1,3 +1,9 @@ +## Upcoming Beta + +🐞 Fixed + +- Fixed users with `sendReply` capability unable to send replies in threads. + ## Upcoming 🐞 Fixed From 80836ba827e2c46fe18d9a70eb52def48c0467e7 Mon Sep 17 00:00:00 2001 From: Sahil Kumar Date: Fri, 19 Sep 2025 03:40:49 +0200 Subject: [PATCH 3/3] chore: remove outdated comments --- .../lib/src/message_input/stream_message_input.dart | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/stream_chat_flutter/lib/src/message_input/stream_message_input.dart b/packages/stream_chat_flutter/lib/src/message_input/stream_message_input.dart index aaa36f231..c76604860 100644 --- a/packages/stream_chat_flutter/lib/src/message_input/stream_message_input.dart +++ b/packages/stream_chat_flutter/lib/src/message_input/stream_message_input.dart @@ -632,9 +632,6 @@ class StreamMessageInputState extends State return result; } - //fix(ui): enable sending reply in threads for users with sendReply capability - // - // This commit allows users with the `sendReply` capability to send replies within a thread, even if they don't have broader send message permission. final channel = StreamChannel.of(context).channel; final messageInput = switch (_buildAutocompleteMessageInput(context)) {