diff --git a/packages/stream_chat/CHANGELOG.md b/packages/stream_chat/CHANGELOG.md index 4a064d87..d04b7ec1 100644 --- a/packages/stream_chat/CHANGELOG.md +++ b/packages/stream_chat/CHANGELOG.md @@ -4,6 +4,10 @@ - Fix `Channel.removeMessage` not able to remove thread message. +✅ Added + +- Added `hide_history` flag in `client.addChannelMembers`, `channel.addMembers`. + ## 4.4.1 🐞 Fixed diff --git a/packages/stream_chat/lib/src/client/channel.dart b/packages/stream_chat/lib/src/client/channel.dart index 7565b02b..688ce834 100644 --- a/packages/stream_chat/lib/src/client/channel.dart +++ b/packages/stream_chat/lib/src/client/channel.dart @@ -1151,9 +1151,18 @@ class Channel { Future addMembers( List memberIds, [ Message? message, + // TODO: Convert to optional parameters in v5.0.0 + // ignore: avoid_positional_boolean_parameters + bool hideHistory = false, ]) async { _checkInitialized(); - return _client.addChannelMembers(id!, type, memberIds, message: message); + return _client.addChannelMembers( + id!, + type, + memberIds, + message: message, + hideHistory: hideHistory, + ); } /// Invite members to the channel. diff --git a/packages/stream_chat/lib/src/client/client.dart b/packages/stream_chat/lib/src/client/client.dart index a8c4dd7b..c2950377 100644 --- a/packages/stream_chat/lib/src/client/client.dart +++ b/packages/stream_chat/lib/src/client/client.dart @@ -1044,12 +1044,14 @@ class StreamChatClient { String channelType, List memberIds, { Message? message, + bool hideHistory = false, }) => _chatApi.channel.addMembers( channelId, channelType, memberIds, message: message, + hideHistory: hideHistory, ); /// Remove members from the channel diff --git a/packages/stream_chat/lib/src/core/api/channel_api.dart b/packages/stream_chat/lib/src/core/api/channel_api.dart index 93d17870..08f6b6e4 100644 --- a/packages/stream_chat/lib/src/core/api/channel_api.dart +++ b/packages/stream_chat/lib/src/core/api/channel_api.dart @@ -210,12 +210,14 @@ class ChannelApi { String channelType, List memberIds, { Message? message, + bool hideHistory = false, }) async { final response = await _client.post( _getChannelUrl(channelId, channelType), data: { 'add_members': memberIds, 'message': message, + 'hide_history': hideHistory, }, ); return AddMembersResponse.fromJson(response.data); diff --git a/packages/stream_chat/test/src/core/api/channel_api_test.dart b/packages/stream_chat/test/src/core/api/channel_api_test.dart index bd0403de..4e2e4fc2 100644 --- a/packages/stream_chat/test/src/core/api/channel_api_test.dart +++ b/packages/stream_chat/test/src/core/api/channel_api_test.dart @@ -376,6 +376,7 @@ void main() { const memberIds = ['test-member-id-1', 'test-member-id-2']; final channelModel = ChannelModel(id: channelId, type: channelType); final message = Message(id: 'test-message-id', text: 'members-added'); + const hideHistory = true; final path = _getChannelUrl(channelId, channelType); @@ -384,6 +385,7 @@ void main() { data: { 'add_members': memberIds, 'message': message, + 'hide_history': hideHistory, }, )).thenAnswer((_) async => successResponse(path, data: { 'channel': channelModel.toJson(), @@ -395,6 +397,7 @@ void main() { channelType, memberIds, message: message, + hideHistory: hideHistory, ); expect(res, isNotNull);