From 9f62d6486985e0f01cafc1e0e473ec08bcbf88fe Mon Sep 17 00:00:00 2001 From: VelikovPetar Date: Fri, 17 Jul 2026 09:05:20 +0200 Subject: [PATCH] fix(llc): reduce default thread participant and member limits Co-Authored-By: Claude --- packages/stream_chat/CHANGELOG.md | 1 + .../lib/src/core/api/requests.dart | 8 +++--- .../test/src/core/api/requests_test.dart | 25 +++++++++++++++++++ 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/packages/stream_chat/CHANGELOG.md b/packages/stream_chat/CHANGELOG.md index 20fb68aece..54b035ef17 100644 --- a/packages/stream_chat/CHANGELOG.md +++ b/packages/stream_chat/CHANGELOG.md @@ -6,6 +6,7 @@ 🔄 Changed +- Reduced the default `participantLimit` and `memberLimit` on `ThreadOptions` from `100` to `10`. - `StreamChatClient.updateSystemEnvironment` now sanitizes the passed `SystemEnvironment`: `sdkName`, `sdkVersion`, and `osName` are locked to internal defaults, and `sdkIdentifier` only accepts the `dart` → `flutter` promotion (other values, including a `flutter` → `dart` demotion, are ignored). `appName`, `appVersion`, `osVersion`, and `deviceModel` continue to pass through as-is. 🐞 Fixed diff --git a/packages/stream_chat/lib/src/core/api/requests.dart b/packages/stream_chat/lib/src/core/api/requests.dart index c3953e3233..8d61e0434a 100644 --- a/packages/stream_chat/lib/src/core/api/requests.dart +++ b/packages/stream_chat/lib/src/core/api/requests.dart @@ -176,8 +176,8 @@ class ThreadOptions extends Equatable { const ThreadOptions({ this.watch = true, this.replyLimit = 2, - this.participantLimit = 100, - this.memberLimit = 100, + this.participantLimit = 10, + this.memberLimit = 10, }); /// If true, the client will watch for changes in the thread. @@ -192,12 +192,12 @@ class ThreadOptions extends Equatable { /// The number of thread participants to return per thread. /// - /// Defaults to 100. + /// Defaults to 10. final int participantLimit; /// The number of members to return per thread. /// - /// Defaults to 100. + /// Defaults to 10. final int memberLimit; /// Serialize model to json diff --git a/packages/stream_chat/test/src/core/api/requests_test.dart b/packages/stream_chat/test/src/core/api/requests_test.dart index 7d58a8630f..36c25cae8f 100644 --- a/packages/stream_chat/test/src/core/api/requests_test.dart +++ b/packages/stream_chat/test/src/core/api/requests_test.dart @@ -71,5 +71,30 @@ void main() { expect(newParams.idAround, newTestString); }); }); + + group('ThreadOptions', () { + test('default', () { + const options = ThreadOptions(); + final j = options.toJson(); + expect(j, containsPair('watch', true)); + expect(j, containsPair('reply_limit', 2)); + expect(j, containsPair('participant_limit', 10)); + expect(j, containsPair('member_limit', 10)); + }); + + test('serializes provided values', () { + const options = ThreadOptions( + watch: false, + replyLimit: 5, + participantLimit: 20, + memberLimit: 20, + ); + final j = options.toJson(); + expect(j, containsPair('watch', false)); + expect(j, containsPair('reply_limit', 5)); + expect(j, containsPair('participant_limit', 20)); + expect(j, containsPair('member_limit', 20)); + }); + }); }); }