From 5ced809197fe55949a507217affa3d49c1a8a59a Mon Sep 17 00:00:00 2001 From: mbfakourii Date: Thu, 23 Feb 2023 14:16:32 +0330 Subject: [PATCH 01/21] upgrade packages and fix warnings --- packages/dart/lib/parse_server_sdk.dart | 14 ++-- .../dart/lib/src/network/dio_adapter_io.dart | 5 +- .../dart/lib/src/network/dio_adapter_js.dart | 6 +- .../lib/src/network/parse_dio_client.dart | 21 +++-- .../lib/src/network/parse_http_client.dart | 2 +- .../lib/src/network/parse_live_query.dart | 10 +-- .../dart/lib/src/network/parse_query.dart | 6 +- .../dart/lib/src/objects/parse_object.dart | 2 +- packages/dart/lib/src/objects/parse_user.dart | 26 +++--- .../response/parse_response_builder.dart | 2 +- .../dart/lib/src/utils/parse_live_list.dart | 6 +- packages/dart/pubspec.yaml | 27 +++--- packages/dart/test/parse_query_test.dart | 10 +-- .../dart/test/parse_query_test.mocks.dart | 82 +++++++++---------- packages/flutter/pubspec.yaml | 22 ++--- 15 files changed, 120 insertions(+), 121 deletions(-) diff --git a/packages/dart/lib/parse_server_sdk.dart b/packages/dart/lib/parse_server_sdk.dart index ccd2d6fea..72f1df0df 100644 --- a/packages/dart/lib/parse_server_sdk.dart +++ b/packages/dart/lib/parse_server_sdk.dart @@ -2,7 +2,7 @@ library flutter_parse_sdk; import 'dart:async'; import 'dart:convert'; -import 'dart:io'; +import 'package:universal_io/io.dart'; import 'dart:math'; import 'dart:typed_data'; import 'package:dio/dio.dart'; @@ -142,9 +142,9 @@ class Parse { Future healthCheck( {bool? debug, ParseClient? client, bool? sendSessionIdByDefault}) async { - final bool _debug = isDebugEnabled(objectLevelDebug: debug); + final bool debugLocal = isDebugEnabled(objectLevelDebug: debug); - final ParseClient _client = client ?? + final ParseClient clientLocal = client ?? ParseCoreData().clientCreator( sendSessionId: sendSessionIdByDefault ?? ParseCoreData().autoSendSessionId, @@ -154,11 +154,11 @@ class Parse { const ParseApiRQ type = ParseApiRQ.healthCheck; try { - final ParseNetworkResponse response = - await _client.get('${ParseCoreData().serverUrl}$keyEndPointHealth'); - return handleResponse(null, response, type, _debug, className); + final ParseNetworkResponse response = await clientLocal + .get('${ParseCoreData().serverUrl}$keyEndPointHealth'); + return handleResponse(null, response, type, debugLocal, className); } on Exception catch (e) { - return handleException(e, type, _debug, className); + return handleException(e, type, debugLocal, className); } } } diff --git a/packages/dart/lib/src/network/dio_adapter_io.dart b/packages/dart/lib/src/network/dio_adapter_io.dart index e0dd6bc17..1954f3286 100644 --- a/packages/dart/lib/src/network/dio_adapter_io.dart +++ b/packages/dart/lib/src/network/dio_adapter_io.dart @@ -1,11 +1,10 @@ import 'dart:io'; -import 'package:dio/adapter.dart'; +import 'package:dio/io.dart'; import 'package:dio/dio.dart'; HttpClientAdapter createHttpClientAdapter(SecurityContext? securityContext) { - final DefaultHttpClientAdapter defaultHttpClientAdapter = - DefaultHttpClientAdapter(); + final IOHttpClientAdapter defaultHttpClientAdapter = IOHttpClientAdapter(); if (securityContext != null) { defaultHttpClientAdapter.onHttpClientCreate = diff --git a/packages/dart/lib/src/network/dio_adapter_js.dart b/packages/dart/lib/src/network/dio_adapter_js.dart index d4dec6b7a..c35b0a444 100644 --- a/packages/dart/lib/src/network/dio_adapter_js.dart +++ b/packages/dart/lib/src/network/dio_adapter_js.dart @@ -1,9 +1,7 @@ -import 'dart:io'; - -import 'package:dio/adapter_browser.dart'; +import 'package:dio/browser.dart'; import 'package:dio/dio.dart'; -HttpClientAdapter createHttpClientAdapter(SecurityContext? securityContext) { +HttpClientAdapter createHttpClientAdapter(dynamic securityContext) { final BrowserHttpClientAdapter browserHttpClientAdapter = BrowserHttpClientAdapter(); return browserHttpClientAdapter; diff --git a/packages/dart/lib/src/network/parse_dio_client.dart b/packages/dart/lib/src/network/parse_dio_client.dart index 72c64d2e2..92154d814 100644 --- a/packages/dart/lib/src/network/parse_dio_client.dart +++ b/packages/dart/lib/src/network/parse_dio_client.dart @@ -1,13 +1,11 @@ -import 'dart:io'; - import 'package:dio/dio.dart' as dio; import 'package:parse_server_sdk/parse_server_sdk.dart'; import 'dio_adapter_io.dart' if (dart.library.js) 'dio_adapter_js.dart'; class ParseDioClient extends ParseClient { - ParseDioClient( - {bool sendSessionId = false, SecurityContext? securityContext}) { + // securityContext is SecurityContext + ParseDioClient({bool sendSessionId = false, dynamic securityContext}) { _client = _ParseDioClient( sendSessionId: sendSessionId, securityContext: securityContext, @@ -58,7 +56,8 @@ class ParseDioClient extends ParseClient { data: error.response?.data, statusCode: error.response!.statusCode!); } else { - return _getOtherCaseErrorForParseNetworkResponse(error.error); + return _getOtherCaseErrorForParseNetworkResponse( + error.error.toString()); } } } @@ -119,7 +118,8 @@ class ParseDioClient extends ParseClient { data: error.response?.data, statusCode: error.response!.statusCode!); } else { - return _getOtherCaseErrorForParseNetworkResponse(error.error); + return _getOtherCaseErrorForParseNetworkResponse( + error.error.toString()); } } } @@ -149,8 +149,7 @@ class ParseDioClient extends ParseClient { /// Creates a custom version of HTTP Client that has Parse Data Preset class _ParseDioClient with dio.DioMixin implements dio.Dio { - _ParseDioClient( - {bool sendSessionId = false, SecurityContext? securityContext}) + _ParseDioClient({bool sendSessionId = false, dynamic securityContext}) : _sendSessionId = sendSessionId { options = dio.BaseOptions(); httpClientAdapter = createHttpClientAdapter(securityContext); @@ -214,7 +213,7 @@ class _ParseDioClient with dio.DioMixin implements dio.Dio { void _logCUrl(dio.Options options, dynamic data, String url) { String curlCmd = 'curl'; - curlCmd += ' -X ' + options.method!; + curlCmd += ' -X ${options.method!}'; bool compressed = false; options.headers!.forEach((String name, dynamic value) { if (name.toLowerCase() == 'accept-encoding' && @@ -243,8 +242,8 @@ class _ParseDioClient with dio.DioMixin implements dio.Dio { class _Options extends dio.Options { _Options({ String? method, - int? sendTimeout, - int? receiveTimeout, + Duration? sendTimeout, + Duration? receiveTimeout, Map? extra, Map? headers, dio.ResponseType? responseType, diff --git a/packages/dart/lib/src/network/parse_http_client.dart b/packages/dart/lib/src/network/parse_http_client.dart index 24145849d..759acaed4 100644 --- a/packages/dart/lib/src/network/parse_http_client.dart +++ b/packages/dart/lib/src/network/parse_http_client.dart @@ -161,7 +161,7 @@ class _ParseHTTPClient extends http.BaseClient { void _logCUrl(http.BaseRequest request) { String curlCmd = 'curl'; - curlCmd += ' -X ' + request.method; + curlCmd += ' -X ${request.method}'; bool compressed = false; request.headers.forEach((String name, String value) { if (name.toLowerCase() == 'accept-encoding' && diff --git a/packages/dart/lib/src/network/parse_live_query.dart b/packages/dart/lib/src/network/parse_live_query.dart index 461453654..0f94861f3 100644 --- a/packages/dart/lib/src/network/parse_live_query.dart +++ b/packages/dart/lib/src/network/parse_live_query.dart @@ -352,12 +352,12 @@ class LiveQueryClient { final QueryBuilder query = subscription.query; final List? keysToReturn = query.limiters['keys']?.split(','); query.limiters.clear(); //Remove limits in LiveQuery - final String _where = query.buildQuery().replaceAll('where=', ''); + final String where = query.buildQuery().replaceAll('where=', ''); //Convert where condition to Map - Map _whereMap = {}; - if (_where != '') { - _whereMap = json.decode(_where); + Map whereMap = {}; + if (where != '') { + whereMap = json.decode(where); } final Map subscribeMessage = { @@ -365,7 +365,7 @@ class LiveQueryClient { 'requestId': subscription.requestId, 'query': { 'className': query.object.parseClassName, - 'where': _whereMap, + 'where': whereMap, if (keysToReturn != null && keysToReturn.isNotEmpty) 'fields': keysToReturn } diff --git a/packages/dart/lib/src/network/parse_query.dart b/packages/dart/lib/src/network/parse_query.dart index e4b4cc3f9..971a90eb3 100644 --- a/packages/dart/lib/src/network/parse_query.dart +++ b/packages/dart/lib/src/network/parse_query.dart @@ -27,7 +27,7 @@ class QueryBuilder { if (i > 0) { query += ','; } - query += '{' + list[i].buildQueries(list[i].queries) + '}'; + query += '{${list[i].buildQueries(list[i].queries)}}'; } query += ']'; queries.add(MapEntry(_noOperatorNeeded, query)); @@ -523,7 +523,7 @@ class QueryBuilder { String getLimiters(Map map) { String result = ''; map.forEach((String key, dynamic value) { - result = result + '&$key=$value'; + result = '$result&$key=$value'; }); return result; } @@ -533,7 +533,7 @@ class QueryBuilder { String result = ''; map.forEach((String key, dynamic value) { if (result.isNotEmpty) { - result = result + ',"$key":$value'; + result = '$result,"$key":$value'; } else { result = '"$key":$value'; } diff --git a/packages/dart/lib/src/objects/parse_object.dart b/packages/dart/lib/src/objects/parse_object.dart index 5cc878c26..48220f0f6 100644 --- a/packages/dart/lib/src/objects/parse_object.dart +++ b/packages/dart/lib/src/objects/parse_object.dart @@ -221,7 +221,7 @@ class ParseObject extends ParseBase implements ParseCloneable { final String parsePath = tempUri.path; final dynamic request = { 'method': method, - 'path': '$parsePath$_path' + (objectId != null ? '/$objectId' : ''), + 'path': '$parsePath$_path${objectId != null ? '/$objectId' : ''}', 'body': toJson(forApiRQ: true) }; return request; diff --git a/packages/dart/lib/src/objects/parse_user.dart b/packages/dart/lib/src/objects/parse_user.dart index e4c15bfc6..8bdf0c7d3 100644 --- a/packages/dart/lib/src/objects/parse_user.dart +++ b/packages/dart/lib/src/objects/parse_user.dart @@ -112,8 +112,8 @@ class ParseUser extends ParseObject implements ParseCloneable { /// if using custom ParseUser object Future getUpdatedUser( {bool? debug, ParseClient? client}) async { - final bool _debug = isDebugEnabled(objectLevelDebug: debug); - final ParseClient _client = client ?? + final bool debugLocal = isDebugEnabled(objectLevelDebug: debug); + final ParseClient clientLocal = client ?? ParseCoreData().clientCreator( sendSessionId: true, securityContext: ParseCoreData().securityContext); @@ -130,15 +130,16 @@ class ParseUser extends ParseObject implements ParseCloneable { } try { - final Uri url = getSanitisedUri(_client, keyEndPointUserName); - final ParseNetworkResponse response = await _client.get( + final Uri url = getSanitisedUri(clientLocal, keyEndPointUserName); + final ParseNetworkResponse response = await clientLocal.get( url.toString(), options: ParseNetworkOptions(headers: headers), ); return await _handleResponse( - this, response, ParseApiRQ.currentUser, _debug, parseClassName); + this, response, ParseApiRQ.currentUser, debugLocal, parseClassName); } on Exception catch (e) { - return handleException(e, ParseApiRQ.currentUser, _debug, parseClassName); + return handleException( + e, ParseApiRQ.currentUser, debugLocal, parseClassName); } } @@ -442,20 +443,21 @@ class ParseUser extends ParseObject implements ParseCloneable { static Future all({bool? debug, ParseClient? client}) async { final ParseUser emptyUser = _getEmptyUser(); - final bool _debug = isDebugEnabled(objectLevelDebug: debug); - final ParseClient _client = client ?? + final bool debugLocal = isDebugEnabled(objectLevelDebug: debug); + final ParseClient clientLocal = client ?? ParseCoreData().clientCreator( sendSessionId: true, securityContext: ParseCoreData().securityContext); try { - final Uri url = getSanitisedUri(_client, path); - final ParseNetworkResponse response = await _client.get(url.toString()); + final Uri url = getSanitisedUri(clientLocal, path); + final ParseNetworkResponse response = + await clientLocal.get(url.toString()); final ParseResponse parseResponse = handleResponse( - emptyUser, response, ParseApiRQ.getAll, _debug, keyClassUser); + emptyUser, response, ParseApiRQ.getAll, debugLocal, keyClassUser); return parseResponse; } on Exception catch (e) { - return handleException(e, ParseApiRQ.getAll, _debug, keyClassUser); + return handleException(e, ParseApiRQ.getAll, debugLocal, keyClassUser); } } diff --git a/packages/dart/lib/src/objects/response/parse_response_builder.dart b/packages/dart/lib/src/objects/response/parse_response_builder.dart index d36d8dd98..cd151267c 100644 --- a/packages/dart/lib/src/objects/response/parse_response_builder.dart +++ b/packages/dart/lib/src/objects/response/parse_response_builder.dart @@ -115,7 +115,7 @@ class _ParseResponseBuilder { List _handleMultipleResults(T object, List data) { final List resultsList = []; for (dynamic value in data) { - resultsList.add(_handleSingleResult(object, value, true)!); + resultsList.add(_handleSingleResult(object, value, true) as T); } return resultsList; } diff --git a/packages/dart/lib/src/utils/parse_live_list.dart b/packages/dart/lib/src/utils/parse_live_list.dart index 1dd2798b3..99df16cc2 100644 --- a/packages/dart/lib/src/utils/parse_live_list.dart +++ b/packages/dart/lib/src/utils/parse_live_list.dart @@ -9,17 +9,17 @@ class ParseLiveList { } static Future> create( - QueryBuilder _query, { + QueryBuilder query, { bool? listenOnAllSubItems, List? listeningIncludes, bool lazyLoading = true, List? preloadedColumns, }) { final ParseLiveList parseLiveList = ParseLiveList._( - _query, + query, listenOnAllSubItems == true ? _toIncludeMap( - _query.limiters['include']?.toString().split(',') ?? []) + query.limiters['include']?.toString().split(',') ?? []) : _toIncludeMap(listeningIncludes ?? []), lazyLoading, preloadedColumns: preloadedColumns ?? const [], diff --git a/packages/dart/pubspec.yaml b/packages/dart/pubspec.yaml index ece1a9e88..811dc9f54 100644 --- a/packages/dart/pubspec.yaml +++ b/packages/dart/pubspec.yaml @@ -8,25 +8,26 @@ environment: dependencies: # Networking - dio: ^4.0.6 - http: ^0.13.4 - web_socket_channel: ^2.2.0 + dio: ^5.0.0 + http: ^0.13.5 + web_socket_channel: ^2.3.0 #Database - sembast: ^3.2.0 - sembast_web: ^2.0.1+1 + sembast: ^3.4.0+6 + sembast_web: ^2.1.0+4 xxtea: ^2.1.0 # Utils - uuid: ^3.0.6 - meta: ^1.7.0 - path: ^1.8.1 + uuid: ^3.0.7 + meta: ^1.9.0 + path: ^1.8.3 mime_type: ^1.0.0 - timezone: ^0.9.0 + timezone: ^0.9.1 + universal_io: ^2.2.0 dev_dependencies: - lints: ^1.0.1 + lints: ^2.0.1 # Testing - build_runner: ^2.1.11 - mockito: ^5.2.0 - test: ^1.21.4 + build_runner: ^2.3.3 + mockito: ^5.3.2 + test: ^1.23.1 diff --git a/packages/dart/test/parse_query_test.dart b/packages/dart/test/parse_query_test.dart index f0740bbd9..d6f225ab0 100644 --- a/packages/dart/test/parse_query_test.dart +++ b/packages/dart/test/parse_query_test.dart @@ -77,7 +77,7 @@ void main() { }, }; final Uri expectedQuery = - Uri(query: 'where=' + jsonEncode(queryDesiredOutput)); + Uri(query: 'where=${jsonEncode(queryDesiredOutput)}'); // assert expect(response.results?.first, isA()); @@ -156,7 +156,7 @@ void main() { ], }; final Uri expectedQuery = - Uri(query: 'where=' + jsonEncode(queryDesiredOutput)); + Uri(query: 'where=${jsonEncode(queryDesiredOutput)}'); // assert expect(response.results?.first, isA()); @@ -234,7 +234,7 @@ void main() { ], }; final Uri expectedQuery = - Uri(query: 'where=' + jsonEncode(queryDesiredOutput)); + Uri(query: 'where=${jsonEncode(queryDesiredOutput)}'); // assert expect(response.results?.first, isA()); @@ -313,7 +313,7 @@ void main() { ], }; final Uri expectedQuery = - Uri(query: 'where=' + jsonEncode(queryDesiredOutput)); + Uri(query: 'where=${jsonEncode(queryDesiredOutput)}'); // assert expect(response.results?.first, isA()); @@ -389,7 +389,7 @@ void main() { } }; final Uri expectedQuery = - Uri(query: 'where=' + jsonEncode(queryDesiredOutput)); + Uri(query: 'where=${jsonEncode(queryDesiredOutput)}'); // assert expect(response.results?.first, isA()); diff --git a/packages/dart/test/parse_query_test.mocks.dart b/packages/dart/test/parse_query_test.mocks.dart index c29563324..46bb50cf4 100644 --- a/packages/dart/test/parse_query_test.mocks.dart +++ b/packages/dart/test/parse_query_test.mocks.dart @@ -2,68 +2,68 @@ // in parse_server_sdk/test/parse_query_test.dart. // Do not manually edit this file. -import 'dart:async' as _i3; +import 'dart:async' as i3; -import 'package:mockito/mockito.dart' as _i1; -import 'package:parse_server_sdk/parse_server_sdk.dart' as _i2; +import 'package:mockito/mockito.dart' as i1; +import 'package:parse_server_sdk/parse_server_sdk.dart' as i2; // ignore_for_file: comment_references // ignore_for_file: unnecessary_parenthesis -class _FakeParseCoreData extends _i1.Fake implements _i2.ParseCoreData {} +class _FakeParseCoreData extends i1.Fake implements i2.ParseCoreData {} -class _FakeParseNetworkResponse extends _i1.Fake - implements _i2.ParseNetworkResponse {} +class _FakeParseNetworkResponse extends i1.Fake + implements i2.ParseNetworkResponse {} -class _FakeParseNetworkByteResponse extends _i1.Fake - implements _i2.ParseNetworkByteResponse {} +class _FakeParseNetworkByteResponse extends i1.Fake + implements i2.ParseNetworkByteResponse {} /// A class which mocks [ParseClient]. /// /// See the documentation for Mockito's code generation for more information. -class MockParseClient extends _i1.Mock implements _i2.ParseClient { +class MockParseClient extends i1.Mock implements i2.ParseClient { MockParseClient() { - _i1.throwOnMissingStub(this); + i1.throwOnMissingStub(this); } @override - _i2.ParseCoreData get data => (super.noSuchMethod(Invocation.getter(#data), - returnValue: _FakeParseCoreData()) as _i2.ParseCoreData); + i2.ParseCoreData get data => (super.noSuchMethod(Invocation.getter(#data), + returnValue: _FakeParseCoreData()) as i2.ParseCoreData); @override - _i3.Future<_i2.ParseNetworkResponse> get(String? path, - {_i2.ParseNetworkOptions? options, - _i2.ProgressCallback? onReceiveProgress}) => + i3.Future get(String? path, + {i2.ParseNetworkOptions? options, + i2.ProgressCallback? onReceiveProgress}) => (super.noSuchMethod( Invocation.method(#get, [path], {#options: options, #onReceiveProgress: onReceiveProgress}), - returnValue: Future<_i2.ParseNetworkResponse>.value( + returnValue: Future.value( _FakeParseNetworkResponse())) - as _i3.Future<_i2.ParseNetworkResponse>); + as i3.Future); @override - _i3.Future<_i2.ParseNetworkResponse> put(String? path, - {String? data, _i2.ParseNetworkOptions? options}) => + i3.Future put(String? path, + {String? data, i2.ParseNetworkOptions? options}) => (super.noSuchMethod( Invocation.method(#put, [path], {#data: data, #options: options}), - returnValue: Future<_i2.ParseNetworkResponse>.value( + returnValue: Future.value( _FakeParseNetworkResponse())) - as _i3.Future<_i2.ParseNetworkResponse>); + as i3.Future); @override - _i3.Future<_i2.ParseNetworkResponse> post(String? path, - {String? data, _i2.ParseNetworkOptions? options}) => + i3.Future post(String? path, + {String? data, i2.ParseNetworkOptions? options}) => (super.noSuchMethod( Invocation.method(#post, [path], {#data: data, #options: options}), - returnValue: Future<_i2.ParseNetworkResponse>.value( - _FakeParseNetworkResponse())) as _i3 - .Future<_i2.ParseNetworkResponse>); + returnValue: Future.value( + _FakeParseNetworkResponse())) as i3 + .Future); @override - _i3.Future<_i2.ParseNetworkResponse> postBytes(String? path, - {_i3.Stream>? data, - _i2.ParseNetworkOptions? options, - _i2.ProgressCallback? onSendProgress, + i3.Future postBytes(String? path, + {i3.Stream>? data, + i2.ParseNetworkOptions? options, + i2.ProgressCallback? onSendProgress, dynamic cancelToken}) => (super.noSuchMethod( Invocation.method(#postBytes, [ @@ -74,23 +74,23 @@ class MockParseClient extends _i1.Mock implements _i2.ParseClient { #onSendProgress: onSendProgress, #cancelToken: cancelToken }), - returnValue: Future<_i2.ParseNetworkResponse>.value( + returnValue: Future.value( _FakeParseNetworkResponse())) - as _i3.Future<_i2.ParseNetworkResponse>); + as i3.Future); @override - _i3.Future<_i2.ParseNetworkResponse> delete(String? path, - {_i2.ParseNetworkOptions? options}) => + i3.Future delete(String? path, + {i2.ParseNetworkOptions? options}) => (super.noSuchMethod( Invocation.method(#delete, [path], {#options: options}), - returnValue: Future<_i2.ParseNetworkResponse>.value( + returnValue: Future.value( _FakeParseNetworkResponse())) - as _i3.Future<_i2.ParseNetworkResponse>); + as i3.Future); @override - _i3.Future<_i2.ParseNetworkByteResponse> getBytes(String? path, - {_i2.ParseNetworkOptions? options, - _i2.ProgressCallback? onReceiveProgress, + i3.Future getBytes(String? path, + {i2.ParseNetworkOptions? options, + i2.ProgressCallback? onReceiveProgress, dynamic cancelToken}) => (super.noSuchMethod( Invocation.method(#getBytes, [ @@ -100,7 +100,7 @@ class MockParseClient extends _i1.Mock implements _i2.ParseClient { #onReceiveProgress: onReceiveProgress, #cancelToken: cancelToken }), - returnValue: Future<_i2.ParseNetworkByteResponse>.value( + returnValue: Future.value( _FakeParseNetworkByteResponse())) - as _i3.Future<_i2.ParseNetworkByteResponse>); + as i3.Future); } diff --git a/packages/flutter/pubspec.yaml b/packages/flutter/pubspec.yaml index 978e02261..c1fa542b7 100644 --- a/packages/flutter/pubspec.yaml +++ b/packages/flutter/pubspec.yaml @@ -10,29 +10,29 @@ dependencies: flutter: sdk: flutter - parse_server_sdk: ^3.1.2 + parse_server_sdk: ^3.1.13 # Uncomment for local testing #parse_server_sdk: # path: ../dart # Networking - dio: ^4.0.6 - connectivity_plus: ^2.3.2 # only used in the flutter part + dio: ^5.0.0 + connectivity_plus: ^3.0.3 # only used in the flutter part #Database - shared_preferences: ^2.0.15 # only used in the flutter part + shared_preferences: ^2.0.18 # only used in the flutter part # Utils - path_provider: ^2.0.10 # only used in the flutter part - package_info_plus: ^1.4.2 # only used in the flutter part - sembast: ^3.2.0 - sembast_web: ^2.0.1+1 - path: ^1.8.1 # required for transitive use only + path_provider: ^2.0.13 # only used in the flutter part + package_info_plus: ^3.0.3 # only used in the flutter part + sembast: ^3.4.0+6 + sembast_web: ^2.1.0+4 + path: ^1.8.3 # required for transitive use only platform: ^3.1.0 dev_dependencies: - flutter_lints: ^1.0.4 + flutter_lints: ^2.0.1 # Testing flutter_test: sdk: flutter - mockito: ^5.2.0 + mockito: ^5.3.2 From 395ad66525efe453d3932e5ffde8ded4c4505da5 Mon Sep 17 00:00:00 2001 From: mbfakourii Date: Thu, 23 Feb 2023 14:50:51 +0330 Subject: [PATCH 02/21] fix dependency error --- packages/flutter/example_livelist/lib/main.dart | 8 ++++---- packages/flutter/lib/src/utils/parse_live_grid.dart | 2 +- packages/flutter/lib/src/utils/parse_live_list.dart | 6 +++--- packages/flutter/pubspec.yaml | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/flutter/example_livelist/lib/main.dart b/packages/flutter/example_livelist/lib/main.dart index c9881962e..994555bbc 100644 --- a/packages/flutter/example_livelist/lib/main.dart +++ b/packages/flutter/example_livelist/lib/main.dart @@ -9,7 +9,7 @@ class MyApp extends StatefulWidget { const MyApp({Key? key}) : super(key: key); @override - _MyAppState createState() => _MyAppState(); + State createState() => _MyAppState(); } class _MyAppState extends State { @@ -89,19 +89,19 @@ class _MyAppState extends State { title: Row( children: [ Flexible( + flex: 1, child: Text(snapshot.loadedData! .get('order') .toString()), - flex: 1, ), Flexible( + flex: 10, child: Container( alignment: Alignment.center, child: Text( snapshot.loadedData!.get('text')!, ), ), - flex: 10, ), ], ), @@ -132,7 +132,7 @@ class ObjectForm extends StatefulWidget { const ObjectForm({Key? key}) : super(key: key); @override - _ObjectFormState createState() => _ObjectFormState(); + State createState() => _ObjectFormState(); } class _ObjectFormState extends State { diff --git a/packages/flutter/lib/src/utils/parse_live_grid.dart b/packages/flutter/lib/src/utils/parse_live_grid.dart index 13503ebaa..4d3829aa1 100644 --- a/packages/flutter/lib/src/utils/parse_live_grid.dart +++ b/packages/flutter/lib/src/utils/parse_live_grid.dart @@ -57,7 +57,7 @@ class ParseLiveGridWidget extends StatefulWidget { final double childAspectRatio; @override - _ParseLiveGridWidgetState createState() => _ParseLiveGridWidgetState(); + State> createState() => _ParseLiveGridWidgetState(); static Widget defaultChildBuilder( BuildContext context, sdk.ParseLiveListElementSnapshot snapshot) { diff --git a/packages/flutter/lib/src/utils/parse_live_list.dart b/packages/flutter/lib/src/utils/parse_live_list.dart index 5f013229b..1a671d1f0 100644 --- a/packages/flutter/lib/src/utils/parse_live_list.dart +++ b/packages/flutter/lib/src/utils/parse_live_list.dart @@ -51,7 +51,7 @@ class ParseLiveListWidget extends StatefulWidget { final List? preloadedColumns; @override - _ParseLiveListWidgetState createState() => _ParseLiveListWidgetState(); + State> createState() => _ParseLiveListWidgetState(); static Widget defaultChildBuilder( BuildContext context, sdk.ParseLiveListElementSnapshot snapshot) { @@ -213,7 +213,7 @@ class ParseLiveListElementWidget final ChildBuilder childBuilder; @override - _ParseLiveListElementWidgetState createState() { + State> createState() { return _ParseLiveListElementWidgetState(); } } @@ -272,9 +272,9 @@ class _ParseLiveListElementWidgetState sizeFactor: widget.sizeFactor, child: AnimatedSize( duration: widget.duration, - child: widget.childBuilder(context, _snapshot), // ignore: deprecated_member_use vsync: this, + child: widget.childBuilder(context, _snapshot), ), ); return result; diff --git a/packages/flutter/pubspec.yaml b/packages/flutter/pubspec.yaml index c1fa542b7..cccfc4028 100644 --- a/packages/flutter/pubspec.yaml +++ b/packages/flutter/pubspec.yaml @@ -16,7 +16,7 @@ dependencies: # path: ../dart # Networking - dio: ^5.0.0 + dio: ^4.0.6 connectivity_plus: ^3.0.3 # only used in the flutter part #Database @@ -27,7 +27,7 @@ dependencies: package_info_plus: ^3.0.3 # only used in the flutter part sembast: ^3.4.0+6 sembast_web: ^2.1.0+4 - path: ^1.8.3 # required for transitive use only + path: ^1.8.2 # required for transitive use only platform: ^3.1.0 dev_dependencies: From bc8dd34cd3c43027f8745f66a2441529a5ba7bf7 Mon Sep 17 00:00:00 2001 From: mbfakourii Date: Thu, 23 Feb 2023 14:59:08 +0330 Subject: [PATCH 03/21] fix dependency error --- packages/flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/flutter/pubspec.yaml b/packages/flutter/pubspec.yaml index cccfc4028..e64676446 100644 --- a/packages/flutter/pubspec.yaml +++ b/packages/flutter/pubspec.yaml @@ -10,7 +10,7 @@ dependencies: flutter: sdk: flutter - parse_server_sdk: ^3.1.13 + parse_server_sdk: ^3.1.2 # Uncomment for local testing #parse_server_sdk: # path: ../dart From 8937b27cb1157821747b13893c77200ef69319ce Mon Sep 17 00:00:00 2001 From: mbfakourii Date: Thu, 23 Feb 2023 15:08:32 +0330 Subject: [PATCH 04/21] fix dependency error --- packages/flutter/pubspec.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/flutter/pubspec.yaml b/packages/flutter/pubspec.yaml index e64676446..023d668fd 100644 --- a/packages/flutter/pubspec.yaml +++ b/packages/flutter/pubspec.yaml @@ -10,7 +10,7 @@ dependencies: flutter: sdk: flutter - parse_server_sdk: ^3.1.2 + parse_server_sdk: ^3.1.13 # Uncomment for local testing #parse_server_sdk: # path: ../dart @@ -35,4 +35,4 @@ dev_dependencies: # Testing flutter_test: sdk: flutter - mockito: ^5.3.2 + mockito: ^5.3.2 \ No newline at end of file From 2e729127784f973f28628e89c0463a48347735ec Mon Sep 17 00:00:00 2001 From: mbfakourii Date: Thu, 23 Feb 2023 15:14:55 +0330 Subject: [PATCH 05/21] fix dependency error --- packages/flutter/pubspec.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/flutter/pubspec.yaml b/packages/flutter/pubspec.yaml index 023d668fd..e8a8d9765 100644 --- a/packages/flutter/pubspec.yaml +++ b/packages/flutter/pubspec.yaml @@ -16,7 +16,7 @@ dependencies: # path: ../dart # Networking - dio: ^4.0.6 + dio: ^5.0.0 connectivity_plus: ^3.0.3 # only used in the flutter part #Database @@ -27,7 +27,7 @@ dependencies: package_info_plus: ^3.0.3 # only used in the flutter part sembast: ^3.4.0+6 sembast_web: ^2.1.0+4 - path: ^1.8.2 # required for transitive use only + path: ^1.8.3 # required for transitive use only platform: ^3.1.0 dev_dependencies: From 78c407c9b2ae1a2ad2fead3015c8d0bc988d01fc Mon Sep 17 00:00:00 2001 From: mbfakourii Date: Thu, 23 Feb 2023 15:17:34 +0330 Subject: [PATCH 06/21] fix dependency error --- packages/flutter/pubspec.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/flutter/pubspec.yaml b/packages/flutter/pubspec.yaml index e8a8d9765..023d668fd 100644 --- a/packages/flutter/pubspec.yaml +++ b/packages/flutter/pubspec.yaml @@ -16,7 +16,7 @@ dependencies: # path: ../dart # Networking - dio: ^5.0.0 + dio: ^4.0.6 connectivity_plus: ^3.0.3 # only used in the flutter part #Database @@ -27,7 +27,7 @@ dependencies: package_info_plus: ^3.0.3 # only used in the flutter part sembast: ^3.4.0+6 sembast_web: ^2.1.0+4 - path: ^1.8.3 # required for transitive use only + path: ^1.8.2 # required for transitive use only platform: ^3.1.0 dev_dependencies: From e178c123a094f6222964f72f24df4d03f1f05147 Mon Sep 17 00:00:00 2001 From: mbfakourii Date: Sat, 25 Feb 2023 10:58:41 +0330 Subject: [PATCH 07/21] fix dependency error in flutter_test --- packages/dart/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dart/pubspec.yaml b/packages/dart/pubspec.yaml index 811dc9f54..e87f821a1 100644 --- a/packages/dart/pubspec.yaml +++ b/packages/dart/pubspec.yaml @@ -20,7 +20,7 @@ dependencies: # Utils uuid: ^3.0.7 meta: ^1.9.0 - path: ^1.8.3 + path: ^1.8.2 mime_type: ^1.0.0 timezone: ^0.9.1 universal_io: ^2.2.0 From bbb95de5262feee19cff4631b18a0184be17beda Mon Sep 17 00:00:00 2001 From: mbfakourii Date: Sat, 25 Feb 2023 11:01:05 +0330 Subject: [PATCH 08/21] fix meta package dependency error in flutter_test --- packages/dart/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dart/pubspec.yaml b/packages/dart/pubspec.yaml index e87f821a1..8e21d683d 100644 --- a/packages/dart/pubspec.yaml +++ b/packages/dart/pubspec.yaml @@ -19,7 +19,7 @@ dependencies: # Utils uuid: ^3.0.7 - meta: ^1.9.0 + meta: ^1.8.0 path: ^1.8.2 mime_type: ^1.0.0 timezone: ^0.9.1 From d6e2fdb131e8ba25b1541207a380cc1401424c9f Mon Sep 17 00:00:00 2001 From: mbfakourii Date: Sat, 25 Feb 2023 11:31:35 +0330 Subject: [PATCH 09/21] update dio to 5.0.1 --- packages/dart/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dart/pubspec.yaml b/packages/dart/pubspec.yaml index 8e21d683d..6af3e0802 100644 --- a/packages/dart/pubspec.yaml +++ b/packages/dart/pubspec.yaml @@ -8,7 +8,7 @@ environment: dependencies: # Networking - dio: ^5.0.0 + dio: ^5.0.1 http: ^0.13.5 web_socket_channel: ^2.3.0 From 841083349b1219cf6baeac53df9886316fb3f3bc Mon Sep 17 00:00:00 2001 From: mbfakourii Date: Sat, 25 Feb 2023 14:45:08 +0330 Subject: [PATCH 10/21] bump dart version and add entry to CHANGELOG.md --- packages/dart/CHANGELOG.md | 6 ++++++ packages/dart/lib/src/base/parse_constants.dart | 2 +- packages/dart/pubspec.yaml | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/dart/CHANGELOG.md b/packages/dart/CHANGELOG.md index e76d70360..120bd69f1 100644 --- a/packages/dart/CHANGELOG.md +++ b/packages/dart/CHANGELOG.md @@ -1,3 +1,9 @@ +## [3.1.14](https://github.com/parse-community/Parse-SDK-Flutter/compare/dart-3.1.13...dart-3.1.14) (2023-02-25) + +### Refactor + +* Upgrade packages and fix warnings in ([#821](https://github.com/parse-community/Parse-SDK-Flutter/issues/821)) + ## [3.1.13](https://github.com/parse-community/Parse-SDK-Flutter/compare/dart-3.1.12...dart-3.1.13) (2023-02-15) ### Bug Fixes diff --git a/packages/dart/lib/src/base/parse_constants.dart b/packages/dart/lib/src/base/parse_constants.dart index 9a7e43e66..baa040bf6 100644 --- a/packages/dart/lib/src/base/parse_constants.dart +++ b/packages/dart/lib/src/base/parse_constants.dart @@ -1,7 +1,7 @@ part of flutter_parse_sdk; // Library -const String keySdkVersion = '3.1.13'; +const String keySdkVersion = '3.1.14'; const String keyLibraryName = 'Flutter Parse SDK'; // End Points diff --git a/packages/dart/pubspec.yaml b/packages/dart/pubspec.yaml index 6af3e0802..9b8238744 100644 --- a/packages/dart/pubspec.yaml +++ b/packages/dart/pubspec.yaml @@ -1,6 +1,6 @@ name: parse_server_sdk description: Dart plugin for Parse Server, (https://parseplatform.org), (https://back4app.com) -version: 3.1.13 +version: 3.1.14 homepage: https://github.com/parse-community/Parse-SDK-Flutter environment: From 5614ee6466c9996af819c2226b8f7de6a1365a55 Mon Sep 17 00:00:00 2001 From: mbfakourii Date: Sun, 26 Feb 2023 16:33:03 +0330 Subject: [PATCH 11/21] update to last cheng and bump dart version to 3.1.15 --- packages/dart/CHANGELOG.md | 6 ++++++ packages/dart/lib/src/base/parse_constants.dart | 2 +- packages/dart/pubspec.yaml | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/dart/CHANGELOG.md b/packages/dart/CHANGELOG.md index 0d823d861..e2a47ffe0 100644 --- a/packages/dart/CHANGELOG.md +++ b/packages/dart/CHANGELOG.md @@ -1,3 +1,9 @@ +## [3.1.15](https://github.com/parse-community/Parse-SDK-Flutter/compare/dart-3.1.14...dart-3.1.15) (2023-02-27) + +### Refactor + +* Upgrade packages and fix warnings in ([#821](https://github.com/parse-community/Parse-SDK-Flutter/issues/821)) + ## [3.1.14](https://github.com/parse-community/Parse-SDK-Flutter/compare/dart-3.1.13...dart-3.1.14) (2023-02-26) ### Bug Fixes diff --git a/packages/dart/lib/src/base/parse_constants.dart b/packages/dart/lib/src/base/parse_constants.dart index baa040bf6..6e01f1bab 100644 --- a/packages/dart/lib/src/base/parse_constants.dart +++ b/packages/dart/lib/src/base/parse_constants.dart @@ -1,7 +1,7 @@ part of flutter_parse_sdk; // Library -const String keySdkVersion = '3.1.14'; +const String keySdkVersion = '3.1.15'; const String keyLibraryName = 'Flutter Parse SDK'; // End Points diff --git a/packages/dart/pubspec.yaml b/packages/dart/pubspec.yaml index 9b8238744..7e3685ca3 100644 --- a/packages/dart/pubspec.yaml +++ b/packages/dart/pubspec.yaml @@ -1,6 +1,6 @@ name: parse_server_sdk description: Dart plugin for Parse Server, (https://parseplatform.org), (https://back4app.com) -version: 3.1.14 +version: 3.1.15 homepage: https://github.com/parse-community/Parse-SDK-Flutter environment: From cecd220b78e591c593ee1a8f7ed4ce5aee80a378 Mon Sep 17 00:00:00 2001 From: mbfakourii Date: Sun, 26 Feb 2023 16:36:49 +0330 Subject: [PATCH 12/21] rollback to old flutter pubspec.yaml --- packages/flutter/pubspec.yaml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/flutter/pubspec.yaml b/packages/flutter/pubspec.yaml index 023d668fd..3c6d5b708 100644 --- a/packages/flutter/pubspec.yaml +++ b/packages/flutter/pubspec.yaml @@ -10,29 +10,29 @@ dependencies: flutter: sdk: flutter - parse_server_sdk: ^3.1.13 + parse_server_sdk: ^3.1.2 # Uncomment for local testing #parse_server_sdk: # path: ../dart # Networking dio: ^4.0.6 - connectivity_plus: ^3.0.3 # only used in the flutter part + connectivity_plus: ^2.3.2 # only used in the flutter part #Database - shared_preferences: ^2.0.18 # only used in the flutter part + shared_preferences: ^2.0.15 # only used in the flutter part # Utils - path_provider: ^2.0.13 # only used in the flutter part - package_info_plus: ^3.0.3 # only used in the flutter part - sembast: ^3.4.0+6 - sembast_web: ^2.1.0+4 - path: ^1.8.2 # required for transitive use only + path_provider: ^2.0.10 # only used in the flutter part + package_info_plus: ^1.4.2 # only used in the flutter part + sembast: ^3.2.0 + sembast_web: ^2.0.1+1 + path: ^1.8.1 # required for transitive use only platform: ^3.1.0 dev_dependencies: - flutter_lints: ^2.0.1 + flutter_lints: ^1.0.4 # Testing flutter_test: sdk: flutter - mockito: ^5.3.2 \ No newline at end of file + mockito: ^5.2.0 \ No newline at end of file From a720e4459ee8634029af57423bfd1a735ea04f4b Mon Sep 17 00:00:00 2001 From: Manuel <5673677+mtrezza@users.noreply.github.com> Date: Mon, 27 Feb 2023 20:22:47 +0100 Subject: [PATCH 13/21] Update packages/dart/pubspec.yaml --- packages/dart/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dart/pubspec.yaml b/packages/dart/pubspec.yaml index 7e3685ca3..e2b3182bf 100644 --- a/packages/dart/pubspec.yaml +++ b/packages/dart/pubspec.yaml @@ -1,6 +1,6 @@ name: parse_server_sdk description: Dart plugin for Parse Server, (https://parseplatform.org), (https://back4app.com) -version: 3.1.15 +version: 4.0.0 homepage: https://github.com/parse-community/Parse-SDK-Flutter environment: From d1445d001115c0a494f6b3ca4d428d82e53c0734 Mon Sep 17 00:00:00 2001 From: Manuel <5673677+mtrezza@users.noreply.github.com> Date: Mon, 27 Feb 2023 20:22:51 +0100 Subject: [PATCH 14/21] Update packages/dart/lib/src/base/parse_constants.dart --- packages/dart/lib/src/base/parse_constants.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dart/lib/src/base/parse_constants.dart b/packages/dart/lib/src/base/parse_constants.dart index 6e01f1bab..8a72eb63e 100644 --- a/packages/dart/lib/src/base/parse_constants.dart +++ b/packages/dart/lib/src/base/parse_constants.dart @@ -1,7 +1,7 @@ part of flutter_parse_sdk; // Library -const String keySdkVersion = '3.1.15'; +const String keySdkVersion = '4.0.0'; const String keyLibraryName = 'Flutter Parse SDK'; // End Points From 7aea049a79c4ae7ce401b104ea1b9476fdaaa832 Mon Sep 17 00:00:00 2001 From: Manuel <5673677+mtrezza@users.noreply.github.com> Date: Mon, 27 Feb 2023 20:22:57 +0100 Subject: [PATCH 15/21] Update packages/dart/CHANGELOG.md --- packages/dart/CHANGELOG.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/dart/CHANGELOG.md b/packages/dart/CHANGELOG.md index e2a47ffe0..17e27294c 100644 --- a/packages/dart/CHANGELOG.md +++ b/packages/dart/CHANGELOG.md @@ -1,8 +1,12 @@ -## [3.1.15](https://github.com/parse-community/Parse-SDK-Flutter/compare/dart-3.1.14...dart-3.1.15) (2023-02-27) +## [4.0.0](https://github.com/parse-community/Parse-SDK-Flutter/compare/dart-3.1.14...dart-4.0.0) (2023-02-27) -### Refactor +### BREAKING CHANGES + +* Upgrades to dio 5.x + +### Feature -* Upgrade packages and fix warnings in ([#821](https://github.com/parse-community/Parse-SDK-Flutter/issues/821)) +* Upgrade various dependencies and fix warnings ([#824](https://github.com/parse-community/Parse-SDK-Flutter/pull/824)) ## [3.1.14](https://github.com/parse-community/Parse-SDK-Flutter/compare/dart-3.1.13...dart-3.1.14) (2023-02-26) From fccd8b647c5a314fbb68ec5330a059677bfee093 Mon Sep 17 00:00:00 2001 From: Manuel <5673677+mtrezza@users.noreply.github.com> Date: Mon, 27 Feb 2023 20:25:44 +0100 Subject: [PATCH 16/21] Update packages/dart/CHANGELOG.md --- packages/dart/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dart/CHANGELOG.md b/packages/dart/CHANGELOG.md index 17e27294c..75f1bed22 100644 --- a/packages/dart/CHANGELOG.md +++ b/packages/dart/CHANGELOG.md @@ -2,7 +2,7 @@ ### BREAKING CHANGES -* Upgrades to dio 5.x +* Upgrades to dio 5.x ([#824](https://github.com/parse-community/Parse-SDK-Flutter/pull/824)) ### Feature From a7d0d3be1190440ebb5ac0de7ae7f297eaf1dad4 Mon Sep 17 00:00:00 2001 From: Manuel <5673677+mtrezza@users.noreply.github.com> Date: Tue, 28 Feb 2023 00:10:02 +0100 Subject: [PATCH 17/21] Update packages/flutter/pubspec.yaml --- packages/flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/flutter/pubspec.yaml b/packages/flutter/pubspec.yaml index 3c6d5b708..978e02261 100644 --- a/packages/flutter/pubspec.yaml +++ b/packages/flutter/pubspec.yaml @@ -35,4 +35,4 @@ dev_dependencies: # Testing flutter_test: sdk: flutter - mockito: ^5.2.0 \ No newline at end of file + mockito: ^5.2.0 From ef63745a0684230faac57c9ac0f740ab9785d665 Mon Sep 17 00:00:00 2001 From: mbfakourii Date: Tue, 28 Feb 2023 09:49:10 +0330 Subject: [PATCH 18/21] rollback flutter files --- .../flutter/example_livelist/lib/main.dart | 118 +++++++++--------- .../lib/src/utils/parse_live_grid.dart | 12 +- .../lib/src/utils/parse_live_list.dart | 30 ++--- 3 files changed, 80 insertions(+), 80 deletions(-) diff --git a/packages/flutter/example_livelist/lib/main.dart b/packages/flutter/example_livelist/lib/main.dart index 994555bbc..053c72546 100644 --- a/packages/flutter/example_livelist/lib/main.dart +++ b/packages/flutter/example_livelist/lib/main.dart @@ -9,7 +9,7 @@ class MyApp extends StatefulWidget { const MyApp({Key? key}) : super(key: key); @override - State createState() => _MyAppState(); + _MyAppState createState() => _MyAppState(); } class _MyAppState extends State { @@ -46,18 +46,18 @@ class _MyAppState extends State { body: initFailed == false ? buildBody(context) : Container( - height: double.infinity, - alignment: Alignment.center, - child: initFailed == null - ? Column( - mainAxisAlignment: MainAxisAlignment.center, - children: const [ - CircularProgressIndicator(), - Text('Connecting to the server...'), - ], - ) - : const Text('Connecting to the server failed!'), - ), + height: double.infinity, + alignment: Alignment.center, + child: initFailed == null + ? Column( + mainAxisAlignment: MainAxisAlignment.center, + children: const [ + CircularProgressIndicator(), + Text('Connecting to the server...'), + ], + ) + : const Text('Connecting to the server failed!'), + ), ), ); } @@ -73,7 +73,7 @@ class _MyAppState extends State { Widget buildBody(BuildContext context) { final GlobalKey<_ObjectFormState> objectFormKey = - GlobalKey<_ObjectFormState>(); + GlobalKey<_ObjectFormState>(); return Column( children: [ Expanded( @@ -89,19 +89,19 @@ class _MyAppState extends State { title: Row( children: [ Flexible( - flex: 1, child: Text(snapshot.loadedData! .get('order') .toString()), + flex: 1, ), Flexible( - flex: 10, child: Container( alignment: Alignment.center, child: Text( snapshot.loadedData!.get('text')!, ), ), + flex: 10, ), ], ), @@ -132,7 +132,7 @@ class ObjectForm extends StatefulWidget { const ObjectForm({Key? key}) : super(key: key); @override - State createState() => _ObjectFormState(); + _ObjectFormState createState() => _ObjectFormState(); } class _ObjectFormState extends State { @@ -150,48 +150,48 @@ class _ObjectFormState extends State { return _currentObject == null ? Container() : Form( - key: _formKey, - child: ListTile( - key: UniqueKey(), - title: Row( - children: [ - Flexible( - flex: 1, - child: TextFormField( - initialValue: - _currentObject!.get('order').toString(), - keyboardType: TextInputType.number, - onSaved: (String? value) { - _currentObject!.set('order', int.parse(value!)); - }, - ), - ), - Flexible( - flex: 10, - child: TextFormField( - initialValue: _currentObject!.get('text'), - onSaved: (String? value) { - _currentObject!.set('text', value); - }, - ), - ) - ], + key: _formKey, + child: ListTile( + key: UniqueKey(), + title: Row( + children: [ + Flexible( + flex: 1, + child: TextFormField( + initialValue: + _currentObject!.get('order').toString(), + keyboardType: TextInputType.number, + onSaved: (String? value) { + _currentObject!.set('order', int.parse(value!)); + }, ), - trailing: IconButton( - icon: const Icon(Icons.save), - onPressed: () { - setState(() { - _formKey.currentState!.save(); - final ParseObject? object = _currentObject; - //Delay to highlight the animation. - Future.delayed(const Duration(seconds: 1)) - .then((_) { - object!.save(); - }); - _currentObject = null; - }); - }), ), - ); + Flexible( + flex: 10, + child: TextFormField( + initialValue: _currentObject!.get('text'), + onSaved: (String? value) { + _currentObject!.set('text', value); + }, + ), + ) + ], + ), + trailing: IconButton( + icon: const Icon(Icons.save), + onPressed: () { + setState(() { + _formKey.currentState!.save(); + final ParseObject? object = _currentObject; + //Delay to highlight the animation. + Future.delayed(const Duration(seconds: 1)) + .then((_) { + object!.save(); + }); + _currentObject = null; + }); + }), + ), + ); } -} +} \ No newline at end of file diff --git a/packages/flutter/lib/src/utils/parse_live_grid.dart b/packages/flutter/lib/src/utils/parse_live_grid.dart index 4d3829aa1..e7fc379ad 100644 --- a/packages/flutter/lib/src/utils/parse_live_grid.dart +++ b/packages/flutter/lib/src/utils/parse_live_grid.dart @@ -57,7 +57,7 @@ class ParseLiveGridWidget extends StatefulWidget { final double childAspectRatio; @override - State> createState() => _ParseLiveGridWidgetState(); + _ParseLiveGridWidgetState createState() => _ParseLiveGridWidgetState(); static Widget defaultChildBuilder( BuildContext context, sdk.ParseLiveListElementSnapshot snapshot) { @@ -158,9 +158,9 @@ class _ParseLiveGridWidgetState mainAxisSpacing: widget.mainAxisSpacing, childAspectRatio: widget.childAspectRatio), itemBuilder: ( - BuildContext context, - int index, - ) { + BuildContext context, + int index, + ) { return ParseLiveListElementWidget( key: ValueKey(liveGrid.getIdentifier(index)), stream: () => liveGrid.getAt(index), @@ -169,7 +169,7 @@ class _ParseLiveGridWidgetState sizeFactor: boxAnimation, duration: widget.duration, childBuilder: - widget.childBuilder ?? ParseLiveGridWidget.defaultChildBuilder, + widget.childBuilder ?? ParseLiveGridWidget.defaultChildBuilder, ); }); } @@ -180,4 +180,4 @@ class _ParseLiveGridWidgetState _liveGrid = null; super.dispose(); } -} +} \ No newline at end of file diff --git a/packages/flutter/lib/src/utils/parse_live_list.dart b/packages/flutter/lib/src/utils/parse_live_list.dart index 1a671d1f0..56070e91c 100644 --- a/packages/flutter/lib/src/utils/parse_live_list.dart +++ b/packages/flutter/lib/src/utils/parse_live_list.dart @@ -51,7 +51,7 @@ class ParseLiveListWidget extends StatefulWidget { final List? preloadedColumns; @override - State> createState() => _ParseLiveListWidgetState(); + _ParseLiveListWidgetState createState() => _ParseLiveListWidgetState(); static Widget defaultChildBuilder( BuildContext context, sdk.ParseLiveListElementSnapshot snapshot) { @@ -102,7 +102,7 @@ class _ParseLiveListWidgetState } else if (event is sdk.ParseLiveListDeleteEvent) { animatedListState.removeItem( event.index, - (BuildContext context, Animation animation) => + (BuildContext context, Animation animation) => ParseLiveListElementWidget( key: ValueKey( event.object.get(sdk.keyVarObjectId) ?? @@ -129,7 +129,7 @@ class _ParseLiveListWidgetState sdk.ParseLiveList? _liveList; final GlobalKey _animatedListKey = - GlobalKey(); + GlobalKey(); bool _noData = true; @override @@ -180,7 +180,7 @@ class _ParseLiveListWidgetState sizeFactor: animation, duration: widget.duration, childBuilder: - widget.childBuilder ?? ParseLiveListWidget.defaultChildBuilder, + widget.childBuilder ?? ParseLiveListWidget.defaultChildBuilder, ); }); } @@ -197,12 +197,12 @@ class ParseLiveListElementWidget extends StatefulWidget { const ParseLiveListElementWidget( {Key? key, - this.stream, - this.loadedData, - this.preLoadedData, - required this.sizeFactor, - required this.duration, - required this.childBuilder}) + this.stream, + this.loadedData, + this.preLoadedData, + required this.sizeFactor, + required this.duration, + required this.childBuilder}) : super(key: key); final StreamGetter? stream; @@ -213,7 +213,7 @@ class ParseLiveListElementWidget final ChildBuilder childBuilder; @override - State> createState() { + _ParseLiveListElementWidgetState createState() { return _ParseLiveListElementWidgetState(); } } @@ -229,10 +229,10 @@ class _ParseLiveListElementWidgetState _snapshot = sdk.ParseLiveListElementSnapshot( loadedData: widget.loadedData != null ? widget.loadedData!() : null, preLoadedData: - widget.preLoadedData != null ? widget.preLoadedData!() : null); + widget.preLoadedData != null ? widget.preLoadedData!() : null); if (widget.stream != null) { _streamSubscription = widget.stream!().listen( - (T data) { + (T data) { setState(() { _snapshot = sdk.ParseLiveListElementSnapshot( loadedData: data, preLoadedData: data); @@ -272,11 +272,11 @@ class _ParseLiveListElementWidgetState sizeFactor: widget.sizeFactor, child: AnimatedSize( duration: widget.duration, + child: widget.childBuilder(context, _snapshot), // ignore: deprecated_member_use vsync: this, - child: widget.childBuilder(context, _snapshot), ), ); return result; } -} +} \ No newline at end of file From 1646439e66dafe5776547c22343d4ba3af755701 Mon Sep 17 00:00:00 2001 From: mbfakourii Date: Tue, 28 Feb 2023 09:50:00 +0330 Subject: [PATCH 19/21] rollback flutter files --- .../flutter/example_livelist/lib/main.dart | 110 +++++++++--------- .../lib/src/utils/parse_live_grid.dart | 10 +- .../lib/src/utils/parse_live_list.dart | 24 ++-- 3 files changed, 72 insertions(+), 72 deletions(-) diff --git a/packages/flutter/example_livelist/lib/main.dart b/packages/flutter/example_livelist/lib/main.dart index 053c72546..c9881962e 100644 --- a/packages/flutter/example_livelist/lib/main.dart +++ b/packages/flutter/example_livelist/lib/main.dart @@ -46,18 +46,18 @@ class _MyAppState extends State { body: initFailed == false ? buildBody(context) : Container( - height: double.infinity, - alignment: Alignment.center, - child: initFailed == null - ? Column( - mainAxisAlignment: MainAxisAlignment.center, - children: const [ - CircularProgressIndicator(), - Text('Connecting to the server...'), - ], - ) - : const Text('Connecting to the server failed!'), - ), + height: double.infinity, + alignment: Alignment.center, + child: initFailed == null + ? Column( + mainAxisAlignment: MainAxisAlignment.center, + children: const [ + CircularProgressIndicator(), + Text('Connecting to the server...'), + ], + ) + : const Text('Connecting to the server failed!'), + ), ), ); } @@ -73,7 +73,7 @@ class _MyAppState extends State { Widget buildBody(BuildContext context) { final GlobalKey<_ObjectFormState> objectFormKey = - GlobalKey<_ObjectFormState>(); + GlobalKey<_ObjectFormState>(); return Column( children: [ Expanded( @@ -150,48 +150,48 @@ class _ObjectFormState extends State { return _currentObject == null ? Container() : Form( - key: _formKey, - child: ListTile( - key: UniqueKey(), - title: Row( - children: [ - Flexible( - flex: 1, - child: TextFormField( - initialValue: - _currentObject!.get('order').toString(), - keyboardType: TextInputType.number, - onSaved: (String? value) { - _currentObject!.set('order', int.parse(value!)); - }, + key: _formKey, + child: ListTile( + key: UniqueKey(), + title: Row( + children: [ + Flexible( + flex: 1, + child: TextFormField( + initialValue: + _currentObject!.get('order').toString(), + keyboardType: TextInputType.number, + onSaved: (String? value) { + _currentObject!.set('order', int.parse(value!)); + }, + ), + ), + Flexible( + flex: 10, + child: TextFormField( + initialValue: _currentObject!.get('text'), + onSaved: (String? value) { + _currentObject!.set('text', value); + }, + ), + ) + ], ), + trailing: IconButton( + icon: const Icon(Icons.save), + onPressed: () { + setState(() { + _formKey.currentState!.save(); + final ParseObject? object = _currentObject; + //Delay to highlight the animation. + Future.delayed(const Duration(seconds: 1)) + .then((_) { + object!.save(); + }); + _currentObject = null; + }); + }), ), - Flexible( - flex: 10, - child: TextFormField( - initialValue: _currentObject!.get('text'), - onSaved: (String? value) { - _currentObject!.set('text', value); - }, - ), - ) - ], - ), - trailing: IconButton( - icon: const Icon(Icons.save), - onPressed: () { - setState(() { - _formKey.currentState!.save(); - final ParseObject? object = _currentObject; - //Delay to highlight the animation. - Future.delayed(const Duration(seconds: 1)) - .then((_) { - object!.save(); - }); - _currentObject = null; - }); - }), - ), - ); + ); } -} \ No newline at end of file +} diff --git a/packages/flutter/lib/src/utils/parse_live_grid.dart b/packages/flutter/lib/src/utils/parse_live_grid.dart index e7fc379ad..13503ebaa 100644 --- a/packages/flutter/lib/src/utils/parse_live_grid.dart +++ b/packages/flutter/lib/src/utils/parse_live_grid.dart @@ -158,9 +158,9 @@ class _ParseLiveGridWidgetState mainAxisSpacing: widget.mainAxisSpacing, childAspectRatio: widget.childAspectRatio), itemBuilder: ( - BuildContext context, - int index, - ) { + BuildContext context, + int index, + ) { return ParseLiveListElementWidget( key: ValueKey(liveGrid.getIdentifier(index)), stream: () => liveGrid.getAt(index), @@ -169,7 +169,7 @@ class _ParseLiveGridWidgetState sizeFactor: boxAnimation, duration: widget.duration, childBuilder: - widget.childBuilder ?? ParseLiveGridWidget.defaultChildBuilder, + widget.childBuilder ?? ParseLiveGridWidget.defaultChildBuilder, ); }); } @@ -180,4 +180,4 @@ class _ParseLiveGridWidgetState _liveGrid = null; super.dispose(); } -} \ No newline at end of file +} diff --git a/packages/flutter/lib/src/utils/parse_live_list.dart b/packages/flutter/lib/src/utils/parse_live_list.dart index 56070e91c..5f013229b 100644 --- a/packages/flutter/lib/src/utils/parse_live_list.dart +++ b/packages/flutter/lib/src/utils/parse_live_list.dart @@ -102,7 +102,7 @@ class _ParseLiveListWidgetState } else if (event is sdk.ParseLiveListDeleteEvent) { animatedListState.removeItem( event.index, - (BuildContext context, Animation animation) => + (BuildContext context, Animation animation) => ParseLiveListElementWidget( key: ValueKey( event.object.get(sdk.keyVarObjectId) ?? @@ -129,7 +129,7 @@ class _ParseLiveListWidgetState sdk.ParseLiveList? _liveList; final GlobalKey _animatedListKey = - GlobalKey(); + GlobalKey(); bool _noData = true; @override @@ -180,7 +180,7 @@ class _ParseLiveListWidgetState sizeFactor: animation, duration: widget.duration, childBuilder: - widget.childBuilder ?? ParseLiveListWidget.defaultChildBuilder, + widget.childBuilder ?? ParseLiveListWidget.defaultChildBuilder, ); }); } @@ -197,12 +197,12 @@ class ParseLiveListElementWidget extends StatefulWidget { const ParseLiveListElementWidget( {Key? key, - this.stream, - this.loadedData, - this.preLoadedData, - required this.sizeFactor, - required this.duration, - required this.childBuilder}) + this.stream, + this.loadedData, + this.preLoadedData, + required this.sizeFactor, + required this.duration, + required this.childBuilder}) : super(key: key); final StreamGetter? stream; @@ -229,10 +229,10 @@ class _ParseLiveListElementWidgetState _snapshot = sdk.ParseLiveListElementSnapshot( loadedData: widget.loadedData != null ? widget.loadedData!() : null, preLoadedData: - widget.preLoadedData != null ? widget.preLoadedData!() : null); + widget.preLoadedData != null ? widget.preLoadedData!() : null); if (widget.stream != null) { _streamSubscription = widget.stream!().listen( - (T data) { + (T data) { setState(() { _snapshot = sdk.ParseLiveListElementSnapshot( loadedData: data, preLoadedData: data); @@ -279,4 +279,4 @@ class _ParseLiveListElementWidgetState ); return result; } -} \ No newline at end of file +} From e9226d7222b1b2483fea3b2496817eb0686ec834 Mon Sep 17 00:00:00 2001 From: mbfakourii Date: Thu, 2 Mar 2023 11:02:17 +0330 Subject: [PATCH 20/21] fix dart io --- packages/dart/lib/src/network/dio_adapter_io.dart | 2 +- packages/dart/lib/src/network/parse_http_client.dart | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/dart/lib/src/network/dio_adapter_io.dart b/packages/dart/lib/src/network/dio_adapter_io.dart index 1954f3286..976810283 100644 --- a/packages/dart/lib/src/network/dio_adapter_io.dart +++ b/packages/dart/lib/src/network/dio_adapter_io.dart @@ -1,4 +1,4 @@ -import 'dart:io'; +import 'package:universal_io/io.dart'; import 'package:dio/io.dart'; import 'package:dio/dio.dart'; diff --git a/packages/dart/lib/src/network/parse_http_client.dart b/packages/dart/lib/src/network/parse_http_client.dart index 759acaed4..4abfd630e 100644 --- a/packages/dart/lib/src/network/parse_http_client.dart +++ b/packages/dart/lib/src/network/parse_http_client.dart @@ -1,5 +1,5 @@ import 'dart:convert'; -import 'dart:io'; +import 'package:universal_io/io.dart'; import 'package:http/http.dart' as http; import 'package:http/io_client.dart'; From 47149ee582e1bcf07f21e247139e9e374f3435b3 Mon Sep 17 00:00:00 2001 From: Manuel <5673677+mtrezza@users.noreply.github.com> Date: Tue, 7 Mar 2023 16:40:53 +0100 Subject: [PATCH 21/21] Update packages/dart/CHANGELOG.md --- packages/dart/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dart/CHANGELOG.md b/packages/dart/CHANGELOG.md index 6b1f2367c..5fd8b35f8 100644 --- a/packages/dart/CHANGELOG.md +++ b/packages/dart/CHANGELOG.md @@ -1,4 +1,4 @@ -## [4.0.0](https://github.com/parse-community/Parse-SDK-Flutter/compare/dart-3.1.14...dart-4.0.0) (2023-02-27) +## [4.0.0](https://github.com/parse-community/Parse-SDK-Flutter/compare/dart-3.1.14...dart-4.0.0) (2023-03-07) ### BREAKING CHANGES