diff --git a/packages/stream_feed/lib/src/client/analytics_client.dart b/packages/stream_feed/lib/src/client/analytics_client.dart index 44255b7a1..d4a86eb79 100644 --- a/packages/stream_feed/lib/src/client/analytics_client.dart +++ b/packages/stream_feed/lib/src/client/analytics_client.dart @@ -16,6 +16,7 @@ import 'package:stream_feed/src/core/util/token_helper.dart'; /// - Viewing another user's profile page /// - Searching for a certain user/content/topic/etc. /// {@endtemplate} +// ignore: must_be_immutable class StreamAnalytics extends Equatable { /// [StreamAnalytics] constructor: /// diff --git a/packages/stream_feed/lib/src/client/batch_operations_client.dart b/packages/stream_feed/lib/src/client/batch_operations_client.dart index 94065310f..68a148792 100644 --- a/packages/stream_feed/lib/src/client/batch_operations_client.dart +++ b/packages/stream_feed/lib/src/client/batch_operations_client.dart @@ -64,7 +64,8 @@ class BatchOperationsClient { final token = TokenHelper.buildFollowToken(secret, TokenAction.write); return _batch.unfollowMany( token, - unfollows.map((e) => UnFollowRelation.fromFollow(e, keepHistory)), + unfollows + .map((e) => UnFollowRelation.fromFollow(e, keepHistory: keepHistory)), ); } diff --git a/packages/stream_feed/lib/src/client/personalization_client.dart b/packages/stream_feed/lib/src/client/personalization_client.dart index b9dd09c88..5d6152fff 100644 --- a/packages/stream_feed/lib/src/client/personalization_client.dart +++ b/packages/stream_feed/lib/src/client/personalization_client.dart @@ -10,6 +10,7 @@ import 'package:stream_feed/src/core/util/token_helper.dart'; /// learning to optimize what's shown in the feed. /// /// The 5 most common use cases are: +// ignore: doc_directive_unknown /// {@image } /// /// Famous examples of discovery feeds are Instagram's explore section diff --git a/packages/stream_feed/lib/src/core/error/stream_feeds_dio_error.dart b/packages/stream_feed/lib/src/core/error/stream_feeds_dio_error.dart index 3874275e9..db193cb5f 100644 --- a/packages/stream_feed/lib/src/core/error/stream_feeds_dio_error.dart +++ b/packages/stream_feed/lib/src/core/error/stream_feeds_dio_error.dart @@ -2,13 +2,13 @@ import 'package:dio/dio.dart'; import 'package:stream_feed/src/core/error/stream_feeds_error.dart'; /// Error class specific to StreamFeed and Dio -class StreamFeedsDioError extends DioError { +class StreamFeedsDioError extends DioException { /// Initialize a stream feed dio error StreamFeedsDioError({ required this.error, required RequestOptions requestOptions, Response? response, - DioErrorType type = DioErrorType.other, + DioExceptionType type = DioExceptionType.unknown, }) : super( error: error, requestOptions: requestOptions, diff --git a/packages/stream_feed/lib/src/core/error/stream_feeds_error.dart b/packages/stream_feed/lib/src/core/error/stream_feeds_error.dart index 8fa64e6e8..6db3ed621 100644 --- a/packages/stream_feed/lib/src/core/error/stream_feeds_error.dart +++ b/packages/stream_feed/lib/src/core/error/stream_feeds_error.dart @@ -38,8 +38,8 @@ class StreamFeedsNetworkError extends StreamFeedsError { this.data, }) : super(message); - /// Builds a [StreamFeedsNetworkError] from a [DioError]. - factory StreamFeedsNetworkError.fromDioError(DioError error) { + /// Builds a [StreamFeedsNetworkError] from a [DioException]. + factory StreamFeedsNetworkError.fromDioError(DioException error) { final response = error.response; ErrorResponse? errorResponse; final data = json.decode(response?.data); @@ -49,7 +49,7 @@ class StreamFeedsNetworkError extends StreamFeedsError { return StreamFeedsNetworkError.raw( code: errorResponse?.code ?? -1, message: - errorResponse?.message ?? response?.statusMessage ?? error.message, + errorResponse?.message ?? response?.statusMessage ?? error.message!, statusCode: errorResponse?.statusCode ?? response?.statusCode, data: errorResponse, )..stackTrace = error.stackTrace; diff --git a/packages/stream_feed/lib/src/core/http/interceptor/logging_interceptor.dart b/packages/stream_feed/lib/src/core/http/interceptor/logging_interceptor.dart index f78b46ea6..d869e8adc 100644 --- a/packages/stream_feed/lib/src/core/http/interceptor/logging_interceptor.dart +++ b/packages/stream_feed/lib/src/core/http/interceptor/logging_interceptor.dart @@ -116,9 +116,9 @@ class LoggingInterceptor extends Interceptor { } @override - void onError(DioError err, ErrorInterceptorHandler handler) { + void onError(DioException err, ErrorInterceptorHandler handler) { if (error) { - if (err.type == DioErrorType.response) { + if (err.type == DioExceptionType.unknown) { final uri = err.response?.requestOptions.uri; _printBoxed( _logPrintError, diff --git a/packages/stream_feed/lib/src/core/http/stream_http_client.dart b/packages/stream_feed/lib/src/core/http/stream_http_client.dart index d60cb5d55..bb74f851f 100644 --- a/packages/stream_feed/lib/src/core/http/stream_http_client.dart +++ b/packages/stream_feed/lib/src/core/http/stream_http_client.dart @@ -24,8 +24,8 @@ class StreamHttpClient { }) : options = options ?? const StreamHttpClientOptions(), httpClient = dio ?? Dio() { httpClient - ..options.receiveTimeout = this.options.receiveTimeout.inMilliseconds - ..options.connectTimeout = this.options.connectTimeout.inMilliseconds + ..options.receiveTimeout = this.options.receiveTimeout + ..options.connectTimeout = this.options.connectTimeout ..options.queryParameters = { 'api_key': apiKey, 'location': this.options.group, @@ -70,7 +70,7 @@ class StreamHttpClient { @visibleForTesting final Dio httpClient; - StreamFeedsNetworkError _parseError(DioError err) { + StreamFeedsNetworkError _parseError(DioException err) { StreamFeedsNetworkError error; // locally thrown dio error if (err is StreamFeedsDioError) { @@ -100,7 +100,7 @@ class StreamHttpClient { options: Options(headers: headers?.nullProtected), ); return response; - } on DioError catch (error) { + } on DioException catch (error) { throw _parseError(error); } } @@ -125,7 +125,7 @@ class StreamHttpClient { onReceiveProgress: onReceiveProgress, cancelToken: cancelToken); return response; - } on DioError catch (error) { + } on DioException catch (error) { throw _parseError(error); } } @@ -144,7 +144,7 @@ class StreamHttpClient { options: Options(headers: headers?.nullProtected), ); return response; - } on DioError catch (error) { + } on DioException catch (error) { throw _parseError(error); } } @@ -165,7 +165,7 @@ class StreamHttpClient { options: Options(headers: headers?.nullProtected), ); return response; - } on DioError catch (error) { + } on DioException catch (error) { throw _parseError(error); } } @@ -186,7 +186,7 @@ class StreamHttpClient { options: Options(headers: headers?.nullProtected), ); return response; - } on DioError catch (error) { + } on DioException catch (error) { throw _parseError(error); } } @@ -210,7 +210,7 @@ class StreamHttpClient { onReceiveProgress: onReceiveProgress, cancelToken: cancelToken); return response; - } on DioError catch (error) { + } on DioException catch (error) { throw _parseError(error); } } diff --git a/packages/stream_feed/lib/src/core/models/follow_relation.dart b/packages/stream_feed/lib/src/core/models/follow_relation.dart index d2b1fb43a..f2645e42a 100644 --- a/packages/stream_feed/lib/src/core/models/follow_relation.dart +++ b/packages/stream_feed/lib/src/core/models/follow_relation.dart @@ -43,8 +43,8 @@ class UnFollowRelation extends FollowRelation { _$UnFollowRelationFromJson(json); /// Builds an [UnFollowRelation] from a Follow. - factory UnFollowRelation.fromFollow( - FollowRelation follow, bool? keepHistory) => + factory UnFollowRelation.fromFollow(FollowRelation follow, + {bool? keepHistory}) => UnFollowRelation( source: follow.source, target: follow.target, diff --git a/packages/stream_feed/lib/src/core/util/serializer.dart b/packages/stream_feed/lib/src/core/util/serializer.dart index 9a66bdd9b..dff0886e3 100644 --- a/packages/stream_feed/lib/src/core/util/serializer.dart +++ b/packages/stream_feed/lib/src/core/util/serializer.dart @@ -1,5 +1,5 @@ /// Used to avoid to serialize properties to json -Null readonly(_) => null; +dynamic readonly(_) => null; /// Helper class for serialization to and from json class Serializer { diff --git a/packages/stream_feed/pubspec.yaml b/packages/stream_feed/pubspec.yaml index c089feabb..bf7d1af59 100644 --- a/packages/stream_feed/pubspec.yaml +++ b/packages/stream_feed/pubspec.yaml @@ -6,15 +6,15 @@ repository: https://github.com/GetStream/stream-feed-flutter issue_tracker: https://github.com/GetStream/stream-feed-flutter/issues homepage: https://getstream.io/ environment: - sdk: ">=2.14.0 <3.0.0" + sdk: ">=3.3.0 <4.0.0" dependencies: collection: ^1.15.0 - dio: ^4.0.0 + dio: ^5.6.0 equatable: ^2.0.0 faye_dart: ^0.1.1+2 http_parser: ^4.0.0 - intl: ^0.17.0 + intl: ^0.19.0 jose: ^0.3.2 json_annotation: ^4.4.0 logging: ^1.0.1 @@ -24,7 +24,7 @@ dependencies: dev_dependencies: build_runner: ^2.0.2 json_serializable: ^6.1.5 - mocktail: ^0.3.0 + mocktail: ^1.0.4 test: ^1.17.3 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec diff --git a/packages/stream_feed/test/models_test.dart b/packages/stream_feed/test/models_test.dart index b82fce9ef..f6c3f9154 100644 --- a/packages/stream_feed/test/models_test.dart +++ b/packages/stream_feed/test/models_test.dart @@ -869,7 +869,8 @@ void main() { test('fromFollow', () { const follow = FollowRelation(source: 'feedId', target: 'targetId'); - final unfollowFromFollow = UnFollowRelation.fromFollow(follow, true); + final unfollowFromFollow = + UnFollowRelation.fromFollow(follow, keepHistory: true); expect(unfollowFromFollow, unfollow); }); @@ -1288,7 +1289,7 @@ void main() { const size = 0; test('should throw if `path` or `bytes` is not provided', () { - expect(() => AttachmentFile(), throwsA(isA())); + expect(AttachmentFile.new, throwsA(isA())); }); test('toJson', () { diff --git a/packages/stream_feed/test/stream_feeds_error_test.dart b/packages/stream_feed/test/stream_feeds_error_test.dart index e900a514e..cf2833343 100644 --- a/packages/stream_feed/test/stream_feeds_error_test.dart +++ b/packages/stream_feed/test/stream_feeds_error_test.dart @@ -28,7 +28,7 @@ void main() { statusCode: statusCode, ); - final dioError = DioError( + final dioError = DioException( requestOptions: options, response: Response( requestOptions: options,