Merge remote-tracking branch 'origin/develop' into feat/offline-connect
This commit is contained in:
@@ -1,5 +1,11 @@
|
||||
## Upcoming
|
||||
|
||||
🔄 Changed
|
||||
|
||||
- Updated `dio` dependency to `^5.2.0`.
|
||||
|
||||
## 6.2.0
|
||||
|
||||
🐞 Fixed
|
||||
|
||||
- [[#1422]](https://github.com/GetStream/stream-chat-flutter/issues/1422) Fixed `User.createdAt` property using
|
||||
|
||||
@@ -89,8 +89,13 @@ class StreamChatNetworkError extends StreamChatError {
|
||||
}) : super(message);
|
||||
|
||||
///
|
||||
factory StreamChatNetworkError.fromDioError(DioError error) {
|
||||
final response = error.response;
|
||||
@Deprecated('Use `StreamChatNetworkError.fromDioException` instead')
|
||||
factory StreamChatNetworkError.fromDioError(DioException error) =
|
||||
StreamChatNetworkError.fromDioException;
|
||||
|
||||
///
|
||||
factory StreamChatNetworkError.fromDioException(DioException exception) {
|
||||
final response = exception.response;
|
||||
ErrorResponse? errorResponse;
|
||||
final data = response?.data;
|
||||
if (data != null) {
|
||||
@@ -100,12 +105,12 @@ class StreamChatNetworkError extends StreamChatError {
|
||||
code: errorResponse?.code ?? -1,
|
||||
message: errorResponse?.message ??
|
||||
response?.statusMessage ??
|
||||
error.message ??
|
||||
exception.message ??
|
||||
'',
|
||||
statusCode: errorResponse?.statusCode ?? response?.statusCode,
|
||||
data: errorResponse,
|
||||
isRequestCancelledError: error.type == DioErrorType.cancel,
|
||||
)..stackTrace = error.stackTrace;
|
||||
isRequestCancelledError: exception.type == DioExceptionType.cancel,
|
||||
)..stackTrace = exception.stackTrace;
|
||||
}
|
||||
|
||||
/// Error code
|
||||
|
||||
@@ -46,26 +46,26 @@ class AuthInterceptor extends QueuedInterceptor {
|
||||
|
||||
@override
|
||||
void onError(
|
||||
DioError err,
|
||||
DioException exception,
|
||||
ErrorInterceptorHandler handler,
|
||||
) async {
|
||||
final data = err.response?.data;
|
||||
final data = exception.response?.data;
|
||||
if (data == null || data is! Map<String, dynamic>) {
|
||||
return handler.next(err);
|
||||
return handler.next(exception);
|
||||
}
|
||||
|
||||
final error = ErrorResponse.fromJson(data);
|
||||
if (error.code == ChatErrorCode.tokenExpired.code) {
|
||||
if (_tokenManager.isStatic) return handler.next(err);
|
||||
if (_tokenManager.isStatic) return handler.next(exception);
|
||||
await _tokenManager.loadToken(refresh: true);
|
||||
try {
|
||||
final options = err.requestOptions;
|
||||
final options = exception.requestOptions;
|
||||
final response = await _client.fetch(options);
|
||||
return handler.resolve(response);
|
||||
} on DioError catch (error) {
|
||||
return handler.next(error);
|
||||
} on DioException catch (exception) {
|
||||
return handler.next(exception);
|
||||
}
|
||||
}
|
||||
return handler.next(err);
|
||||
return handler.next(exception);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -119,32 +119,32 @@ class LoggingInterceptor extends Interceptor {
|
||||
}
|
||||
|
||||
@override
|
||||
void onError(DioError err, ErrorInterceptorHandler handler) {
|
||||
void onError(DioException exception, ErrorInterceptorHandler handler) {
|
||||
if (error) {
|
||||
if (err.type == DioErrorType.badResponse) {
|
||||
final uri = err.response?.requestOptions.uri;
|
||||
if (exception.type == DioExceptionType.badResponse) {
|
||||
final uri = exception.response?.requestOptions.uri;
|
||||
_printBoxed(
|
||||
_logPrintError,
|
||||
header:
|
||||
'DioError ║ Status: ${err.response?.statusCode} ${err.response?.statusMessage}',
|
||||
'DioException ║ Status: ${exception.response?.statusCode} ${exception.response?.statusMessage}',
|
||||
text: uri.toString(),
|
||||
);
|
||||
if (err.response != null && err.response?.data != null) {
|
||||
_logPrintError('╔ ${err.type.toString()}');
|
||||
_printResponse(_logPrintError, err.response!);
|
||||
if (exception.response != null && exception.response?.data != null) {
|
||||
_logPrintError('╔ ${exception.type.toString()}');
|
||||
_printResponse(_logPrintError, exception.response!);
|
||||
}
|
||||
_printLine(_logPrintError, '╚');
|
||||
_logPrintError('');
|
||||
} else {
|
||||
_printBoxed(
|
||||
_logPrintError,
|
||||
header: 'DioError ║ ${err.type}',
|
||||
text: err.message,
|
||||
header: 'DioException ║ ${exception.type}',
|
||||
text: exception.message,
|
||||
);
|
||||
_printRequestHeader(_logPrintError, err.requestOptions);
|
||||
_printRequestHeader(_logPrintError, exception.requestOptions);
|
||||
}
|
||||
}
|
||||
super.onError(err, handler);
|
||||
super.onError(exception, handler);
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
@@ -2,7 +2,7 @@ import 'package:dio/dio.dart';
|
||||
import 'package:stream_chat/src/core/error/error.dart';
|
||||
|
||||
/// Error class specific to StreamChat and Dio
|
||||
class StreamChatDioError extends DioError {
|
||||
class StreamChatDioError extends DioException {
|
||||
/// Initialize a stream chat dio error
|
||||
StreamChatDioError({
|
||||
required this.error,
|
||||
|
||||
@@ -92,16 +92,16 @@ class StreamHttpClient {
|
||||
/// calling [close] will throw an exception.
|
||||
void close({bool force = false}) => httpClient.close(force: force);
|
||||
|
||||
StreamChatNetworkError _parseError(DioError err) {
|
||||
StreamChatNetworkError _parseError(DioException exception) {
|
||||
StreamChatNetworkError error;
|
||||
// locally thrown dio error
|
||||
if (err is StreamChatDioError) {
|
||||
error = err.error;
|
||||
if (exception is StreamChatDioError) {
|
||||
error = exception.error;
|
||||
} else {
|
||||
// real network request dio error
|
||||
error = StreamChatNetworkError.fromDioError(err);
|
||||
error = StreamChatNetworkError.fromDioException(exception);
|
||||
}
|
||||
return error..stackTrace = err.stackTrace;
|
||||
return error..stackTrace = exception.stackTrace;
|
||||
}
|
||||
|
||||
/// Handy method to make http GET request with error parsing.
|
||||
@@ -121,7 +121,7 @@ class StreamHttpClient {
|
||||
cancelToken: cancelToken,
|
||||
);
|
||||
return response;
|
||||
} on DioError catch (error) {
|
||||
} on DioException catch (error) {
|
||||
throw _parseError(error);
|
||||
}
|
||||
}
|
||||
@@ -147,7 +147,7 @@ class StreamHttpClient {
|
||||
cancelToken: cancelToken,
|
||||
);
|
||||
return response;
|
||||
} on DioError catch (error) {
|
||||
} on DioException catch (error) {
|
||||
throw _parseError(error);
|
||||
}
|
||||
}
|
||||
@@ -167,7 +167,7 @@ class StreamHttpClient {
|
||||
cancelToken: cancelToken,
|
||||
);
|
||||
return response;
|
||||
} on DioError catch (error) {
|
||||
} on DioException catch (error) {
|
||||
throw _parseError(error);
|
||||
}
|
||||
}
|
||||
@@ -193,7 +193,7 @@ class StreamHttpClient {
|
||||
cancelToken: cancelToken,
|
||||
);
|
||||
return response;
|
||||
} on DioError catch (error) {
|
||||
} on DioException catch (error) {
|
||||
throw _parseError(error);
|
||||
}
|
||||
}
|
||||
@@ -219,7 +219,7 @@ class StreamHttpClient {
|
||||
cancelToken: cancelToken,
|
||||
);
|
||||
return response;
|
||||
} on DioError catch (error) {
|
||||
} on DioException catch (error) {
|
||||
throw _parseError(error);
|
||||
}
|
||||
}
|
||||
@@ -268,7 +268,7 @@ class StreamHttpClient {
|
||||
cancelToken: cancelToken,
|
||||
);
|
||||
return response;
|
||||
} on DioError catch (error) {
|
||||
} on DioException catch (error) {
|
||||
throw _parseError(error);
|
||||
}
|
||||
}
|
||||
@@ -281,7 +281,7 @@ class StreamHttpClient {
|
||||
try {
|
||||
final response = await httpClient.fetch<T>(requestOptions);
|
||||
return response;
|
||||
} on DioError catch (error) {
|
||||
} on DioException catch (error) {
|
||||
throw _parseError(error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,17 @@
|
||||
library stream_chat;
|
||||
|
||||
export 'package:async/async.dart';
|
||||
export 'package:dio/src/cancel_token.dart';
|
||||
export 'package:dio/src/dio_error.dart';
|
||||
export 'package:dio/src/dio_mixin.dart' show Interceptor, InterceptorsWrapper;
|
||||
export 'package:dio/src/multipart_file.dart';
|
||||
export 'package:dio/src/options.dart';
|
||||
export 'package:dio/src/options.dart' show ProgressCallback;
|
||||
export 'package:dio/dio.dart'
|
||||
show
|
||||
DioException,
|
||||
DioExceptionType,
|
||||
RequestOptions,
|
||||
CancelToken,
|
||||
Interceptor,
|
||||
InterceptorsWrapper,
|
||||
MultipartFile,
|
||||
Options,
|
||||
ProgressCallback;
|
||||
export 'package:logging/logging.dart' show Logger, Level, LogRecord;
|
||||
export 'package:rate_limiter/rate_limiter.dart';
|
||||
export 'package:uuid/uuid.dart';
|
||||
@@ -17,7 +22,6 @@ export 'src/client/key_stroke_handler.dart';
|
||||
export 'src/core/api/attachment_file_uploader.dart';
|
||||
export 'src/core/api/requests.dart';
|
||||
export 'src/core/api/responses.dart';
|
||||
export 'src/core/api/stream_chat_api.dart' show PushProvider;
|
||||
export 'src/core/api/stream_chat_api.dart';
|
||||
export 'src/core/error/error.dart';
|
||||
export 'src/core/http/interceptor/logging_interceptor.dart';
|
||||
|
||||
@@ -3,4 +3,4 @@ import 'package:stream_chat/src/client/client.dart';
|
||||
/// Current package version
|
||||
/// Used in [StreamChatClient] to build the `x-stream-client` header
|
||||
// ignore: constant_identifier_names
|
||||
const PACKAGE_VERSION = '6.1.0';
|
||||
const PACKAGE_VERSION = '6.2.0';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: stream_chat
|
||||
homepage: https://getstream.io/
|
||||
description: The official Dart client for Stream Chat, a service for building chat applications.
|
||||
version: 6.1.0
|
||||
version: 6.2.0
|
||||
repository: https://github.com/GetStream/stream-chat-flutter
|
||||
issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues
|
||||
|
||||
@@ -11,7 +11,7 @@ environment:
|
||||
dependencies:
|
||||
async: ^2.10.0
|
||||
collection: ^1.17.0
|
||||
dio: ^5.1.1
|
||||
dio: ^5.2.0
|
||||
equatable: ^2.0.5
|
||||
freezed_annotation: ^2.2.0
|
||||
http_parser: ^4.0.2
|
||||
|
||||
@@ -60,7 +60,7 @@ void main() {
|
||||
expect(error.message, message);
|
||||
});
|
||||
|
||||
test('.fromDioError', () {
|
||||
test('.fromDioException', () {
|
||||
const code = 333;
|
||||
const statusCode = 666;
|
||||
const message = 'test-error-message';
|
||||
@@ -69,7 +69,7 @@ void main() {
|
||||
..code = code
|
||||
..statusCode = statusCode
|
||||
..message = message;
|
||||
final dioError = DioError(
|
||||
final dioError = DioException(
|
||||
requestOptions: options,
|
||||
response: Response(
|
||||
requestOptions: options,
|
||||
@@ -77,7 +77,7 @@ void main() {
|
||||
data: data.toJson(),
|
||||
),
|
||||
);
|
||||
final error = StreamChatNetworkError.fromDioError(dioError);
|
||||
final error = StreamChatNetworkError.fromDioException(dioError);
|
||||
expect(error, isNotNull);
|
||||
expect(error.code, code);
|
||||
expect(error.message, message);
|
||||
|
||||
@@ -88,7 +88,7 @@ void main() {
|
||||
requestOptions: options,
|
||||
data: errorResponse.toJson(),
|
||||
);
|
||||
final err = DioError(requestOptions: options, response: response);
|
||||
final err = DioException(requestOptions: options, response: response);
|
||||
final handler = ErrorInterceptorHandler();
|
||||
|
||||
when(() => tokenManager.isStatic).thenReturn(false);
|
||||
@@ -135,7 +135,7 @@ void main() {
|
||||
requestOptions: options,
|
||||
data: errorResponse.toJson(),
|
||||
);
|
||||
final err = DioError(requestOptions: options, response: response);
|
||||
final err = DioException(requestOptions: options, response: response);
|
||||
final handler = ErrorInterceptorHandler();
|
||||
|
||||
when(() => tokenManager.isStatic).thenReturn(false);
|
||||
@@ -153,7 +153,7 @@ void main() {
|
||||
} catch (e) {
|
||||
// need to cast it as the type is private in dio
|
||||
final error = (e as dynamic).data;
|
||||
expect(error, isA<DioError>());
|
||||
expect(error, isA<DioException>());
|
||||
}
|
||||
|
||||
verify(() => tokenManager.isStatic).called(1);
|
||||
@@ -179,7 +179,7 @@ void main() {
|
||||
requestOptions: options,
|
||||
data: errorResponse.toJson(),
|
||||
);
|
||||
final err = DioError(requestOptions: options, response: response);
|
||||
final err = DioException(requestOptions: options, response: response);
|
||||
final handler = ErrorInterceptorHandler();
|
||||
|
||||
when(() => tokenManager.isStatic).thenReturn(true);
|
||||
@@ -191,8 +191,8 @@ void main() {
|
||||
} catch (e) {
|
||||
// need to cast it as the type is private in dio
|
||||
final error = (e as dynamic).data;
|
||||
expect(error, isA<DioError>());
|
||||
final response = StreamChatNetworkError.fromDioError(error);
|
||||
expect(error, isA<DioException>());
|
||||
final response = StreamChatNetworkError.fromDioException(error);
|
||||
expect(response.errorCode, code);
|
||||
}
|
||||
|
||||
@@ -207,7 +207,7 @@ void main() {
|
||||
const path = 'test-request-path';
|
||||
final options = RequestOptions(path: path);
|
||||
final response = Response(requestOptions: options);
|
||||
final err = DioError(requestOptions: options, response: response);
|
||||
final err = DioException(requestOptions: options, response: response);
|
||||
final handler = ErrorInterceptorHandler();
|
||||
|
||||
authInterceptor.onError(err, handler);
|
||||
@@ -217,7 +217,7 @@ void main() {
|
||||
} catch (e) {
|
||||
// need to cast it as the type is private in dio
|
||||
final error = (e as dynamic).data;
|
||||
expect(error, isA<DioError>());
|
||||
expect(error, isA<DioException>());
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
@@ -12,7 +12,7 @@ void main() {
|
||||
requestOptions: options,
|
||||
);
|
||||
|
||||
expect(dioError, isA<DioError>());
|
||||
expect(dioError, isA<DioException>());
|
||||
expect(dioError, isNotNull);
|
||||
expect(dioError.error, error);
|
||||
expect(dioError.requestOptions, options);
|
||||
|
||||
@@ -21,7 +21,7 @@ void main() {
|
||||
statusCode: 200,
|
||||
);
|
||||
|
||||
DioError throwableError(
|
||||
DioException throwableError(
|
||||
String path, {
|
||||
StreamChatNetworkError? error,
|
||||
bool streamChatDioError = false,
|
||||
@@ -32,11 +32,11 @@ void main() {
|
||||
..code = error?.code
|
||||
..statusCode = error?.statusCode
|
||||
..message = error?.message;
|
||||
DioError? dioError;
|
||||
DioException? dioError;
|
||||
if (streamChatDioError) {
|
||||
dioError = StreamChatDioError(error: error!, requestOptions: options);
|
||||
} else {
|
||||
dioError = DioError(
|
||||
dioError = DioException(
|
||||
error: error,
|
||||
requestOptions: options,
|
||||
response: Response(
|
||||
@@ -210,7 +210,7 @@ void main() {
|
||||
await client.get(path);
|
||||
} catch (e) {
|
||||
expect(e, isA<StreamChatNetworkError>());
|
||||
expect(e, StreamChatNetworkError.fromDioError(error));
|
||||
expect(e, StreamChatNetworkError.fromDioException(error));
|
||||
}
|
||||
|
||||
verify(() => dio.get(
|
||||
@@ -263,7 +263,7 @@ void main() {
|
||||
await client.post(path);
|
||||
} catch (e) {
|
||||
expect(e, isA<StreamChatNetworkError>());
|
||||
expect(e, StreamChatNetworkError.fromDioError(error));
|
||||
expect(e, StreamChatNetworkError.fromDioException(error));
|
||||
}
|
||||
|
||||
verify(() => dio.post(
|
||||
@@ -317,7 +317,7 @@ void main() {
|
||||
await client.delete(path);
|
||||
} catch (e) {
|
||||
expect(e, isA<StreamChatNetworkError>());
|
||||
expect(e, StreamChatNetworkError.fromDioError(error));
|
||||
expect(e, StreamChatNetworkError.fromDioException(error));
|
||||
}
|
||||
|
||||
verify(() => dio.delete(
|
||||
@@ -371,7 +371,7 @@ void main() {
|
||||
await client.patch(path);
|
||||
} catch (e) {
|
||||
expect(e, isA<StreamChatNetworkError>());
|
||||
expect(e, StreamChatNetworkError.fromDioError(error));
|
||||
expect(e, StreamChatNetworkError.fromDioException(error));
|
||||
}
|
||||
|
||||
verify(() => dio.patch(
|
||||
@@ -425,7 +425,7 @@ void main() {
|
||||
await client.put(path);
|
||||
} catch (e) {
|
||||
expect(e, isA<StreamChatNetworkError>());
|
||||
expect(e, StreamChatNetworkError.fromDioError(error));
|
||||
expect(e, StreamChatNetworkError.fromDioException(error));
|
||||
}
|
||||
|
||||
verify(() => dio.put(
|
||||
@@ -486,7 +486,7 @@ void main() {
|
||||
await client.postFile(path, file);
|
||||
} catch (e) {
|
||||
expect(e, isA<StreamChatNetworkError>());
|
||||
expect(e, StreamChatNetworkError.fromDioError(error));
|
||||
expect(e, StreamChatNetworkError.fromDioException(error));
|
||||
}
|
||||
|
||||
verify(() => dio.post(
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
## Upcoming
|
||||
|
||||
🔄 Changed
|
||||
|
||||
- Updated `dio` dependency to `^5.2.0`.
|
||||
|
||||
## 6.2.0
|
||||
|
||||
🐞 Fixed
|
||||
|
||||
- [[#1546]](https://github.com/GetStream/stream-chat-flutter/issues/1546)
|
||||
@@ -35,6 +41,8 @@
|
||||
- Updated `shimmer` dependency to `^3.0.0`.
|
||||
- Updated `image_gallery_saver` dependency to `^2.0.1`.
|
||||
- Deprecated `ChannelPreview` in favor of `StreamChannelListTile`.
|
||||
- Updated `stream_chat_flutter_core` dependency
|
||||
to [`6.2.0`](https://pub.dev/packages/stream_chat_flutter_core/changelog).
|
||||
|
||||
## 6.1.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: stream_chat_flutter
|
||||
homepage: https://github.com/GetStream/stream-chat-flutter
|
||||
description: Stream Chat official Flutter SDK. Build your own chat experience using Dart and Flutter.
|
||||
version: 6.1.0
|
||||
version: 6.2.0
|
||||
repository: https://github.com/GetStream/stream-chat-flutter
|
||||
issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues
|
||||
|
||||
@@ -17,7 +17,7 @@ dependencies:
|
||||
dart_vlc: ^0.4.0
|
||||
desktop_drop: ^0.4.0
|
||||
diacritic: ^0.1.3
|
||||
dio: ^5.1.1
|
||||
dio: ^5.2.0
|
||||
ezanimation: ^0.6.0
|
||||
file_picker: ^5.2.4
|
||||
file_selector: ^0.9.0
|
||||
@@ -38,7 +38,7 @@ dependencies:
|
||||
rxdart: ^0.27.0
|
||||
share_plus: ^6.3.0
|
||||
shimmer: ^3.0.0
|
||||
stream_chat_flutter_core: ^6.1.0
|
||||
stream_chat_flutter_core: ^6.2.0
|
||||
synchronized: ^3.0.0
|
||||
thumblr: ^0.0.4
|
||||
url_launcher: ^6.1.0
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
## Upcoming
|
||||
|
||||
- Updated `stream_chat` dependency to [`Upcoming`](https://pub.dev/packages/stream_chat/changelog).
|
||||
|
||||
## 6.2.0
|
||||
|
||||
- Fixed `StreamMessageInputController.textPatternStyle` not matching case-insensitive patterns.
|
||||
- Updated `connectivity_plus` dependency to `^4.0.0`
|
||||
- Fixed `StreamChannel` shows black screen while loading in some cases.
|
||||
- Updated `stream_chat` dependency to [`6.2.0`](https://pub.dev/packages/stream_chat/changelog).
|
||||
|
||||
## 6.1.0
|
||||
|
||||
|
||||
@@ -430,16 +430,15 @@ class StreamChannelState extends State<StreamChannel> {
|
||||
],
|
||||
builder: (context, snapshot) {
|
||||
if (snapshot.hasError) {
|
||||
var message = snapshot.error.toString();
|
||||
if (snapshot.error is DioError) {
|
||||
final dioError = snapshot.error as DioError?;
|
||||
if (dioError?.type == DioErrorType.badResponse) {
|
||||
message = dioError!.message ?? 'Bad response';
|
||||
} else {
|
||||
message = 'Check your connection and retry';
|
||||
final error = snapshot.error;
|
||||
if (error is DioException) {
|
||||
if (error.type == DioExceptionType.badResponse) {
|
||||
return Center(child: Text(error.message ?? 'Bad response'));
|
||||
}
|
||||
return const Center(child: Text('Check your connection and retry'));
|
||||
}
|
||||
return Center(child: Text(message));
|
||||
|
||||
return Center(child: Text(error.toString()));
|
||||
}
|
||||
|
||||
final dataLoaded = snapshot.data?.every((it) => it) == true;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: stream_chat_flutter_core
|
||||
homepage: https://github.com/GetStream/stream-chat-flutter
|
||||
description: Stream Chat official Flutter SDK Core. Build your own chat experience using Dart and Flutter.
|
||||
version: 6.1.0
|
||||
version: 6.2.0
|
||||
repository: https://github.com/GetStream/stream-chat-flutter
|
||||
issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues
|
||||
|
||||
@@ -17,7 +17,7 @@ dependencies:
|
||||
freezed_annotation: ^2.0.3
|
||||
meta: ^1.8.0
|
||||
rxdart: ^0.27.0
|
||||
stream_chat: ^6.1.0
|
||||
stream_chat: ^6.2.0
|
||||
|
||||
dev_dependencies:
|
||||
build_runner: ^2.3.3
|
||||
|
||||
@@ -91,8 +91,8 @@ void main() {
|
||||
);
|
||||
|
||||
const errorMessage = 'Error! Error! Error!';
|
||||
final error = DioError(
|
||||
type: DioErrorType.badResponse,
|
||||
final error = DioException(
|
||||
type: DioExceptionType.badResponse,
|
||||
message: errorMessage,
|
||||
requestOptions: RequestOptions(),
|
||||
);
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
## 5.2.0
|
||||
|
||||
* Updated `stream_chat_flutter` dependency to [`6.2.0`](https://pub.dev/packages/stream_chat_flutter/changelog).
|
||||
|
||||
## 5.1.0
|
||||
|
||||
* Updated `dart` sdk environment range to support `3.0.0`.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: stream_chat_localizations
|
||||
description: The Official localizations for Stream Chat Flutter, a service for building chat applications
|
||||
version: 5.1.0
|
||||
version: 5.2.0
|
||||
homepage: https://github.com/GetStream/stream-chat-flutter
|
||||
repository: https://github.com/GetStream/stream-chat-flutter
|
||||
issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues
|
||||
@@ -14,7 +14,7 @@ dependencies:
|
||||
sdk: flutter
|
||||
flutter_localizations:
|
||||
sdk: flutter
|
||||
stream_chat_flutter: ^6.1.0
|
||||
stream_chat_flutter: ^6.2.0
|
||||
|
||||
dev_dependencies:
|
||||
dart_code_metrics: ^5.7.2
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
## Upcoming
|
||||
## 6.2.0
|
||||
|
||||
- Added support for `StreamChatPersistenceClient.isConnected` for checking if the client is connected to the database.
|
||||
- [[#1422]](https://github.com/GetStream/stream-chat-flutter/issues/1422) Removed default values
|
||||
from `UserEntity` `createdAt` and `updatedAt` fields.
|
||||
- Updated `stream_chat` dependency to [`6.2.0`](https://pub.dev/packages/stream_chat/changelog).
|
||||
- Added support for `StreamChatPersistenceClient.openPersistenceConnection`
|
||||
and `StreamChatPersistenceClient.closePersistenceConnection` for opening and closing the database connection.
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: stream_chat_persistence
|
||||
homepage: https://github.com/GetStream/stream-chat-flutter
|
||||
description: Official Stream Chat Persistence library. Build your own chat experience using Dart and Flutter.
|
||||
version: 6.1.0
|
||||
version: 6.2.0
|
||||
repository: https://github.com/GetStream/stream-chat-flutter
|
||||
issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues
|
||||
|
||||
@@ -18,7 +18,7 @@ dependencies:
|
||||
path: ^1.8.2
|
||||
path_provider: ^2.0.1
|
||||
sqlite3_flutter_libs: ^0.5.0
|
||||
stream_chat: ^6.1.0
|
||||
stream_chat: ^6.2.0
|
||||
|
||||
dev_dependencies:
|
||||
build_runner: ^2.3.3
|
||||
|
||||
Reference in New Issue
Block a user