From f7b9511adb9b8edb6777a67d9f7b6bd9745f9afa Mon Sep 17 00:00:00 2001 From: Sahil Kumar Date: Mon, 26 Jul 2021 14:57:29 +0530 Subject: [PATCH] refactor(llc, core, ui): Deprecate `.user`, `.userStream` in favor of `.currentUser`, `.currentUserStream` Signed-off-by: xsahil03x --- packages/stream_chat/CHANGELOG.md | 5 +++ packages/stream_chat/example/lib/main.dart | 2 +- .../stream_chat/lib/src/client/channel.dart | 35 ++++++++-------- .../stream_chat/lib/src/client/client.dart | 40 ++++++++++++------- .../stream_chat/test/src/api/client_test.dart | 10 ++--- packages/stream_chat/test/src/fakes.dart | 2 +- packages/stream_chat_flutter/CHANGELOG.md | 5 +++ .../example/lib/split_view.dart | 2 +- .../example/lib/tutorial_part_2.dart | 2 +- .../example/lib/tutorial_part_3.dart | 2 +- .../example/lib/tutorial_part_4.dart | 2 +- .../example/lib/tutorial_part_5.dart | 5 ++- .../example/lib/tutorial_part_6.dart | 2 +- .../lib/src/attachment_actions_modal.dart | 3 +- .../lib/src/channel_avatar.dart | 4 +- .../lib/src/channel_bottom_sheet.dart | 6 +-- .../lib/src/channel_info.dart | 2 +- .../lib/src/channel_list_header.dart | 2 +- .../lib/src/channel_list_view.dart | 2 +- .../lib/src/channel_name.dart | 4 +- .../lib/src/channel_preview.dart | 7 ++-- .../lib/src/message_actions_modal.dart | 2 +- .../lib/src/message_list_view.dart | 14 ++++--- .../lib/src/message_reactions_modal.dart | 2 +- .../lib/src/message_search_item.dart | 4 +- .../lib/src/message_widget.dart | 16 ++++---- .../lib/src/reaction_bubble.dart | 2 +- .../lib/src/stream_chat.dart | 14 ++++++- .../src/attachment_actions_modal_test.dart | 20 +++++----- .../test/src/channel_header_test.dart | 30 ++++++++------ .../test/src/channel_image_test.dart | 8 ++-- .../test/src/channel_list_header_test.dart | 14 +++---- .../test/src/channel_name_test.dart | 2 +- .../test/src/channel_preview_test.dart | 5 ++- .../test/src/date_divider_test.dart | 2 +- .../test/src/deleted_message_test.dart | 8 ++-- .../test/src/full_screen_media_test.dart | 2 +- .../test/src/gradient_avatar_test.dart | 2 +- .../test/src/image_footer_test.dart | 2 +- .../test/src/info_tile_test.dart | 4 +- .../test/src/message_action_modal_test.dart | 30 +++++++------- .../test/src/message_input_test.dart | 2 +- .../src/message_reactions_modal_test.dart | 4 +- .../test/src/message_text_test.dart | 4 +- .../test/src/reaction_bubble_test.dart | 10 ++--- .../test/src/system_message_test.dart | 6 +-- .../test/src/thread_header_test.dart | 4 +- .../test/src/typing_indicator_test.dart | 2 +- .../test/src/unread_indicator_test.dart | 6 +-- .../stream_chat_flutter_core/CHANGELOG.md | 5 +++ .../example/lib/main.dart | 4 +- .../lib/src/message_list_core.dart | 2 +- .../lib/src/stream_chat_core.dart | 18 +++++++-- .../test/stream_chat_core_test.dart | 4 +- .../example/lib/main.dart | 2 +- 55 files changed, 230 insertions(+), 170 deletions(-) diff --git a/packages/stream_chat/CHANGELOG.md b/packages/stream_chat/CHANGELOG.md index 12b65f70..c7481776 100644 --- a/packages/stream_chat/CHANGELOG.md +++ b/packages/stream_chat/CHANGELOG.md @@ -1,5 +1,10 @@ ## Upcoming +🔄 Changed + +- `client.user` is now deprecated in favor of `client.currentUser`. +- `client.userStream` is now deprecated in favor of `client.currentUserStream`. + 🐞 Fixed - [#563](https://github.com/GetStream/stream-chat-flutter/issues/563): `Channel.stopWatching()` not working diff --git a/packages/stream_chat/example/lib/main.dart b/packages/stream_chat/example/lib/main.dart index 167f5f6b..46030341 100644 --- a/packages/stream_chat/example/lib/main.dart +++ b/packages/stream_chat/example/lib/main.dart @@ -245,5 +245,5 @@ class _MessageViewState extends State { /// Helper extension for quickly retrieving /// the current user id from a [StreamChatClient]. extension on StreamChatClient { - String get uid => state.user!.id; + String get uid => state.currentUser!.id; } diff --git a/packages/stream_chat/lib/src/client/channel.dart b/packages/stream_chat/lib/src/client/channel.dart index 94a07f34..a05587ab 100644 --- a/packages/stream_chat/lib/src/client/channel.dart +++ b/packages/stream_chat/lib/src/client/channel.dart @@ -65,12 +65,12 @@ class Channel { /// Returns true if the channel is muted bool get isMuted => - _client.state.user?.channelMutes + _client.state.currentUser?.channelMutes .any((element) => element.channel.cid == cid) == true; /// Returns true if the channel is muted as a stream - Stream? get isMutedStream => _client.state.userStream + Stream? get isMutedStream => _client.state.currentUserStream .map((event) => event!.channelMutes.any((element) => element.channel.cid == cid) == true) @@ -382,7 +382,7 @@ class Channel { // ignore: parameter_assignments message = message.copyWith( createdAt: message.createdAt, - user: _client.state.user, + user: _client.state.currentUser, quotedMessage: quotedMessage, status: MessageSendingStatus.sending, attachments: message.attachments.map( @@ -693,7 +693,7 @@ class Channel { _checkInitialized(); final messageId = message.id; final now = DateTime.now(); - final user = _client.state.user; + final user = _client.state.currentUser; final latestReactions = [...message.latestReactions ?? []]; if (enforceUnique) { @@ -750,7 +750,7 @@ class Channel { Future deleteReaction( Message message, Reaction reaction) async { final type = reaction.type; - final user = _client.state.user; + final user = _client.state.currentUser; final reactionCounts = {...message.reactionCounts ?? {}}; if (reactionCounts.containsKey(type)) { @@ -1314,7 +1314,7 @@ class ChannelClientState { void _computeInitialUnread() { final userRead = channelState.read.firstWhereOrNull( - (r) => r.user.id == _channel._client.state.user?.id, + (r) => r.user.id == _channel._client.state.currentUser?.id, ); if (userRead != null) { unreadCount = userRead.unreadMessages; @@ -1431,7 +1431,7 @@ class ChannelClientState { void _listenReactionDeleted() { _subscriptions.add(_channel.on(EventType.reactionDeleted).listen((event) { - final userId = _channel.client.state.user!.id; + final userId = _channel.client.state.currentUser!.id; final message = event.message!.copyWith( ownReactions: [...event.message!.latestReactions!] ..removeWhere((it) => it.userId != userId), @@ -1442,7 +1442,7 @@ class ChannelClientState { void _listenReactions() { _subscriptions.add(_channel.on(EventType.reactionNew).listen((event) { - final userId = _channel.client.state.user!.id; + final userId = _channel.client.state.currentUser!.id; final message = event.message!.copyWith( ownReactions: [...event.message!.latestReactions!] ..removeWhere((it) => it.userId != userId), @@ -1458,7 +1458,7 @@ class ChannelClientState { EventType.reactionUpdated, ) .listen((event) { - final userId = _channel.client.state.user!.id; + final userId = _channel.client.state.currentUser!.id; final message = event.message!.copyWith( ownReactions: [...event.message!.latestReactions!] ..removeWhere((it) => it.userId != userId), @@ -1552,7 +1552,7 @@ class ChannelClientState { if (userReadIndex != null && userReadIndex != -1) { final userRead = readList.removeAt(userReadIndex); - if (userRead.user.id == _channel._client.state.user!.id) { + if (userRead.user.id == _channel._client.state.currentUser!.id) { unreadCount = 0; } readList.add(Read( @@ -1642,11 +1642,12 @@ class ChannelClientState { int get unreadCount => _unreadCountController.value; bool _countMessageAsUnread(Message message) { - final userId = _channel.client.state.user?.id; - final userIsMuted = _channel.client.state.user?.mutes.firstWhereOrNull( - (m) => m.user.id == message.user?.id, - ) != - null; + final userId = _channel.client.state.currentUser?.id; + final userIsMuted = + _channel.client.state.currentUser?.mutes.firstWhereOrNull( + (m) => m.user.id == message.user?.id, + ) != + null; return message.silent != true && message.shadowed != true && message.user?.id != userId && @@ -1795,7 +1796,7 @@ class ChannelClientState { (event) { if (event.user != null) { final user = event.user!; - if (user.id != _channel.client.state.user?.id) { + if (user.id != _channel.client.state.currentUser?.id) { _typings[user] = event; _typingEventsController.add(_typings); } @@ -1808,7 +1809,7 @@ class ChannelClientState { (event) { if (event.user != null) { final user = event.user!; - if (user.id != _channel.client.state.user?.id) { + if (user.id != _channel.client.state.currentUser?.id) { _typings.remove(event.user); _typingEventsController.add(_typings); } diff --git a/packages/stream_chat/lib/src/client/client.dart b/packages/stream_chat/lib/src/client/client.dart index 6f90fe2f..a43f7f57 100644 --- a/packages/stream_chat/lib/src/client/client.dart +++ b/packages/stream_chat/lib/src/client/client.dart @@ -316,7 +316,7 @@ class StreamChatClient { ); final ownUser = OwnUser.fromUser(user); - state.user = ownUser; + state.currentUser = ownUser; if (!connectWebSocket) { return ownUser; @@ -342,12 +342,12 @@ class StreamChatClient { /// Creates a new WebSocket connection with the current user. Future openConnection() async { assert( - state.user != null, + state.currentUser != null, 'User is not set on client, ' 'use `connectUser` or `connectAnonymousUser` instead', ); - final user = state.user!; + final user = state.currentUser!; logger.info('Opening web-socket connection for ${user.id}'); @@ -386,7 +386,7 @@ class StreamChatClient { void closeConnection() { if (wsConnectionStatus == ConnectionStatus.disconnected) return; - logger.info('Closing web-socket connection for ${state.user?.id}'); + logger.info('Closing web-socket connection for ${state.currentUser?.id}'); _wsConnectionStatus = ConnectionStatus.disconnected; _connectionStatusSubscription?.cancel(); @@ -397,7 +397,7 @@ class StreamChatClient { void _handleHealthCheckEvent(Event event) { final user = event.me; - if (user != null) state.user = user; + if (user != null) state.currentUser = user; final connectionId = event.connectionId; if (connectionId != null) { @@ -1298,7 +1298,7 @@ class StreamChatClient { /// If [flushChatPersistence] is true the client deletes all offline /// user's data. Future disconnectUser({bool flushChatPersistence = false}) async { - logger.info('Disconnecting user : ${state.user?.id}'); + logger.info('Disconnecting user : ${state.currentUser?.id}'); // resetting state state.dispose(); @@ -1344,7 +1344,7 @@ class ClientState { .where((event) => event.me != null) .map((e) => e.me) .listen((user) { - _userController.add(user); + _currentUserController.add(user); final totalUnreadCount = user?.totalUnreadCount; if (totalUnreadCount != null) { _totalUnreadCountController.add(totalUnreadCount); @@ -1394,8 +1394,8 @@ class ClientState { void _listenUserUpdated() { _subscriptions.add(_client.on(EventType.userUpdated).listen((event) { - if (event.user!.id == user!.id) { - user = OwnUser.fromJson(event.user!.toJson()); + if (event.user!.id == currentUser!.id) { + currentUser = OwnUser.fromJson(event.user!.toJson()); } updateUser(event.user); })); @@ -1418,8 +1418,8 @@ class ClientState { final StreamChatClient _client; /// Update user information - set user(OwnUser? user) { - _userController.add(user); + set currentUser(OwnUser? user) { + _currentUserController.add(user); } /// Update all the [users] with the provided [userList] @@ -1436,10 +1436,20 @@ class ClientState { void updateUser(User? user) => updateUsers([user]); /// The current user - OwnUser? get user => _userController.valueOrNull; + OwnUser? get currentUser => _currentUserController.valueOrNull; /// The current user as a stream - Stream get userStream => _userController.stream; + Stream get currentUserStream => _currentUserController.stream; + + /// The current user + @Deprecated('Use `.currentUser` instead, Will be removed in future releases') + OwnUser? get user => _currentUserController.valueOrNull; + + /// The current user as a stream + @Deprecated( + 'Use `.currentUserStream` instead, Will be removed in future releases', + ) + Stream get userStream => _currentUserController.stream; /// The current user Map get users => _usersController.value; @@ -1471,7 +1481,7 @@ class ClientState { } final _channelsController = BehaviorSubject>.seeded({}); - final _userController = BehaviorSubject(); + final _currentUserController = BehaviorSubject(); final _usersController = BehaviorSubject>.seeded({}); final _unreadChannelsController = BehaviorSubject.seeded(0); final _totalUnreadCountController = BehaviorSubject.seeded(0); @@ -1479,7 +1489,7 @@ class ClientState { /// Call this method to dispose this object void dispose() { _subscriptions.forEach((s) => s.cancel()); - _userController.close(); + _currentUserController.close(); _unreadChannelsController.close(); _totalUnreadCountController.close(); channels.values.forEach((c) => c.dispose()); diff --git a/packages/stream_chat/test/src/api/client_test.dart b/packages/stream_chat/test/src/api/client_test.dart index 423445ec..4ae594d1 100644 --- a/packages/stream_chat/test/src/api/client_test.dart +++ b/packages/stream_chat/test/src/api/client_test.dart @@ -155,7 +155,7 @@ void main() { group('`.openConnection`', () { test('should throw if state does not contain user', () async { - expect(client.state.user, isNull); + expect(client.state.currentUser, isNull); try { await client.openConnection(); } catch (e) { @@ -164,7 +164,7 @@ void main() { }); test('should throw if connection is already in progress', () async { - expect(client.state.user, isNull); + expect(client.state.currentUser, isNull); try { await client.connectAnonymousUser(); await client.openConnection(); @@ -179,7 +179,7 @@ void main() { }); test('should throw if connection is already available', () async { - expect(client.state.user, isNull); + expect(client.state.currentUser, isNull); try { await client.connectAnonymousUser(); // waiting 300ms for `wsConnectionStatusStream` to emit @@ -799,7 +799,7 @@ void main() { }); test('`.disconnectUser` should reset state and user', () async { - expect(client.state.user, isNotNull); + expect(client.state.currentUser, isNotNull); expect(client.wsConnectionStatus, ConnectionStatus.connected); expectLater( @@ -810,7 +810,7 @@ void main() { await client.disconnectUser(); - expect(client.state.user, isNull); + expect(client.state.currentUser, isNull); expect(client.wsConnectionStatus, ConnectionStatus.disconnected); }); }); diff --git a/packages/stream_chat/test/src/fakes.dart b/packages/stream_chat/test/src/fakes.dart index 15d5991c..8d3f6d37 100644 --- a/packages/stream_chat/test/src/fakes.dart +++ b/packages/stream_chat/test/src/fakes.dart @@ -89,7 +89,7 @@ class FakeChatApi extends Fake implements StreamChatApi { class FakeClientState extends Fake implements ClientState { @override - OwnUser? get user => OwnUser(id: 'test-user-id'); + OwnUser? get currentUser => OwnUser(id: 'test-user-id'); @override int totalUnreadCount = 0; diff --git a/packages/stream_chat_flutter/CHANGELOG.md b/packages/stream_chat_flutter/CHANGELOG.md index 16e65fa7..41e4fa5d 100644 --- a/packages/stream_chat_flutter/CHANGELOG.md +++ b/packages/stream_chat_flutter/CHANGELOG.md @@ -5,6 +5,11 @@ - Added `MessageListView.paginationLimit` - Allow the various ListView widgets to be themed via ThemeData classes +🔄 Changed + +- `StreamChat.of(context).user` is now deprecated in favor of `StreamChat.of(context).currentUser`. +- `StreamChat.of(context).userStream` is now deprecated in favor of `StreamChat.of(context).currentUserStream`. + 🐞 Fixed - Fix floating date divider not having a fixed size diff --git a/packages/stream_chat_flutter/example/lib/split_view.dart b/packages/stream_chat_flutter/example/lib/split_view.dart index 454071a6..52c0e885 100644 --- a/packages/stream_chat_flutter/example/lib/split_view.dart +++ b/packages/stream_chat_flutter/example/lib/split_view.dart @@ -103,7 +103,7 @@ class ChannelListPage extends StatelessWidget { : null, filter: Filter.in_( 'members', - [StreamChat.of(context).user!.id], + [StreamChat.of(context).currentUser!.id], ), sort: const [SortOption('last_message_at')], pagination: const PaginationParams( diff --git a/packages/stream_chat_flutter/example/lib/tutorial_part_2.dart b/packages/stream_chat_flutter/example/lib/tutorial_part_2.dart index 79f8674c..5fa9cfdb 100644 --- a/packages/stream_chat_flutter/example/lib/tutorial_part_2.dart +++ b/packages/stream_chat_flutter/example/lib/tutorial_part_2.dart @@ -80,7 +80,7 @@ class ChannelListPage extends StatelessWidget { child: ChannelListView( filter: Filter.in_( 'members', - [StreamChat.of(context).user!.id], + [StreamChat.of(context).currentUser!.id], ), sort: const [SortOption('last_message_at')], pagination: const PaginationParams( diff --git a/packages/stream_chat_flutter/example/lib/tutorial_part_3.dart b/packages/stream_chat_flutter/example/lib/tutorial_part_3.dart index 78081c85..9658eec4 100644 --- a/packages/stream_chat_flutter/example/lib/tutorial_part_3.dart +++ b/packages/stream_chat_flutter/example/lib/tutorial_part_3.dart @@ -81,7 +81,7 @@ class ChannelListPage extends StatelessWidget { child: ChannelListView( filter: Filter.in_( 'members', - [StreamChat.of(context).user!.id], + [StreamChat.of(context).currentUser!.id], ), channelPreviewBuilder: _channelPreviewBuilder, // sort: [SortOption('last_message_at')], diff --git a/packages/stream_chat_flutter/example/lib/tutorial_part_4.dart b/packages/stream_chat_flutter/example/lib/tutorial_part_4.dart index 07942302..df94cf06 100644 --- a/packages/stream_chat_flutter/example/lib/tutorial_part_4.dart +++ b/packages/stream_chat_flutter/example/lib/tutorial_part_4.dart @@ -66,7 +66,7 @@ class ChannelListPage extends StatelessWidget { child: ChannelListView( filter: Filter.in_( 'members', - [StreamChat.of(context).user!.id], + [StreamChat.of(context).currentUser!.id], ), sort: const [SortOption('last_message_at')], pagination: const PaginationParams( diff --git a/packages/stream_chat_flutter/example/lib/tutorial_part_5.dart b/packages/stream_chat_flutter/example/lib/tutorial_part_5.dart index dbbf31a0..b9089d6a 100644 --- a/packages/stream_chat_flutter/example/lib/tutorial_part_5.dart +++ b/packages/stream_chat_flutter/example/lib/tutorial_part_5.dart @@ -72,7 +72,7 @@ class ChannelListPage extends StatelessWidget { child: ChannelListView( filter: Filter.in_( 'members', - [StreamChat.of(context).user!.id], + [StreamChat.of(context).currentUser!.id], ), sort: const [SortOption('last_message_at')], pagination: const PaginationParams( @@ -115,7 +115,8 @@ class ChannelPage extends StatelessWidget { MessageWidget _, ) { final message = details.message; - final isCurrentUser = StreamChat.of(context).user!.id == message.user!.id; + final isCurrentUser = + StreamChat.of(context).currentUser!.id == message.user!.id; final textAlign = isCurrentUser ? TextAlign.right : TextAlign.left; final color = isCurrentUser ? Colors.blueGrey : Colors.blue; diff --git a/packages/stream_chat_flutter/example/lib/tutorial_part_6.dart b/packages/stream_chat_flutter/example/lib/tutorial_part_6.dart index fcf86b5c..cf94b568 100644 --- a/packages/stream_chat_flutter/example/lib/tutorial_part_6.dart +++ b/packages/stream_chat_flutter/example/lib/tutorial_part_6.dart @@ -99,7 +99,7 @@ class ChannelListPage extends StatelessWidget { child: ChannelListView( filter: Filter.in_( 'members', - [StreamChat.of(context).user!.id], + [StreamChat.of(context).currentUser!.id], ), sort: const [SortOption('last_message_at')], pagination: const PaginationParams( diff --git a/packages/stream_chat_flutter/lib/src/attachment_actions_modal.dart b/packages/stream_chat_flutter/lib/src/attachment_actions_modal.dart index ea189b91..2c0db4c1 100644 --- a/packages/stream_chat_flutter/lib/src/attachment_actions_modal.dart +++ b/packages/stream_chat_flutter/lib/src/attachment_actions_modal.dart @@ -138,7 +138,8 @@ class AttachmentActionsModal extends StatelessWidget { ); }, ), - if (StreamChat.of(context).user?.id == message.user?.id) + if (StreamChat.of(context).currentUser?.id == + message.user?.id) _buildButton( context, 'Delete', diff --git a/packages/stream_chat_flutter/lib/src/channel_avatar.dart b/packages/stream_chat_flutter/lib/src/channel_avatar.dart index 4ab6ba31..551fd278 100644 --- a/packages/stream_chat_flutter/lib/src/channel_avatar.dart +++ b/packages/stream_chat_flutter/lib/src/channel_avatar.dart @@ -141,7 +141,7 @@ class ChannelAvatar extends StatelessWidget { return child; } - final currentUser = streamChat.user!; + final currentUser = streamChat.currentUser!; final otherMembers = channel.state!.members .where((it) => it.userId != currentUser.id) .toList(growable: false); @@ -149,7 +149,7 @@ class ChannelAvatar extends StatelessWidget { // our own space, no other members if (otherMembers.isEmpty) { return BetterStreamBuilder( - stream: streamChat.client.state.userStream.map((it) => it!), + stream: streamChat.client.state.currentUserStream.map((it) => it!), initialData: currentUser, builder: (context, user) => UserAvatar( borderRadius: borderRadius ?? previewTheme?.borderRadius, diff --git a/packages/stream_chat_flutter/lib/src/channel_bottom_sheet.dart b/packages/stream_chat_flutter/lib/src/channel_bottom_sheet.dart index 368bfbd8..0d40c67a 100644 --- a/packages/stream_chat_flutter/lib/src/channel_bottom_sheet.dart +++ b/packages/stream_chat_flutter/lib/src/channel_bottom_sheet.dart @@ -27,8 +27,8 @@ class _ChannelBottomSheetState extends State { final members = channel.state?.members ?? []; - final userAsMember = - members.firstWhere((e) => e.user?.id == _streamChatState.user?.id); + final userAsMember = members + .firstWhere((e) => e.user?.id == _streamChatState.currentUser?.id); final isOwner = userAsMember.role == 'owner'; return Material( @@ -247,7 +247,7 @@ class _ChannelBottomSheetState extends State { ); if (res == true) { final channel = _streamChannelState.channel; - final user = _streamChatState.user; + final user = _streamChatState.currentUser; if (user != null) { await channel.removeMembers([user.id]); } diff --git a/packages/stream_chat_flutter/lib/src/channel_info.dart b/packages/stream_chat_flutter/lib/src/channel_info.dart index 3be26ec8..89894324 100644 --- a/packages/stream_chat_flutter/lib/src/channel_info.dart +++ b/packages/stream_chat_flutter/lib/src/channel_info.dart @@ -67,7 +67,7 @@ class ChannelInfo extends StatelessWidget { .subtitle, ); } else { - final userId = StreamChat.of(context).user?.id; + final userId = StreamChat.of(context).currentUser?.id; final otherMember = members?.firstWhereOrNull( (element) => element.userId != userId, ); diff --git a/packages/stream_chat_flutter/lib/src/channel_list_header.dart b/packages/stream_chat_flutter/lib/src/channel_list_header.dart index 0db31f80..ae017090 100644 --- a/packages/stream_chat_flutter/lib/src/channel_list_header.dart +++ b/packages/stream_chat_flutter/lib/src/channel_list_header.dart @@ -95,7 +95,7 @@ class ChannelListHeader extends StatelessWidget implements PreferredSizeWidget { @override Widget build(BuildContext context) { final _client = client ?? StreamChat.of(context).client; - final user = _client.state.user; + final user = _client.state.currentUser; return ConnectionStatusBuilder( statusBuilder: (context, status) { var statusString = ''; diff --git a/packages/stream_chat_flutter/lib/src/channel_list_view.dart b/packages/stream_chat_flutter/lib/src/channel_list_view.dart index e3340ec7..32dde4b6 100644 --- a/packages/stream_chat_flutter/lib/src/channel_list_view.dart +++ b/packages/stream_chat_flutter/lib/src/channel_list_view.dart @@ -552,7 +552,7 @@ class _ChannelListViewState extends State { 'owner', ].contains(channel.state!.members .firstWhereOrNull( - (m) => m.userId == channel.client.state.user?.id) + (m) => m.userId == channel.client.state.currentUser?.id) ?.role)) IconSlideAction( color: backgroundColor, diff --git a/packages/stream_chat_flutter/lib/src/channel_name.dart b/packages/stream_chat_flutter/lib/src/channel_name.dart index 4819ecc7..73a6c663 100644 --- a/packages/stream_chat_flutter/lib/src/channel_name.dart +++ b/packages/stream_chat_flutter/lib/src/channel_name.dart @@ -46,8 +46,8 @@ class ChannelName extends StatelessWidget { builder: (context, constraints) { var title = 'No title'; if (extraData['name'] == null) { - final otherMembers = - members?.where((member) => member.userId != client.user!.id); + final otherMembers = members + ?.where((member) => member.userId != client.currentUser!.id); if (otherMembers?.length == 1) { if (otherMembers!.first.user != null) { title = otherMembers.first.user!.name; diff --git a/packages/stream_chat_flutter/lib/src/channel_preview.dart b/packages/stream_chat_flutter/lib/src/channel_preview.dart index bf615248..81d09e3c 100644 --- a/packages/stream_chat_flutter/lib/src/channel_preview.dart +++ b/packages/stream_chat_flutter/lib/src/channel_preview.dart @@ -101,7 +101,7 @@ class ChannelPreview extends StatelessWidget { if (members?.isEmpty == true || members?.any((Member e) => e.user!.id == - channel.client.state.user?.id) != + channel.client.state.currentUser?.id) != true) { return const SizedBox(); } @@ -124,7 +124,7 @@ class ChannelPreview extends StatelessWidget { (m) => !m.isDeleted && m.shadowed != true, ); if (lastMessage?.user?.id == - streamChatState.user?.id) { + streamChatState.currentUser?.id) { return Padding( padding: const EdgeInsets.only(right: 4), child: SendingIndicator( @@ -133,7 +133,8 @@ class ChannelPreview extends StatelessWidget { isMessageRead: channel.state!.read ?.where((element) => element.user.id != - channel.client.state.user!.id) + channel + .client.state.currentUser!.id) .where((element) => element.lastRead .isAfter(lastMessage.createdAt)) .isNotEmpty == diff --git a/packages/stream_chat_flutter/lib/src/message_actions_modal.dart b/packages/stream_chat_flutter/lib/src/message_actions_modal.dart index 3e653187..128918ad 100644 --- a/packages/stream_chat_flutter/lib/src/message_actions_modal.dart +++ b/packages/stream_chat_flutter/lib/src/message_actions_modal.dart @@ -101,7 +101,7 @@ class _MessageActionsModalState extends State { Widget _showMessageOptionsModal() { final mediaQueryData = MediaQuery.of(context); final size = mediaQueryData.size; - final user = StreamChat.of(context).user; + final user = StreamChat.of(context).currentUser; final roughMaxSize = 2 * size.width / 3; var messageTextLength = widget.message.text!.length; diff --git a/packages/stream_chat_flutter/lib/src/message_list_view.dart b/packages/stream_chat_flutter/lib/src/message_list_view.dart index cdc088f0..635e86c1 100644 --- a/packages/stream_chat_flutter/lib/src/message_list_view.dart +++ b/packages/stream_chat_flutter/lib/src/message_list_view.dart @@ -703,7 +703,8 @@ class _MessageListViewState extends State { final unreadCount = snapshot.data!.item2; final showUnreadCount = unreadCount > 0 && streamChannel!.channel.state!.members.any((e) => - e.userId == streamChannel!.channel.client.state.user!.id); + e.userId == + streamChannel!.channel.client.state.currentUser!.id); return Positioned( bottom: 8, right: 8, @@ -809,9 +810,10 @@ class _MessageListViewState extends State { Widget buildParentMessage( Message message, ) { - final isMyMessage = message.user!.id == StreamChat.of(context).user!.id; + final isMyMessage = + message.user!.id == StreamChat.of(context).currentUser!.id; final isOnlyEmoji = message.text!.isOnlyEmoji; - final currentUser = StreamChat.of(context).user; + final currentUser = StreamChat.of(context).currentUser; final members = StreamChannel.of(context).channel.state?.members ?? []; final currentUserMember = members.firstWhereOrNull((e) => e.user!.id == currentUser!.id); @@ -896,7 +898,7 @@ class _MessageListViewState extends State { ); } - final userId = StreamChat.of(context).user!.id; + final userId = StreamChat.of(context).currentUser!.id; final isMyMessage = message.user!.id == userId; final nextMessage = index - 1 >= 0 ? messages[index - 1] : null; final isNextUserSame = @@ -959,7 +961,7 @@ class _MessageListViewState extends State { ? BorderSide.none : null; - final currentUser = StreamChat.of(context).user; + final currentUser = StreamChat.of(context).currentUser; final members = StreamChannel.of(context).channel.state?.members ?? []; final currentUserMember = members.firstWhere((e) => e.user!.id == currentUser!.id); @@ -1165,7 +1167,7 @@ class _MessageListViewState extends State { _topPaginationActive = false; } if (event.message!.user!.id == - streamChannel!.channel.client.state.user!.id) { + streamChannel!.channel.client.state.currentUser!.id) { WidgetsBinding.instance!.addPostFrameCallback((_) { _scrollController?.jumpTo( index: 0, diff --git a/packages/stream_chat_flutter/lib/src/message_reactions_modal.dart b/packages/stream_chat_flutter/lib/src/message_reactions_modal.dart index 3d9a907e..fadef6ff 100644 --- a/packages/stream_chat_flutter/lib/src/message_reactions_modal.dart +++ b/packages/stream_chat_flutter/lib/src/message_reactions_modal.dart @@ -42,7 +42,7 @@ class MessageReactionsModal extends StatelessWidget { @override Widget build(BuildContext context) { final size = MediaQuery.of(context).size; - final user = StreamChat.of(context).user; + final user = StreamChat.of(context).currentUser; final roughMaxSize = 2 * size.width / 3; var messageTextLength = message.text!.length; diff --git a/packages/stream_chat_flutter/lib/src/message_search_item.dart b/packages/stream_chat_flutter/lib/src/message_search_item.dart index 1f8a31ea..d44ddd0d 100644 --- a/packages/stream_chat_flutter/lib/src/message_search_item.dart +++ b/packages/stream_chat_flutter/lib/src/message_search_item.dart @@ -49,7 +49,9 @@ class MessageSearchItem extends StatelessWidget { title: Row( children: [ Text( - user.id == StreamChat.of(context).user?.id ? 'You' : user.name, + user.id == StreamChat.of(context).currentUser?.id + ? 'You' + : user.name, style: chatThemeData.channelPreviewTheme.title, ), if (channelName != null) ...[ diff --git a/packages/stream_chat_flutter/lib/src/message_widget.dart b/packages/stream_chat_flutter/lib/src/message_widget.dart index c9dfd9d4..e73f3a6d 100644 --- a/packages/stream_chat_flutter/lib/src/message_widget.dart +++ b/packages/stream_chat_flutter/lib/src/message_widget.dart @@ -810,7 +810,7 @@ class _MessageWidgetState extends State } Widget _buildQuotedMessage() { - final isMyMessage = widget.message.user?.id == _streamChat.user?.id; + final isMyMessage = widget.message.user?.id == _streamChat.currentUser?.id; final onTap = widget.message.quotedMessage?.isDeleted != true && widget.onQuotedMessageTap != null ? () => widget.onQuotedMessageTap!(widget.message.quotedMessageId) @@ -993,7 +993,7 @@ class _MessageWidgetState extends State Widget _buildReactionIndicator( BuildContext context, ) { - final ownId = _streamChat.user!.id; + final ownId = _streamChat.currentUser!.id; final reactionsMap = {}; widget.message.latestReactions?.forEach((element) { if (!reactionsMap.containsKey(element.type) || @@ -1054,10 +1054,10 @@ class _MessageWidgetState extends State showReactionPickerIndicator: widget.showReactions && (widget.message.status == MessageSendingStatus.sent), showPinHighlight: false, - showUserAvatar: - widget.message.user!.id == channel.client.state.user!.id - ? DisplayWidget.gone - : DisplayWidget.show, + showUserAvatar: widget.message.user!.id == + channel.client.state.currentUser!.id + ? DisplayWidget.gone + : DisplayWidget.show, ), onCopyTap: (message) => Clipboard.setData(ClipboardData(text: message.text)), @@ -1118,7 +1118,7 @@ class _MessageWidgetState extends State (widget.message.status == MessageSendingStatus.sent), showPinHighlight: false, showUserAvatar: - widget.message.user!.id == channel.client.state.user!.id + widget.message.user!.id == channel.client.state.currentUser!.id ? DisplayWidget.gone : DisplayWidget.show, ), @@ -1276,7 +1276,7 @@ class _MessageWidgetState extends State Widget _buildPinnedMessage(Message message) { final pinnedBy = message.pinnedBy; - final pinnedByMe = _streamChat.user!.id == pinnedBy!.id; + final pinnedByMe = _streamChat.currentUser!.id == pinnedBy!.id; return Padding( padding: const EdgeInsets.only(left: 8, right: 8, top: 4, bottom: 8), diff --git a/packages/stream_chat_flutter/lib/src/reaction_bubble.dart b/packages/stream_chat_flutter/lib/src/reaction_bubble.dart index 9e279344..ecc2b27a 100644 --- a/packages/stream_chat_flutter/lib/src/reaction_bubble.dart +++ b/packages/stream_chat_flutter/lib/src/reaction_bubble.dart @@ -123,7 +123,7 @@ class ReactionBubble extends StatelessWidget { ); final chatThemeData = StreamChatTheme.of(context); - final userId = StreamChat.of(context).user?.id; + final userId = StreamChat.of(context).currentUser?.id; return Padding( padding: const EdgeInsets.symmetric( horizontal: 4, diff --git a/packages/stream_chat_flutter/lib/src/stream_chat.dart b/packages/stream_chat_flutter/lib/src/stream_chat.dart index 66add133..35946634 100644 --- a/packages/stream_chat_flutter/lib/src/stream_chat.dart +++ b/packages/stream_chat_flutter/lib/src/stream_chat.dart @@ -127,10 +127,20 @@ class StreamChatState extends State { } /// The current user - User? get user => widget.client.state.user; + @Deprecated('Use `.currentUser` instead, Will be removed in future releases') + User? get user => widget.client.state.currentUser; /// The current user as a stream - Stream get userStream => widget.client.state.userStream; + @Deprecated( + 'Use `.currentUserStream` instead, Will be removed in future releases', + ) + Stream get userStream => widget.client.state.currentUserStream; + + /// The current user + User? get currentUser => widget.client.state.currentUser; + + /// The current user as a stream + Stream get currentUserStream => widget.client.state.currentUserStream; @override void initState() { diff --git a/packages/stream_chat_flutter/test/src/attachment_actions_modal_test.dart b/packages/stream_chat_flutter/test/src/attachment_actions_modal_test.dart index 3f210742..c8832f6f 100644 --- a/packages/stream_chat_flutter/test/src/attachment_actions_modal_test.dart +++ b/packages/stream_chat_flutter/test/src/attachment_actions_modal_test.dart @@ -35,7 +35,7 @@ void main() { final clientState = MockClientState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); final themeData = ThemeData(); final streamTheme = StreamChatThemeData.fromTheme(themeData); @@ -77,7 +77,7 @@ void main() { final clientState = MockClientState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id2')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id2')); final themeData = ThemeData(); final streamTheme = StreamChatThemeData.fromTheme(themeData); @@ -119,7 +119,7 @@ void main() { final clientState = MockClientState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); final themeData = ThemeData(); final streamTheme = StreamChatThemeData.fromTheme(themeData); @@ -160,7 +160,7 @@ void main() { final clientState = MockClientState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); final themeData = ThemeData(); final streamTheme = StreamChatThemeData.fromTheme(themeData); @@ -207,7 +207,7 @@ void main() { final clientState = MockClientState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); final themeData = ThemeData(); final streamTheme = StreamChatThemeData.fromTheme(themeData); @@ -254,7 +254,7 @@ void main() { when(() => mockChannel.updateMessage(any())) .thenAnswer((_) async => UpdateMessageResponse()); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); final message = Message( text: 'test', @@ -308,7 +308,7 @@ void main() { when(() => mockChannel.updateMessage(any())) .thenAnswer((_) async => UpdateMessageResponse()); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); final message = Message( text: 'test', @@ -357,7 +357,7 @@ void main() { when(() => mockChannel.deleteMessage(any())) .thenAnswer((_) async => EmptyResponse()); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); final message = Message( user: User( @@ -399,7 +399,7 @@ void main() { final clientState = MockClientState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); final imageDownloader = MockAttachmentDownloader(); @@ -454,7 +454,7 @@ void main() { final clientState = MockClientState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); final fileDownloader = MockAttachmentDownloader(); diff --git a/packages/stream_chat_flutter/test/src/channel_header_test.dart b/packages/stream_chat_flutter/test/src/channel_header_test.dart index 211a7132..f7157871 100644 --- a/packages/stream_chat_flutter/test/src/channel_header_test.dart +++ b/packages/stream_chat_flutter/test/src/channel_header_test.dart @@ -18,8 +18,9 @@ void main() { final lastMessageAt = DateTime.parse('2020-06-22 12:00:00'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(user); - when(() => clientState.userStream).thenAnswer((_) => Stream.value(user)); + when(() => clientState.currentUser).thenReturn(user); + when(() => clientState.currentUserStream) + .thenAnswer((_) => Stream.value(user)); when(() => channel.lastMessageAt).thenReturn(lastMessageAt); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); @@ -82,8 +83,9 @@ void main() { final lastMessageAt = DateTime.parse('2020-06-22 12:00:00'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(user); - when(() => clientState.userStream).thenAnswer((_) => Stream.value(user)); + when(() => clientState.currentUser).thenReturn(user); + when(() => clientState.currentUserStream) + .thenAnswer((_) => Stream.value(user)); when(() => channel.lastMessageAt).thenReturn(lastMessageAt); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); @@ -149,8 +151,9 @@ void main() { final lastMessageAt = DateTime.parse('2020-06-22 12:00:00'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(user); - when(() => clientState.userStream).thenAnswer((_) => Stream.value(user)); + when(() => clientState.currentUser).thenReturn(user); + when(() => clientState.currentUserStream) + .thenAnswer((_) => Stream.value(user)); when(() => channel.lastMessageAt).thenReturn(lastMessageAt); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); @@ -217,8 +220,9 @@ void main() { final lastMessageAt = DateTime.parse('2020-06-22 12:00:00'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(user); - when(() => clientState.userStream).thenAnswer((_) => Stream.value(user)); + when(() => clientState.currentUser).thenReturn(user); + when(() => clientState.currentUserStream) + .thenAnswer((_) => Stream.value(user)); when(() => channel.lastMessageAt).thenReturn(lastMessageAt); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); @@ -293,8 +297,9 @@ void main() { final lastMessageAt = DateTime.parse('2020-06-22 12:00:00'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(user); - when(() => clientState.userStream).thenAnswer((_) => Stream.value(user)); + when(() => clientState.currentUser).thenReturn(user); + when(() => clientState.currentUserStream) + .thenAnswer((_) => Stream.value(user)); when(() => channel.lastMessageAt).thenReturn(lastMessageAt); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); @@ -360,8 +365,9 @@ void main() { final lastMessageAt = DateTime.parse('2020-06-22 12:00:00'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(user); - when(() => clientState.userStream).thenAnswer((_) => Stream.value(user)); + when(() => clientState.currentUser).thenReturn(user); + when(() => clientState.currentUserStream) + .thenAnswer((_) => Stream.value(user)); when(() => channel.lastMessageAt).thenReturn(lastMessageAt); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); diff --git a/packages/stream_chat_flutter/test/src/channel_image_test.dart b/packages/stream_chat_flutter/test/src/channel_image_test.dart index 7c620774..c9293e79 100644 --- a/packages/stream_chat_flutter/test/src/channel_image_test.dart +++ b/packages/stream_chat_flutter/test/src/channel_image_test.dart @@ -17,7 +17,7 @@ void main() { final channelState = MockChannelState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); when(() => channel.extraDataStream).thenAnswer((i) => Stream.value({ @@ -56,7 +56,7 @@ void main() { final channelState = MockChannelState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); when(() => channel.extraDataStream).thenAnswer((i) => Stream.value({ @@ -135,7 +135,7 @@ void main() { final currentUser = OwnUser(id: 'user-id'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(currentUser); + when(() => clientState.currentUser).thenReturn(currentUser); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); when(() => channel.extraDataStream).thenAnswer((i) => Stream.value({ @@ -207,7 +207,7 @@ void main() { final channelState = MockChannelState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); when(() => channel.extraDataStream).thenAnswer((i) => Stream.value({ diff --git a/packages/stream_chat_flutter/test/src/channel_list_header_test.dart b/packages/stream_chat_flutter/test/src/channel_list_header_test.dart index f2f054d4..a2783067 100644 --- a/packages/stream_chat_flutter/test/src/channel_list_header_test.dart +++ b/packages/stream_chat_flutter/test/src/channel_list_header_test.dart @@ -13,7 +13,7 @@ void main() { final clientState = MockClientState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => client.wsConnectionStatusStream) .thenAnswer((_) => Stream.value(ConnectionStatus.connected)); @@ -30,7 +30,7 @@ void main() { await tester.pumpAndSettle(); final userAvatar = tester.widget(find.byType(UserAvatar)); - expect(userAvatar.user, clientState.user); + expect(userAvatar.user, clientState.currentUser); expect(find.byType(StreamNeumorphicButton), findsOneWidget); expect(find.text('Stream Chat'), findsOneWidget); }, @@ -43,7 +43,7 @@ void main() { final clientState = MockClientState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => client.wsConnectionStatusStream) .thenAnswer((_) => Stream.value(ConnectionStatus.disconnected)); @@ -72,7 +72,7 @@ void main() { final clientState = MockClientState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => client.wsConnectionStatusStream) .thenAnswer((_) => Stream.value(ConnectionStatus.connecting)); @@ -101,7 +101,7 @@ void main() { final clientState = MockClientState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => client.wsConnectionStatusStream) .thenAnswer((_) => Stream.value(ConnectionStatus.connecting)); @@ -139,7 +139,7 @@ void main() { final clientState = MockClientState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => client.wsConnectionStatusStream) .thenAnswer((_) => Stream.value(ConnectionStatus.connecting)); @@ -173,7 +173,7 @@ void main() { final clientState = MockClientState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => client.wsConnectionStatusStream) .thenAnswer((_) => Stream.value(ConnectionStatus.connecting)); diff --git a/packages/stream_chat_flutter/test/src/channel_name_test.dart b/packages/stream_chat_flutter/test/src/channel_name_test.dart index c8d3df9b..fc868eb0 100644 --- a/packages/stream_chat_flutter/test/src/channel_name_test.dart +++ b/packages/stream_chat_flutter/test/src/channel_name_test.dart @@ -16,7 +16,7 @@ void main() { final lastMessageAt = DateTime.parse('2020-06-22 12:00:00'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => channel.lastMessageAt).thenReturn(lastMessageAt); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); diff --git a/packages/stream_chat_flutter/test/src/channel_preview_test.dart b/packages/stream_chat_flutter/test/src/channel_preview_test.dart index 6add0c60..7d0c549e 100644 --- a/packages/stream_chat_flutter/test/src/channel_preview_test.dart +++ b/packages/stream_chat_flutter/test/src/channel_preview_test.dart @@ -18,8 +18,9 @@ void main() { when(() => channel.cid).thenReturn('cid'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(user); - when(() => clientState.userStream).thenAnswer((_) => Stream.value(user)); + when(() => clientState.currentUser).thenReturn(user); + when(() => clientState.currentUserStream) + .thenAnswer((_) => Stream.value(user)); when(() => channel.lastMessageAt).thenReturn(lastMessageAt); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); diff --git a/packages/stream_chat_flutter/test/src/date_divider_test.dart b/packages/stream_chat_flutter/test/src/date_divider_test.dart index eb5e9b70..f84d4dce 100644 --- a/packages/stream_chat_flutter/test/src/date_divider_test.dart +++ b/packages/stream_chat_flutter/test/src/date_divider_test.dart @@ -13,7 +13,7 @@ void main() { final clientState = MockClientState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); await tester.pumpWidget(MaterialApp( home: StreamChat( diff --git a/packages/stream_chat_flutter/test/src/deleted_message_test.dart b/packages/stream_chat_flutter/test/src/deleted_message_test.dart index 0e30d2b3..ac953ee9 100644 --- a/packages/stream_chat_flutter/test/src/deleted_message_test.dart +++ b/packages/stream_chat_flutter/test/src/deleted_message_test.dart @@ -14,7 +14,7 @@ void main() { final clientState = MockClientState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); await tester.pumpWidget(MaterialApp( home: StreamChat( @@ -46,7 +46,7 @@ void main() { final lastMessageAt = DateTime.parse('2020-06-22 12:00:00'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => channel.lastMessageAt).thenReturn(lastMessageAt); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); @@ -99,7 +99,7 @@ void main() { final lastMessageAt = DateTime.parse('2020-06-22 12:00:00'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => channel.lastMessageAt).thenReturn(lastMessageAt); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); @@ -152,7 +152,7 @@ void main() { final lastMessageAt = DateTime.parse('2020-06-22 12:00:00'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => channel.lastMessageAt).thenReturn(lastMessageAt); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); diff --git a/packages/stream_chat_flutter/test/src/full_screen_media_test.dart b/packages/stream_chat_flutter/test/src/full_screen_media_test.dart index 03f6ea65..2d271090 100644 --- a/packages/stream_chat_flutter/test/src/full_screen_media_test.dart +++ b/packages/stream_chat_flutter/test/src/full_screen_media_test.dart @@ -17,7 +17,7 @@ void main() { final lastMessageAt = DateTime.parse('2020-06-22 12:00:00'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => channel.lastMessageAt).thenReturn(lastMessageAt); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); diff --git a/packages/stream_chat_flutter/test/src/gradient_avatar_test.dart b/packages/stream_chat_flutter/test/src/gradient_avatar_test.dart index f8decfef..6f7ebe2e 100644 --- a/packages/stream_chat_flutter/test/src/gradient_avatar_test.dart +++ b/packages/stream_chat_flutter/test/src/gradient_avatar_test.dart @@ -15,7 +15,7 @@ void main() { final clientState = MockClientState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); await tester.pumpWidget( MaterialApp( diff --git a/packages/stream_chat_flutter/test/src/image_footer_test.dart b/packages/stream_chat_flutter/test/src/image_footer_test.dart index 0fe3349a..434a78d4 100644 --- a/packages/stream_chat_flutter/test/src/image_footer_test.dart +++ b/packages/stream_chat_flutter/test/src/image_footer_test.dart @@ -16,7 +16,7 @@ void main() { final lastMessageAt = DateTime.parse('2020-06-22 12:00:00'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => channel.lastMessageAt).thenReturn(lastMessageAt); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); diff --git a/packages/stream_chat_flutter/test/src/info_tile_test.dart b/packages/stream_chat_flutter/test/src/info_tile_test.dart index 02387edc..f175ca9a 100644 --- a/packages/stream_chat_flutter/test/src/info_tile_test.dart +++ b/packages/stream_chat_flutter/test/src/info_tile_test.dart @@ -14,7 +14,7 @@ void main() { final clientState = MockClientState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); await tester.pumpWidget(MaterialApp( home: StreamChat( @@ -44,7 +44,7 @@ void main() { final clientState = MockClientState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); await tester.pumpWidget(MaterialApp( home: StreamChat( diff --git a/packages/stream_chat_flutter/test/src/message_action_modal_test.dart b/packages/stream_chat_flutter/test/src/message_action_modal_test.dart index 953434de..e5252c97 100644 --- a/packages/stream_chat_flutter/test/src/message_action_modal_test.dart +++ b/packages/stream_chat_flutter/test/src/message_action_modal_test.dart @@ -20,7 +20,7 @@ void main() { final clientState = MockClientState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); final themeData = ThemeData(); final streamTheme = StreamChatThemeData.fromTheme(themeData); @@ -66,7 +66,7 @@ void main() { final clientState = MockClientState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); final themeData = ThemeData(); final streamTheme = StreamChatThemeData.fromTheme(themeData); @@ -117,7 +117,7 @@ void main() { final clientState = MockClientState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); final themeData = ThemeData(); final streamTheme = StreamChatThemeData.fromTheme(themeData); @@ -172,7 +172,7 @@ void main() { final clientState = MockClientState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); final themeData = ThemeData(); final streamTheme = StreamChatThemeData.fromTheme(themeData); @@ -218,7 +218,7 @@ void main() { final clientState = MockClientState(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); final themeData = ThemeData(); final streamTheme = StreamChatThemeData.fromTheme(themeData); @@ -265,7 +265,7 @@ void main() { final channel = MockChannel(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); final themeData = ThemeData(); final streamTheme = StreamChatThemeData.fromTheme(themeData); @@ -314,7 +314,7 @@ void main() { final channel = MockChannel(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); final themeData = ThemeData(); final streamTheme = StreamChatThemeData.fromTheme(themeData); @@ -364,7 +364,7 @@ void main() { final channel = MockChannel(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); final themeData = ThemeData(); final streamTheme = StreamChatThemeData.fromTheme(themeData); @@ -414,7 +414,7 @@ void main() { final channel = MockChannel(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => channel.sendMessage(any())) .thenAnswer((_) async => SendMessageResponse()); @@ -464,7 +464,7 @@ void main() { final channel = MockChannel(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => channel.updateMessage(any())) .thenAnswer((_) async => UpdateMessageResponse()); @@ -514,7 +514,7 @@ void main() { final channel = MockChannel(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); final themeData = ThemeData(); final streamTheme = StreamChatThemeData.fromTheme(themeData); @@ -568,7 +568,7 @@ void main() { final channel = MockChannel(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => client.flagMessage(any())) .thenThrow(StreamChatNetworkError(ChatErrorCode.internalSystemError)); @@ -624,7 +624,7 @@ void main() { final channel = MockChannel(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => client.flagMessage(any())) .thenThrow(StreamChatNetworkError(ChatErrorCode.inputError)); @@ -680,7 +680,7 @@ void main() { final channel = MockChannel(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); final themeData = ThemeData(); final streamTheme = StreamChatThemeData.fromTheme(themeData); @@ -734,7 +734,7 @@ void main() { final channel = MockChannel(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => channel.deleteMessage(any())) .thenThrow(StreamChatNetworkError(ChatErrorCode.internalSystemError)); diff --git a/packages/stream_chat_flutter/test/src/message_input_test.dart b/packages/stream_chat_flutter/test/src/message_input_test.dart index f07f518d..679fb7f3 100644 --- a/packages/stream_chat_flutter/test/src/message_input_test.dart +++ b/packages/stream_chat_flutter/test/src/message_input_test.dart @@ -16,7 +16,7 @@ void main() { final lastMessageAt = DateTime.parse('2020-06-22 12:00:00'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => channel.lastMessageAt).thenReturn(lastMessageAt); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); diff --git a/packages/stream_chat_flutter/test/src/message_reactions_modal_test.dart b/packages/stream_chat_flutter/test/src/message_reactions_modal_test.dart index 9452e7e6..3732ca0d 100644 --- a/packages/stream_chat_flutter/test/src/message_reactions_modal_test.dart +++ b/packages/stream_chat_flutter/test/src/message_reactions_modal_test.dart @@ -16,7 +16,7 @@ void main() { final themeData = ThemeData(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); final streamTheme = StreamChatThemeData.fromTheme(themeData); @@ -61,7 +61,7 @@ void main() { final themeData = ThemeData(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); final streamTheme = StreamChatThemeData.fromTheme(themeData); diff --git a/packages/stream_chat_flutter/test/src/message_text_test.dart b/packages/stream_chat_flutter/test/src/message_text_test.dart index 765f7f2c..5daa94ba 100644 --- a/packages/stream_chat_flutter/test/src/message_text_test.dart +++ b/packages/stream_chat_flutter/test/src/message_text_test.dart @@ -21,7 +21,7 @@ void main() { final streamTheme = StreamChatThemeData.fromTheme(themeData); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => channel.lastMessageAt).thenReturn(lastMessageAt); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); @@ -66,7 +66,7 @@ void main() { final streamTheme = StreamChatThemeData.fromTheme(themeData); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => channel.lastMessageAt).thenReturn(lastMessageAt); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); diff --git a/packages/stream_chat_flutter/test/src/reaction_bubble_test.dart b/packages/stream_chat_flutter/test/src/reaction_bubble_test.dart index acf485c0..6e823b43 100644 --- a/packages/stream_chat_flutter/test/src/reaction_bubble_test.dart +++ b/packages/stream_chat_flutter/test/src/reaction_bubble_test.dart @@ -16,7 +16,7 @@ void main() { final themeData = ThemeData.light(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); final theme = StreamChatThemeData.fromTheme(themeData); await tester.pumpWidgetBuilder( @@ -53,7 +53,7 @@ void main() { final theme = StreamChatThemeData.fromTheme(themeData); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); await tester.pumpWidgetBuilder( StreamChat( @@ -90,7 +90,7 @@ void main() { final theme = StreamChatThemeData.fromTheme(themeData); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); await tester.pumpWidgetBuilder( StreamChat( @@ -135,7 +135,7 @@ void main() { final theme = StreamChatThemeData.fromTheme(themeData); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); await tester.pumpWidgetBuilder( StreamChat( @@ -179,7 +179,7 @@ void main() { final themeData = ThemeData(); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); await tester.pumpWidgetBuilder( StreamChat( diff --git a/packages/stream_chat_flutter/test/src/system_message_test.dart b/packages/stream_chat_flutter/test/src/system_message_test.dart index 2e221d57..24eccdf6 100644 --- a/packages/stream_chat_flutter/test/src/system_message_test.dart +++ b/packages/stream_chat_flutter/test/src/system_message_test.dart @@ -17,7 +17,7 @@ void main() { final lastMessageAt = DateTime.parse('2020-06-22 12:00:00'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => channel.lastMessageAt).thenReturn(lastMessageAt); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); @@ -68,7 +68,7 @@ void main() { final lastMessageAt = DateTime.parse('2020-06-22 12:00:00'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => channel.lastMessageAt).thenReturn(lastMessageAt); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); @@ -120,7 +120,7 @@ void main() { final lastMessageAt = DateTime.parse('2020-06-22 12:00:00'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => channel.lastMessageAt).thenReturn(lastMessageAt); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); diff --git a/packages/stream_chat_flutter/test/src/thread_header_test.dart b/packages/stream_chat_flutter/test/src/thread_header_test.dart index 2b649be3..1bc4c865 100644 --- a/packages/stream_chat_flutter/test/src/thread_header_test.dart +++ b/packages/stream_chat_flutter/test/src/thread_header_test.dart @@ -16,7 +16,7 @@ void main() { final lastMessageAt = DateTime.parse('2020-06-22 12:00:00'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => channel.lastMessageAt).thenReturn(lastMessageAt); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); @@ -81,7 +81,7 @@ void main() { final lastMessageAt = DateTime.parse('2020-06-22 12:00:00'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => channel.lastMessageAt).thenReturn(lastMessageAt); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); diff --git a/packages/stream_chat_flutter/test/src/typing_indicator_test.dart b/packages/stream_chat_flutter/test/src/typing_indicator_test.dart index 6c8a3351..8d790266 100644 --- a/packages/stream_chat_flutter/test/src/typing_indicator_test.dart +++ b/packages/stream_chat_flutter/test/src/typing_indicator_test.dart @@ -16,7 +16,7 @@ void main() { final lastMessageAt = DateTime.parse('2020-06-22 12:00:00'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => channel.lastMessageAt).thenReturn(lastMessageAt); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); diff --git a/packages/stream_chat_flutter/test/src/unread_indicator_test.dart b/packages/stream_chat_flutter/test/src/unread_indicator_test.dart index 96a6c678..00359089 100644 --- a/packages/stream_chat_flutter/test/src/unread_indicator_test.dart +++ b/packages/stream_chat_flutter/test/src/unread_indicator_test.dart @@ -16,7 +16,7 @@ void main() { final lastMessageAt = DateTime.parse('2020-06-22 12:00:00'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => channel.lastMessageAt).thenReturn(lastMessageAt); when(() => channel.state).thenReturn(channelState); when(() => channel.client).thenReturn(client); @@ -58,7 +58,7 @@ void main() { final lastMessageAt = DateTime.parse('2020-06-22 12:00:00'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => clientState.channels).thenReturn({ channel.cid!: channel, }); @@ -98,7 +98,7 @@ void main() { final lastMessageAt = DateTime.parse('2020-06-22 12:00:00'); when(() => client.state).thenReturn(clientState); - when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id')); when(() => clientState.channels).thenReturn({ channel.cid!: channel, }); diff --git a/packages/stream_chat_flutter_core/CHANGELOG.md b/packages/stream_chat_flutter_core/CHANGELOG.md index a823a0db..d2004079 100644 --- a/packages/stream_chat_flutter_core/CHANGELOG.md +++ b/packages/stream_chat_flutter_core/CHANGELOG.md @@ -3,6 +3,11 @@ ✅ Added - Added `MessageListCore.paginationLimit` +🔄 Changed + +- `StreamChatCore.of(context).user` is now deprecated in favor of `StreamChatCore.of(context).currentUser`. +- `StreamChatCore.of(context).userStream` is now deprecated in favor of `StreamChatCore.of(context).currentUserStream`. + ## 2.0.0 🛑️ Breaking Changes from `1.5.3` diff --git a/packages/stream_chat_flutter_core/example/lib/main.dart b/packages/stream_chat_flutter_core/example/lib/main.dart index 4989f38f..0a7b0bce 100644 --- a/packages/stream_chat_flutter_core/example/lib/main.dart +++ b/packages/stream_chat_flutter_core/example/lib/main.dart @@ -87,7 +87,7 @@ class HomeScreen extends StatelessWidget { filter: Filter.and([ Filter.equal('type', 'messaging'), Filter.in_('members', [ - StreamChatCore.of(context).user!.id, + StreamChatCore.of(context).currentUser!.id, ]) ]), emptyBuilder: (BuildContext context) => const Center( @@ -336,7 +336,7 @@ class _MessageScreenState extends State { /// below, we add two simple extensions to the [StreamChatClient] and [Channel]. extension on StreamChatClient { /// Fetches the current user id. - String get uid => state.user!.id; + String get uid => state.currentUser!.id; } extension on Channel { diff --git a/packages/stream_chat_flutter_core/lib/src/message_list_core.dart b/packages/stream_chat_flutter_core/lib/src/message_list_core.dart index 4acf0ba7..45051db1 100644 --- a/packages/stream_chat_flutter_core/lib/src/message_list_core.dart +++ b/packages/stream_chat_flutter_core/lib/src/message_list_core.dart @@ -116,7 +116,7 @@ class MessageListCoreState extends State { bool get _isThreadConversation => widget.parentMessage != null; - OwnUser? get _currentUser => _streamChannel!.channel.client.state.user; + OwnUser? get _currentUser => _streamChannel!.channel.client.state.currentUser; var _messages = []; diff --git a/packages/stream_chat_flutter_core/lib/src/stream_chat_core.dart b/packages/stream_chat_flutter_core/lib/src/stream_chat_core.dart index 6e39d5e3..0f1bd4d8 100644 --- a/packages/stream_chat_flutter_core/lib/src/stream_chat_core.dart +++ b/packages/stream_chat_flutter_core/lib/src/stream_chat_core.dart @@ -98,10 +98,20 @@ class StreamChatCoreState extends State Widget build(BuildContext context) => widget.child; /// The current user - User? get user => client.state.user; + @Deprecated('Use `.currentUser` instead, Will be removed in future releases') + User? get user => client.state.currentUser; /// The current user as a stream - Stream get userStream => client.state.userStream; + @Deprecated( + 'Use `.currentUserStream` instead, Will be removed in future releases', + ) + Stream get userStream => client.state.currentUserStream; + + /// The current user + User? get currentUser => client.state.currentUser; + + /// The current user as a stream + Stream get currentUserStream => client.state.currentUserStream; StreamSubscription? _connectivitySubscription; @@ -126,7 +136,7 @@ class StreamChatCoreState extends State if (!_isInForeground) return; if (_isConnectionAvailable) { if (client.wsConnectionStatus == ConnectionStatus.disconnected && - user != null) { + currentUser != null) { client.openConnection(); } } else { @@ -163,7 +173,7 @@ class StreamChatCoreState extends State AppLifecycleState.resumed, AppLifecycleState.inactive, ].contains(state); - if (user != null) { + if (currentUser != null) { if (_isInForeground) { _onForeground(); } else { diff --git a/packages/stream_chat_flutter_core/test/stream_chat_core_test.dart b/packages/stream_chat_flutter_core/test/stream_chat_core_test.dart index ee9a86cb..593f615c 100644 --- a/packages/stream_chat_flutter_core/test/stream_chat_core_test.dart +++ b/packages/stream_chat_flutter_core/test/stream_chat_core_test.dart @@ -451,7 +451,7 @@ void main() { expect(find.byKey(streamChatCoreKey), findsOneWidget); expect(find.byKey(childKey), findsOneWidget); - when(() => mockClient.state.userStream) + when(() => mockClient.state.currentUserStream) .thenAnswer((_) => userController.stream); final streamChatCoreState = tester.state( @@ -462,7 +462,7 @@ void main() { userController.add(ownUser); await expectLater( - streamChatCoreState.userStream, + streamChatCoreState.currentUserStream, emits(ownUser), ); diff --git a/packages/stream_chat_persistence/example/lib/main.dart b/packages/stream_chat_persistence/example/lib/main.dart index ab6dcd1c..5c83ed78 100644 --- a/packages/stream_chat_persistence/example/lib/main.dart +++ b/packages/stream_chat_persistence/example/lib/main.dart @@ -255,5 +255,5 @@ class _MessageViewState extends State { /// Helper extension for quickly retrieving /// the current user id from a [StreamChatClient]. extension on StreamChatClient { - String get uid => state.user!.id; + String get uid => state.currentUser!.id; }