From 80dfccce7555ad67f787b4272b947dfa5cd05974 Mon Sep 17 00:00:00 2001 From: Sailesh Dahal Date: Mon, 20 Feb 2023 11:46:36 +0545 Subject: [PATCH] chore: Bump min dart version 2.19 and dependenies --- analysis_options.yaml | 1 - example/pubspec.yaml | 7 ++- packages/faye_dart/CHANGELOG.md | 4 +- packages/faye_dart/pubspec.yaml | 19 +++---- packages/stream_feed/CHANGELOG.md | 22 ++++---- packages/stream_feed/example/lib/main.dart | 3 +- .../core/error/stream_feeds_dio_error.dart | 2 +- .../src/core/error/stream_feeds_error.dart | 6 +- .../http/interceptor/logging_interceptor.dart | 2 +- .../lib/src/core/http/stream_http_client.dart | 4 +- packages/stream_feed/pubspec.yaml | 30 +++++----- .../test/aggregated_client_test.dart | 32 ++++------- .../stream_feed/test/analytics_api_test.dart | 4 +- .../test/analytics_client_test.dart | 4 +- .../test/collections_client_test.dart | 14 ++--- .../stream_feed/test/feed_client_test.dart | 8 +-- .../stream_feed/test/files_client_test.dart | 6 +- .../stream_feed/test/flat_client_test.dart | 55 +++++++------------ .../stream_feed/test/images_client_test.dart | 6 +- packages/stream_feed/test/models_test.dart | 2 +- .../test/notification_client_test.dart | 32 ++++------- .../test/reactions_client_test.dart | 4 +- .../stream_feed/test/users_client_test.dart | 6 +- packages/stream_feed_flutter/pubspec.yaml | 24 ++++---- .../stream_feed_flutter_core/CHANGELOG.md | 10 ++-- .../lib/src/extensions.dart | 1 - .../lib/src/upload_list_core.dart | 3 +- .../stream_feed_flutter_core/pubspec.yaml | 16 +++--- .../test/bloc/upload_test.dart | 5 +- 29 files changed, 142 insertions(+), 190 deletions(-) diff --git a/analysis_options.yaml b/analysis_options.yaml index 5861ce9c1..16c50a86e 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -27,7 +27,6 @@ linter: - diagnostic_describe_all_properties - empty_statements - hash_and_equals - - invariant_booleans - iterable_contains_unrelated_type - list_remove_unrelated_type - literal_only_boolean_expressions diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 577b1bf76..c403a50ba 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -5,15 +5,16 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.19.0 <4.0.0" + flutter: ">=3.7.0" dependencies: - cupertino_icons: ^1.0.2 + cupertino_icons: ^1.0.5 flutter: sdk: flutter stream_feed: path: ../packages/stream_feed - timeago: ^3.0.2 + timeago: ^3.3.0 dev_dependencies: flutter_test: diff --git a/packages/faye_dart/CHANGELOG.md b/packages/faye_dart/CHANGELOG.md index bf8fb4e11..d3c59759e 100644 --- a/packages/faye_dart/CHANGELOG.md +++ b/packages/faye_dart/CHANGELOG.md @@ -1,6 +1,8 @@ +## [0.1.1+3] - (20-02-2023) +- Bump Dart version and dependencies ## [0.1.1+2] - (27-05-2022) - nothing new / lints - + ## [0.1.1+1] - (25-02-2022) - fix: implement Equatable on `FayeClient`. With this change, if you fetch your client from an `InheritedWidget` for example, `updateShouldNotify` doesn't trigger every time. diff --git a/packages/faye_dart/pubspec.yaml b/packages/faye_dart/pubspec.yaml index 5ae2f85ab..7d57f2ee7 100644 --- a/packages/faye_dart/pubspec.yaml +++ b/packages/faye_dart/pubspec.yaml @@ -1,23 +1,22 @@ name: faye_dart description: Faye is a publish/subscribe messaging protocol that is built on the Bayeux protocol, a messaging system utilized for transporting asynchronous messages over HTTP. -version: 0.1.1+2 +version: 0.1.1+3 homepage: https://github.com/GetStream/stream-feed-flutter/blob/master/packages/faye_dart repository: https://github.com/GetStream/stream-feed-flutter/blob/master/packages/faye_dart issue_tracker: https://github.com/GetStream/stream-feed-flutter/issues environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.19.0 <4.0.0" dependencies: - equatable: ^2.0.0 - logging: ^1.0.1 - meta: ^1.3.0 - uuid: ^3.0.4 - web_socket_channel: ^2.1.0 + equatable: ^2.0.5 + logging: ^1.1.1 + meta: ^1.8.0 + uuid: ^3.0.7 + web_socket_channel: ^2.3.0 dev_dependencies: mocktail: ^0.3.0 - test: ^1.17.3 - + test: ^1.23.1 # For information on the generic Dart part of this file, see the -# following page: https://dart.dev/tools/pub/pubspec \ No newline at end of file +# following page: https://dart.dev/tools/pub/pubspec diff --git a/packages/stream_feed/CHANGELOG.md b/packages/stream_feed/CHANGELOG.md index a2b5636c1..35a4916e9 100644 --- a/packages/stream_feed/CHANGELOG.md +++ b/packages/stream_feed/CHANGELOG.md @@ -1,3 +1,5 @@ +## 0.6.0+3: 20/02/2023 +- Bump Dart version and dependencies ## 0.6.0+2: 27/05/2022 - bumb version in sdk header @@ -23,11 +25,11 @@ await flatFeed.getPaginatedEnrichedActivities(limit: nextParams.limit,filter: ne - fix: the `JsonConverter` implemented in 0.4.0+1 that was supposed to handle utc dates parsing wasn't working properly. Now that it is actually fixed you can convert dates in the user's local timezone. - depedencies bumps - + ## 0.5.1: 12/01/2022 - upstream(realtime): version bump. You can now listen to connexion status in the `Subscription` class. For example: - + ```dart final subscription = await feed.subscribe(); final subscriptionStatus = subscription.stateStream; @@ -39,7 +41,7 @@ final subscriptionStatus = subscription.stateStream; ## 0.5.0: 12/01/2022 - BREAKING: we no longer accept a token in the constructor. This change is inspired by Stream Chat, and allows for use cases like multi account management. It allows to instantiate `StreamFeedClient` at the top of your widget tree for example, and connecting the user later. - + ```diff - client = StreamFeedClient(apiKey, token: frontendToken); + client = StreamFeedClient(apiKey); @@ -85,7 +87,7 @@ A = [actor]: can be an User, String Ob = [object] can a String, or a CollectionEntry T = [target] can be a String or an Activity Or = [origin] can be a String or a Reaction or an User -- breaking: along with these changes we removed `EnrichableField` field from `EnrichedActivity` +- breaking: along with these changes we removed `EnrichableField` field from `EnrichedActivity` - new: there is a type definition `EnrichedActivity` to handle most use cases of `GenericEnrichedActivity` (User,String,String,String) - fix: a time drift issue in token generation when using the low level client sever-side - bump: dart sdk package constraints to 2.14 to make use of typedefs for non function types @@ -93,7 +95,7 @@ Or = [origin] can be a String or a Reaction or an User ## 0.3.0: 06/09/2021 -- improvements: +- improvements: - docs - better error handling and expose exeception type - const constructors when possible @@ -105,11 +107,11 @@ Or = [origin] can be a String or a Reaction or an User - fix: missing field `ownChildren` in `Reaction` model - new: allow sending enrichment flags in `filter` mehod - new: createReactionReference - + ## 0.2.3: 03/08/2021 - remove dead links in Readmes - + ## 0.2.2: 14/06/2021 - fix: RealTime message serialization issue @@ -122,12 +124,12 @@ RealtimeMessage newActivities field now of type `List` instead ## 0.2.0: 21/05/2021 - fix: Follow model -- new: FollowRelation +- new: FollowRelation - breaking: un/followMany batch methods now accept `Iterable` parameter instead of `Iterable` ## 0.1.3: 17/05/2021 -- fix: EnrichedActivity Not Returning Reactions +- fix: EnrichedActivity Not Returning Reactions - update links in readme ## 0.1.2: 07/05/2021 @@ -136,4 +138,4 @@ RealtimeMessage newActivities field now of type `List` instead ## 0.1.1: 07/05/2021 -- first beta version \ No newline at end of file +- first beta version diff --git a/packages/stream_feed/example/lib/main.dart b/packages/stream_feed/example/lib/main.dart index 29bc91455..0bc178f8e 100644 --- a/packages/stream_feed/example/lib/main.dart +++ b/packages/stream_feed/example/lib/main.dart @@ -115,7 +115,8 @@ Future main() async { final like = await user1.addActivity(activity); // send the update to the APIs - user1.updateActivityById(id: like.id!, + user1.updateActivityById( + id: like.id!, // update the popularity value for the activity set: { 'popularity': 10, 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..daad8e23d 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 @@ -8,7 +8,7 @@ class StreamFeedsDioError extends DioError { required this.error, required RequestOptions requestOptions, Response? response, - DioErrorType type = DioErrorType.other, + DioErrorType type = DioErrorType.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..aaf770f44 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 @@ -48,8 +48,10 @@ class StreamFeedsNetworkError extends StreamFeedsError { } return StreamFeedsNetworkError.raw( code: errorResponse?.code ?? -1, - message: - errorResponse?.message ?? response?.statusMessage ?? error.message, + 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..64fcc1d27 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 @@ -118,7 +118,7 @@ class LoggingInterceptor extends Interceptor { @override void onError(DioError err, ErrorInterceptorHandler handler) { if (error) { - if (err.type == DioErrorType.response) { + if (err.type == DioErrorType.badResponse) { 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..251305658 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, diff --git a/packages/stream_feed/pubspec.yaml b/packages/stream_feed/pubspec.yaml index c089feabb..0b9844de7 100644 --- a/packages/stream_feed/pubspec.yaml +++ b/packages/stream_feed/pubspec.yaml @@ -1,30 +1,30 @@ name: stream_feed description: Stream Feed official Dart SDK. Build your own feed experience using Dart and Flutter. -version: 0.6.0+2 +version: 0.6.0+3 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: ">=2.19.0 <4.0.0" dependencies: - collection: ^1.15.0 - dio: ^4.0.0 - equatable: ^2.0.0 - faye_dart: ^0.1.1+2 - http_parser: ^4.0.0 + collection: ^1.17.0 + dio: ^5.0.0 + equatable: ^2.0.5 + faye_dart: ^0.1.1+3 + http_parser: ^4.0.2 intl: ^0.17.0 - jose: ^0.3.2 - json_annotation: ^4.4.0 - logging: ^1.0.1 - meta: ^1.3.0 - mime: ^1.0.0 + jose: ^0.3.3 + json_annotation: ^4.8.0 + logging: ^1.1.1 + meta: ^1.8.0 + mime: ^1.0.4 dev_dependencies: - build_runner: ^2.0.2 - json_serializable: ^6.1.5 + build_runner: ^2.3.3 + json_serializable: ^6.6.1 mocktail: ^0.3.0 - test: ^1.17.3 + test: ^1.23.1 # 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/aggregated_client_test.dart b/packages/stream_feed/test/aggregated_client_test.dart index 81e8f857b..30cd75ab6 100644 --- a/packages/stream_feed/test/aggregated_client_test.dart +++ b/packages/stream_feed/test/aggregated_client_test.dart @@ -36,12 +36,10 @@ void main() { }; final rawActivities = [jsonFixture('group.json')]; - when(() => api.getEnrichedActivities(token, feedId, options)) - .thenAnswer((_) async => Response( + when(() => api.getEnrichedActivities(token, feedId, options)).thenAnswer( + (_) async => Response( data: {'results': rawActivities}, - requestOptions: RequestOptions( - path: '', - ), + requestOptions: RequestOptions(), statusCode: 200)); final activities = await client.getEnrichedActivityDetail(activityId); @@ -73,12 +71,10 @@ void main() { ...Default.marker.params, }; final rawActivities = [jsonFixture('group.json')]; - when(() => api.getActivities(token, feedId, options)) - .thenAnswer((_) async => Response( + when(() => api.getActivities(token, feedId, options)).thenAnswer( + (_) async => Response( data: {'results': rawActivities}, - requestOptions: RequestOptions( - path: '', - ), + requestOptions: RequestOptions(), statusCode: 200)); final activities = await client.getActivityDetail(activityId); @@ -105,12 +101,10 @@ void main() { ...marker.params, }; final rawActivities = [jsonFixture('group.json')]; - when(() => api.getActivities(token, feedId, options)) - .thenAnswer((_) async => Response( + when(() => api.getActivities(token, feedId, options)).thenAnswer( + (_) async => Response( data: {'results': rawActivities}, - requestOptions: RequestOptions( - path: '', - ), + requestOptions: RequestOptions(), statusCode: 200)); final activities = await client.getActivities( limit: limit, offset: offset, filter: filter, marker: marker); @@ -141,12 +135,10 @@ void main() { }; final rawActivities = [jsonFixture('group_enriched_activity.json')]; - when(() => api.getEnrichedActivities(token, feedId, options)) - .thenAnswer((_) async => Response( + when(() => api.getEnrichedActivities(token, feedId, options)).thenAnswer( + (_) async => Response( data: {'results': rawActivities}, - requestOptions: RequestOptions( - path: '', - ), + requestOptions: RequestOptions(), statusCode: 200)); final activities = await client.getEnrichedActivities( diff --git a/packages/stream_feed/test/analytics_api_test.dart b/packages/stream_feed/test/analytics_api_test.dart index 663425575..320426710 100644 --- a/packages/stream_feed/test/analytics_api_test.dart +++ b/packages/stream_feed/test/analytics_api_test.dart @@ -48,7 +48,7 @@ void main() { data: json.encode([updatedImpression]), )).thenAnswer( (_) async => Response( - requestOptions: RequestOptions(path: ''), + requestOptions: RequestOptions(), statusCode: 200, ), ); @@ -100,7 +100,7 @@ void main() { }), )).thenAnswer( (_) async => Response( - requestOptions: RequestOptions(path: ''), + requestOptions: RequestOptions(), statusCode: 200, ), ); diff --git a/packages/stream_feed/test/analytics_client_test.dart b/packages/stream_feed/test/analytics_client_test.dart index 76434540f..a83754462 100644 --- a/packages/stream_feed/test/analytics_client_test.dart +++ b/packages/stream_feed/test/analytics_client_test.dart @@ -48,7 +48,7 @@ void main() { final updatedImpression = impression.copyWith(userData: userData); when(() => api.trackImpressions(token, [updatedImpression])).thenAnswer( (_) async => Response( - requestOptions: RequestOptions(path: ''), + requestOptions: RequestOptions(), statusCode: 200, ), ); @@ -89,7 +89,7 @@ void main() { final updatedEngagement = engagement.copyWith(userData: userData); when(() => api.trackEngagements(token, [updatedEngagement])).thenAnswer( (_) async => Response( - requestOptions: RequestOptions(path: ''), + requestOptions: RequestOptions(), statusCode: 200, ), ); diff --git a/packages/stream_feed/test/collections_client_test.dart b/packages/stream_feed/test/collections_client_test.dart index 8596e70cf..ad6c046de 100644 --- a/packages/stream_feed/test/collections_client_test.dart +++ b/packages/stream_feed/test/collections_client_test.dart @@ -39,13 +39,9 @@ void main() { test('delete', () async { const collection = 'food'; const entryId = 'cheeseburger'; - when(() => api.delete(token, collection, entryId)) - .thenAnswer((_) async => Response( - data: {}, - requestOptions: RequestOptions( - path: '', - ), - statusCode: 200)); + when(() => api.delete(token, collection, entryId)).thenAnswer((_) async => + Response( + data: {}, requestOptions: RequestOptions(), statusCode: 200)); await client.delete(collection, entryId); verify(() => api.delete(token, collection, entryId)).called(1); }); @@ -100,9 +96,7 @@ void main() { when(() => api.deleteMany(token, collection, entryIds)) .thenAnswer((_) async => Response( data: {}, //TODO: flaky - requestOptions: RequestOptions( - path: '', - ), + requestOptions: RequestOptions(), statusCode: 200)); await clientWithSecret.deleteMany(collection, entryIds); verify(() => api.deleteMany(token, collection, entryIds)).called(1); diff --git a/packages/stream_feed/test/feed_client_test.dart b/packages/stream_feed/test/feed_client_test.dart index aee6c15f6..07c4022ea 100644 --- a/packages/stream_feed/test/feed_client_test.dart +++ b/packages/stream_feed/test/feed_client_test.dart @@ -14,12 +14,8 @@ void main() { final feedId = FeedId('slug', 'userId'); const token = Token('dummyToken'); final client = Feed(feedId, api, userToken: token); - final dummyResponse = Response( - data: {}, - requestOptions: RequestOptions( - path: '', - ), - statusCode: 200); + final dummyResponse = + Response(data: {}, requestOptions: RequestOptions(), statusCode: 200); test('addActivity', () async { const activity = Activity( diff --git a/packages/stream_feed/test/files_client_test.dart b/packages/stream_feed/test/files_client_test.dart index 8301dff0a..bcf021129 100644 --- a/packages/stream_feed/test/files_client_test.dart +++ b/packages/stream_feed/test/files_client_test.dart @@ -39,11 +39,7 @@ void main() { test('delete', () async { const targetUrl = 'targetUrl'; when(() => api.delete(token, targetUrl)).thenAnswer((_) async => Response( - data: {}, - requestOptions: RequestOptions( - path: '', - ), - statusCode: 200)); + data: {}, requestOptions: RequestOptions(), statusCode: 200)); await client.delete(targetUrl); verify(() => api.delete(token, targetUrl)).called(1); }); diff --git a/packages/stream_feed/test/flat_client_test.dart b/packages/stream_feed/test/flat_client_test.dart index 2865ac70b..9507c90b0 100644 --- a/packages/stream_feed/test/flat_client_test.dart +++ b/packages/stream_feed/test/flat_client_test.dart @@ -65,12 +65,10 @@ void main() { }; final rawActivities = [jsonFixture('enriched_activity.json')]; - when(() => api.getEnrichedActivities(token, feedId, options)) - .thenAnswer((_) async => Response( + when(() => api.getEnrichedActivities(token, feedId, options)).thenAnswer( + (_) async => Response( data: {'results': rawActivities}, - requestOptions: RequestOptions( - path: '', - ), + requestOptions: RequestOptions(), statusCode: 200)); final activities = await client.getEnrichedActivityDetail(activityId); @@ -78,8 +76,8 @@ void main() { expect( activities, rawActivities - .map((e) => GenericEnrichedActivity.fromJson(e)) + .map(GenericEnrichedActivity + .fromJson) .toList(growable: false) .first); verify(() => api.getEnrichedActivities(token, feedId, options)).called(1); @@ -98,21 +96,15 @@ void main() { ...Default.marker.params, }; final rawActivities = [jsonFixture('group.json')]; - when(() => api.getActivities(token, feedId, options)) - .thenAnswer((_) async => Response( + when(() => api.getActivities(token, feedId, options)).thenAnswer( + (_) async => Response( data: {'results': rawActivities}, - requestOptions: RequestOptions( - path: '', - ), + requestOptions: RequestOptions(), statusCode: 200)); final activities = await client.getActivityDetail(activityId); - expect( - activities, - rawActivities - .map((e) => Activity.fromJson(e)) - .toList(growable: false) - .first); + expect(activities, + rawActivities.map(Activity.fromJson).toList(growable: false).first); verify(() => api.getActivities(token, feedId, options)).called(1); }); @@ -167,21 +159,16 @@ void main() { }; final rawActivities = [jsonFixture('activity.json')]; - when(() => api.getActivities(token, feedId, options)) - .thenAnswer((_) async => Response( + when(() => api.getActivities(token, feedId, options)).thenAnswer( + (_) async => Response( data: {'results': rawActivities}, - requestOptions: RequestOptions( - path: '', - ), + requestOptions: RequestOptions(), statusCode: 200)); final activities = await client.getActivities( limit: limit, offset: offset, filter: filter, ranking: ranking); - expect( - activities, - rawActivities - .map((e) => Activity.fromJson(e)) - .toList(growable: false)); + expect(activities, + rawActivities.map(Activity.fromJson).toList(growable: false)); verify(() => api.getActivities(token, feedId, options)).called(1); }); @@ -203,12 +190,10 @@ void main() { }; final rawActivities = [jsonFixture('enriched_activity.json')]; - when(() => api.getEnrichedActivities(token, feedId, options)) - .thenAnswer((_) async => Response( + when(() => api.getEnrichedActivities(token, feedId, options)).thenAnswer( + (_) async => Response( data: {'results': rawActivities}, - requestOptions: RequestOptions( - path: '', - ), + requestOptions: RequestOptions(), statusCode: 200)); final activities = await client.getEnrichedActivities( @@ -222,8 +207,8 @@ void main() { expect( activities, rawActivities - .map((e) => GenericEnrichedActivity.fromJson(e)) + .map(GenericEnrichedActivity + .fromJson) .toList(growable: false)); verify(() => api.getEnrichedActivities(token, feedId, options)).called(1); }); diff --git a/packages/stream_feed/test/images_client_test.dart b/packages/stream_feed/test/images_client_test.dart index 26e1afb69..796511c6f 100644 --- a/packages/stream_feed/test/images_client_test.dart +++ b/packages/stream_feed/test/images_client_test.dart @@ -70,11 +70,7 @@ void main() { test('delete', () async { const targetUrl = 'targetUrl'; when(() => api.delete(token, targetUrl)).thenAnswer((_) async => Response( - data: {}, - requestOptions: RequestOptions( - path: '', - ), - statusCode: 200)); + data: {}, requestOptions: RequestOptions(), statusCode: 200)); await client.delete(targetUrl); verify(() => api.delete(token, targetUrl)).called(1); }); diff --git a/packages/stream_feed/test/models_test.dart b/packages/stream_feed/test/models_test.dart index b82fce9ef..0628975b2 100644 --- a/packages/stream_feed/test/models_test.dart +++ b/packages/stream_feed/test/models_test.dart @@ -1288,7 +1288,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/notification_client_test.dart b/packages/stream_feed/test/notification_client_test.dart index 8e9426dc4..a01ab604e 100644 --- a/packages/stream_feed/test/notification_client_test.dart +++ b/packages/stream_feed/test/notification_client_test.dart @@ -35,12 +35,10 @@ void main() { ...Default.marker.params, }; final rawActivities = [jsonFixture('group.json')]; - when(() => api.getActivities(token, feedId, options)) - .thenAnswer((_) async => Response( + when(() => api.getActivities(token, feedId, options)).thenAnswer( + (_) async => Response( data: {'results': rawActivities}, - requestOptions: RequestOptions( - path: '', - ), + requestOptions: RequestOptions(), statusCode: 200)); final activities = await client.getActivityDetail(activityId); @@ -67,12 +65,10 @@ void main() { ...marker.params, }; final rawActivities = [jsonFixture('group.json')]; - when(() => api.getActivities(token, feedId, options)) - .thenAnswer((_) async => Response( + when(() => api.getActivities(token, feedId, options)).thenAnswer( + (_) async => Response( data: {'results': rawActivities}, - requestOptions: RequestOptions( - path: '', - ), + requestOptions: RequestOptions(), statusCode: 200)); final activities = await client.getActivities( limit: limit, offset: offset, filter: filter, marker: marker); @@ -96,12 +92,10 @@ void main() { ...marker.params, }; final rawData = jsonFixture('meta.json'); - when(() => api.getActivities(token, feedId, options)) - .thenAnswer((_) async => Response( + when(() => api.getActivities(token, feedId, options)).thenAnswer( + (_) async => Response( data: rawData, - requestOptions: RequestOptions( - path: '', - ), + requestOptions: RequestOptions(), statusCode: 200)); await client.getUnreadUnseenCounts(filter: filter, marker: marker); @@ -125,12 +119,10 @@ void main() { }; final rawActivities = [jsonFixture('group_enriched_activity.json')]; - when(() => api.getEnrichedActivities(token, feedId, options)) - .thenAnswer((_) async => Response( + when(() => api.getEnrichedActivities(token, feedId, options)).thenAnswer( + (_) async => Response( data: {'results': rawActivities}, - requestOptions: RequestOptions( - path: '', - ), + requestOptions: RequestOptions(), statusCode: 200)); final activities = await client.getEnrichedActivities( diff --git a/packages/stream_feed/test/reactions_client_test.dart b/packages/stream_feed/test/reactions_client_test.dart index a9549a1d8..754f03458 100644 --- a/packages/stream_feed/test/reactions_client_test.dart +++ b/packages/stream_feed/test/reactions_client_test.dart @@ -11,9 +11,7 @@ void main() { const userId = 'john-doe'; final dummyResponse = Response( data: {}, - requestOptions: RequestOptions( - path: '', - ), + requestOptions: RequestOptions(), statusCode: 200, ); diff --git a/packages/stream_feed/test/users_client_test.dart b/packages/stream_feed/test/users_client_test.dart index 9b6bd4983..7d5021aaa 100644 --- a/packages/stream_feed/test/users_client_test.dart +++ b/packages/stream_feed/test/users_client_test.dart @@ -46,11 +46,7 @@ void main() { test('delete', () async { const id = 'john-doe'; when(() => api.delete(token, id)).thenAnswer((_) async => Response( - data: {}, - requestOptions: RequestOptions( - path: '', - ), - statusCode: 200)); + data: {}, requestOptions: RequestOptions(), statusCode: 200)); await client.delete(); verify(() => api.delete(token, id)).called(1); }); diff --git a/packages/stream_feed_flutter/pubspec.yaml b/packages/stream_feed_flutter/pubspec.yaml index 0bf5182e7..9a853f50e 100644 --- a/packages/stream_feed_flutter/pubspec.yaml +++ b/packages/stream_feed_flutter/pubspec.yaml @@ -5,24 +5,24 @@ homepage: https://getstream.io/ publish_to: none environment: - sdk: ">=2.13.0 <3.0.0" + sdk: ">=2.19.0 <4.0.0" dependencies: - animations: ^2.0.2 - chewie: ^1.3.2 - equatable: ^2.0.2 + animations: ^2.0.7 + chewie: ^1.4.0 + equatable: ^2.0.5 flutter: sdk: flutter - flutter_svg: ^0.22.0 - image_picker: ^0.8.4+4 - path_provider: ^2.0.5 - photo_view: ^0.13.0 - rxdart: ^0.27.1 + flutter_svg: ^2.0.1 + image_picker: ^0.8.6+2 + path_provider: ^2.0.12 + photo_view: ^0.14.0 + rxdart: ^0.27.7 stream_feed_flutter_core: path: ../stream_feed_flutter_core - timeago: ^3.0.2 - url_launcher: ^6.0.6 - video_thumbnail: ^0.4.3 + timeago: ^3.3.0 + url_launcher: ^6.1.9 + video_thumbnail: ^0.5.3 dependency_overrides: photo_view: diff --git a/packages/stream_feed_flutter_core/CHANGELOG.md b/packages/stream_feed_flutter_core/CHANGELOG.md index b23841836..c6117cd0a 100644 --- a/packages/stream_feed_flutter_core/CHANGELOG.md +++ b/packages/stream_feed_flutter_core/CHANGELOG.md @@ -1,10 +1,12 @@ +## 0.8.1 +- Bump Dart version and dependencies ## 0.8.0 - bump llc: fix: `setUser` not using `user.data` on user create. - new: `FeedBloc` and `GenericFeedBloc` now have `queryPaginatedEnrichedActivities`, `loadMoreEnrichedActivities`, and `paginatedParams` to easily manage pagination. ```dart class _CommentsPageState extends State { bool _isPaginating = false; - + Future _loadMore() async { // Ensure we're not already loading more reactions. if (!_isPaginating) { @@ -56,7 +58,7 @@ class _CommentsPageState extends State { ## 0.7.0+1 28/02/2022 -- fixes(FeedBloc): +- fixes(FeedBloc): - bug when adding to a fix lengthed list - change the init behavior of queryEnrichedActivities (to allow it to be called again) @@ -88,7 +90,7 @@ final attachments = activity.extraData?.toAttachments() ## 0.6.0: 12/01/2022 - BREAKING: bumped llc to 0.5.0, which is a breaking change. We no longer accept a token in the constructor. This change is inspired by Stream Chat, and allows for use cases like multi account management. It allows to instantiate `StreamFeedClient` at the top of your widget tree for example, and connecting the user later. - + ```diff - client = StreamFeedClient(apiKey, token: frontendToken); + client = StreamFeedClient(apiKey); @@ -114,7 +116,7 @@ final attachments = activity.extraData?.toAttachments() - `isFollowingUser` -> `isFollowingFeed` - fix: export MediaUri - new: add scrollPhysics parameter to `ReactionListCore` - + ## 0.4.1: 22/12/2021 - new: UploadListCore and UploadController diff --git a/packages/stream_feed_flutter_core/lib/src/extensions.dart b/packages/stream_feed_flutter_core/lib/src/extensions.dart index 62cae1305..fe6cfb8b5 100644 --- a/packages/stream_feed_flutter_core/lib/src/extensions.dart +++ b/packages/stream_feed_flutter_core/lib/src/extensions.dart @@ -19,7 +19,6 @@ extension EnrichedActivityX GenericEnrichedActivity enrichedActivity) => firstWhere( (e) => e.id! == enrichedActivity.id!); //TODO; handle doesn't exist - } @visibleForTesting diff --git a/packages/stream_feed_flutter_core/lib/src/upload_list_core.dart b/packages/stream_feed_flutter_core/lib/src/upload_list_core.dart index 1c4c27e28..dce330e53 100644 --- a/packages/stream_feed_flutter_core/lib/src/upload_list_core.dart +++ b/packages/stream_feed_flutter_core/lib/src/upload_list_core.dart @@ -1,7 +1,6 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:stream_feed_flutter_core/src/typedefs.dart'; - import 'package:stream_feed_flutter_core/stream_feed_flutter_core.dart'; /// {@template uploadListCore} @@ -137,7 +136,7 @@ class UploadListCore extends StatelessWidget { final rawMap = snapshot.data!; final uploads = List.from( rawMap.entries.map( - (entry) => FileUploadState.fromEntry(entry), + FileUploadState.fromEntry, ), ); diff --git a/packages/stream_feed_flutter_core/pubspec.yaml b/packages/stream_feed_flutter_core/pubspec.yaml index d35f06731..606608112 100644 --- a/packages/stream_feed_flutter_core/pubspec.yaml +++ b/packages/stream_feed_flutter_core/pubspec.yaml @@ -1,21 +1,21 @@ name: stream_feed_flutter_core description: Stream Feed official Flutter SDK Core. Build your own feed experience using Dart and Flutter. -version: 0.8.0 +version: 0.8.1 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" - flutter: ">=1.17.0" + sdk: ">=2.19.0 <4.0.0" + flutter: ">=3.7.0" dependencies: - dio: ^4.0.1 - equatable: ^2.0.3 + dio: ^5.0.0 + equatable: ^2.0.5 flutter: sdk: flutter - meta: ^1.7.0 - rxdart: ^0.27.1 - stream_feed: ^0.6.0+2 + meta: ^1.8.0 + rxdart: ^0.27.7 + stream_feed: ^0.6.0+3 dev_dependencies: flutter_test: sdk: flutter diff --git a/packages/stream_feed_flutter_core/test/bloc/upload_test.dart b/packages/stream_feed_flutter_core/test/bloc/upload_test.dart index 1c77eacf5..1e9e87091 100644 --- a/packages/stream_feed_flutter_core/test/bloc/upload_test.dart +++ b/packages/stream_feed_flutter_core/test/bloc/upload_test.dart @@ -4,6 +4,7 @@ import 'package:dio/dio.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mocktail/mocktail.dart'; import 'package:stream_feed_flutter_core/stream_feed_flutter_core.dart'; + import '../mocks.dart'; import '../utils.dart'; @@ -66,7 +67,7 @@ void main() { when(() => mockFiles.upload(audioAttachment, cancelToken: mockCancelToken, onSendProgress: any(named: 'onSendProgress'))).thenThrow(DioError( - requestOptions: RequestOptions(path: ''), + requestOptions: RequestOptions(), type: DioErrorType.cancel, )); final bloc = UploadController(mockClient) @@ -207,7 +208,7 @@ void main() { when(() => mockImages.upload(attachment, cancelToken: mockCancelToken, onSendProgress: any(named: 'onSendProgress'))).thenThrow(DioError( - requestOptions: RequestOptions(path: ''), + requestOptions: RequestOptions(), type: DioErrorType.cancel, )); final bloc = UploadController(mockClient)