Merge branch 'develop' into delete_message_fix
This commit is contained in:
@@ -1,10 +1,14 @@
|
||||
## Upcoming
|
||||
|
||||
🛑️ Breaking Changes from `2.0.0`
|
||||
- Changed default message filter of `MessageListCore`
|
||||
|
||||
✅ Added
|
||||
- Added `MessageListCore.paginationLimit`
|
||||
|
||||
🔄 Changed
|
||||
- Changed default message filter of `MessageListCore`
|
||||
- `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
|
||||
|
||||
|
||||
@@ -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<MessageScreen> {
|
||||
/// 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 {
|
||||
|
||||
@@ -116,7 +116,7 @@ class MessageListCoreState extends State<MessageListCore> {
|
||||
|
||||
bool get _isThreadConversation => widget.parentMessage != null;
|
||||
|
||||
OwnUser? get _currentUser => _streamChannel!.channel.client.state.user;
|
||||
OwnUser? get _currentUser => _streamChannel!.channel.client.state.currentUser;
|
||||
|
||||
var _messages = <Message>[];
|
||||
|
||||
|
||||
@@ -97,11 +97,25 @@ class StreamChatCoreState extends State<StreamChatCore>
|
||||
@override
|
||||
Widget build(BuildContext context) => widget.child;
|
||||
|
||||
// coverage:ignore-start
|
||||
|
||||
/// 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<User?> get userStream => client.state.userStream;
|
||||
@Deprecated(
|
||||
'Use `.currentUserStream` instead, Will be removed in future releases',
|
||||
)
|
||||
Stream<User?> get userStream => client.state.currentUserStream;
|
||||
|
||||
// coverage:ignore-end
|
||||
|
||||
/// The current user
|
||||
User? get currentUser => client.state.currentUser;
|
||||
|
||||
/// The current user as a stream
|
||||
Stream<User?> get currentUserStream => client.state.currentUserStream;
|
||||
|
||||
StreamSubscription<ConnectivityResult>? _connectivitySubscription;
|
||||
|
||||
@@ -126,7 +140,7 @@ class StreamChatCoreState extends State<StreamChatCore>
|
||||
if (!_isInForeground) return;
|
||||
if (_isConnectionAvailable) {
|
||||
if (client.wsConnectionStatus == ConnectionStatus.disconnected &&
|
||||
user != null) {
|
||||
currentUser != null) {
|
||||
client.openConnection();
|
||||
}
|
||||
} else {
|
||||
@@ -163,7 +177,7 @@ class StreamChatCoreState extends State<StreamChatCore>
|
||||
AppLifecycleState.resumed,
|
||||
AppLifecycleState.inactive,
|
||||
].contains(state);
|
||||
if (user != null) {
|
||||
if (currentUser != null) {
|
||||
if (_isInForeground) {
|
||||
_onForeground();
|
||||
} else {
|
||||
|
||||
@@ -18,10 +18,10 @@ class MockClient extends Mock implements StreamChatClient {
|
||||
}
|
||||
|
||||
class MockClientState extends Mock implements ClientState {
|
||||
OwnUser? _user;
|
||||
OwnUser? _currentUser;
|
||||
|
||||
@override
|
||||
OwnUser get user => _user ??= OwnUser(
|
||||
OwnUser get currentUser => _currentUser ??= OwnUser(
|
||||
id: 'testUserId',
|
||||
role: 'admin',
|
||||
createdAt: DateTime.now(),
|
||||
|
||||
@@ -431,7 +431,7 @@ void main() {
|
||||
);
|
||||
|
||||
testWidgets(
|
||||
'streamChatCoreState.userStream should emit all the user events '
|
||||
'streamChatCoreState.currentUserStream should emit all the user events '
|
||||
'provided by client',
|
||||
(tester) async {
|
||||
await tester.runAsync(() async {
|
||||
@@ -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<StreamChatCoreState>(
|
||||
@@ -462,7 +462,7 @@ void main() {
|
||||
userController.add(ownUser);
|
||||
|
||||
await expectLater(
|
||||
streamChatCoreState.userStream,
|
||||
streamChatCoreState.currentUserStream,
|
||||
emits(ownUser),
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user