From 28761682e67f2e1271f2a038e1e8f8c7ce0cace7 Mon Sep 17 00:00:00 2001 From: Mohammad Bagher Fakouri Date: Wed, 16 Oct 2024 15:30:12 +0330 Subject: [PATCH 1/3] fix: Select input name instead of file in `ParseFile` (#1012) --- packages/dart/CHANGELOG.md | 6 ++++++ .../dart/lib/src/base/parse_constants.dart | 2 +- packages/dart/lib/src/objects/parse_file.dart | 2 +- .../dart/lib/src/objects/parse_x_file.dart | 2 +- packages/dart/pubspec.yaml | 2 +- .../test/src/objects/parse_file_test.dart | 19 +++++++++++++++++++ .../test/src/objects/parse_x_file_test.dart | 19 +++++++++++++++++++ 7 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 packages/dart/test/src/objects/parse_file_test.dart create mode 100644 packages/dart/test/src/objects/parse_x_file_test.dart diff --git a/packages/dart/CHANGELOG.md b/packages/dart/CHANGELOG.md index cdee9b8f..aafb4bad 100644 --- a/packages/dart/CHANGELOG.md +++ b/packages/dart/CHANGELOG.md @@ -1,3 +1,9 @@ +## [7.0.1](https://github.com/parse-community/Parse-SDK-Flutter/compare/dart-7.0.0...dart-7.0.1) (2024-10-16) + +### Bug Fixes + +* Select input name instead of file in `ParseFile` ([#1012](https://github.com/parse-community/Parse-SDK-Flutter/pull/1012)) + ## [7.0.0](https://github.com/parse-community/Parse-SDK-Flutter/compare/dart-6.4.0...dart-7.0.0) (2024-04-12) ### BREAKING CHANGES diff --git a/packages/dart/lib/src/base/parse_constants.dart b/packages/dart/lib/src/base/parse_constants.dart index bd96e48f..c38880c6 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 '../../parse_server_sdk.dart'; // Library -const String keySdkVersion = '7.0.0'; +const String keySdkVersion = '7.0.1'; const String keyLibraryName = 'Flutter Parse SDK'; // End Points diff --git a/packages/dart/lib/src/objects/parse_file.dart b/packages/dart/lib/src/objects/parse_file.dart index 6a1b6e38..31328110 100644 --- a/packages/dart/lib/src/objects/parse_file.dart +++ b/packages/dart/lib/src/objects/parse_file.dart @@ -11,7 +11,7 @@ class ParseFile extends ParseFileBase { super.client, super.autoSendSessionId}) : super( - name: file != null ? path.basename(file.path) : name!, + name: name ?? path.basename(file?.path ?? ''), ); File? file; diff --git a/packages/dart/lib/src/objects/parse_x_file.dart b/packages/dart/lib/src/objects/parse_x_file.dart index cb66e40d..8dddc0c5 100644 --- a/packages/dart/lib/src/objects/parse_x_file.dart +++ b/packages/dart/lib/src/objects/parse_x_file.dart @@ -11,7 +11,7 @@ class ParseXFile extends ParseFileBase { super.client, super.autoSendSessionId}) : super( - name: file != null ? path.basename(file.path) : name!, + name: name ?? path.basename(file?.path ?? ''), ); XFile? file; diff --git a/packages/dart/pubspec.yaml b/packages/dart/pubspec.yaml index 369c91e8..2d31f3e5 100644 --- a/packages/dart/pubspec.yaml +++ b/packages/dart/pubspec.yaml @@ -1,6 +1,6 @@ name: parse_server_sdk description: The Dart SDK to connect to Parse Server. Build your apps faster with Parse Platform, the complete application stack. -version: 7.0.0 +version: 7.0.1 homepage: https://parseplatform.org repository: https://github.com/parse-community/Parse-SDK-Flutter issue_tracker: https://github.com/parse-community/Parse-SDK-Flutter/issues diff --git a/packages/dart/test/src/objects/parse_file_test.dart b/packages/dart/test/src/objects/parse_file_test.dart new file mode 100644 index 00000000..8a241922 --- /dev/null +++ b/packages/dart/test/src/objects/parse_file_test.dart @@ -0,0 +1,19 @@ +import 'dart:io'; +import 'package:parse_server_sdk/parse_server_sdk.dart'; +import 'package:test/test.dart'; + +import '../../test_utils.dart'; + +void main() { + setUpAll(() async { + await initializeParse(); + }); + + group('Parse X File', () { + test('should return a correct name', () { + File file = File('/sdcard/aa/aa.jpg'); + final parseFile = ParseFile(file, name: 'bb.jpg'); + expect(parseFile.name, 'bb.jpg'); + }); + }); +} diff --git a/packages/dart/test/src/objects/parse_x_file_test.dart b/packages/dart/test/src/objects/parse_x_file_test.dart new file mode 100644 index 00000000..de446c2b --- /dev/null +++ b/packages/dart/test/src/objects/parse_x_file_test.dart @@ -0,0 +1,19 @@ +import 'package:cross_file/cross_file.dart'; +import 'package:parse_server_sdk/parse_server_sdk.dart'; +import 'package:test/test.dart'; + +import '../../test_utils.dart'; + +void main() { + setUpAll(() async { + await initializeParse(); + }); + + group('Parse X File', () { + test('should return a correct name', () { + XFile file = XFile('/sdcard/aa/aa.jpg'); + final parseFile = ParseXFile(file, name: 'bb.jpg'); + expect(parseFile.name, 'bb.jpg'); + }); + }); +} From b099eee3569eaf745fff94e24f674018d0e69aa6 Mon Sep 17 00:00:00 2001 From: Mohammad Bagher Fakouri Date: Wed, 16 Oct 2024 18:48:59 +0330 Subject: [PATCH 2/3] feat: Removes support for Flutter `3.10`, `3.13` (#1014) --- .github/workflows/ci.yml | 24 ++++++------ packages/flutter/CHANGELOG.md | 6 +++ packages/flutter/README.md | 6 +-- .../example/lib/domain/utils/db_utils.dart | 5 +-- .../repository/repository_mock_utils.dart | 5 +-- .../flutter/lib/parse_server_sdk_flutter.dart | 39 +++++++++++-------- packages/flutter/pubspec.yaml | 16 ++++---- .../storage/core_store_directory_io_test.dart | 2 +- 8 files changed, 56 insertions(+), 47 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a0fbf4c7..7de03b18 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -81,25 +81,25 @@ jobs: include: # Flutter framework may contain breaking changes in minor version releases, not following semver. # The latest Flutter framework (below) is tested on all architectures (Ubuntu, macOS, Windows). - - name: Flutter 3.19, Ubuntu + - name: Flutter 3.24, Ubuntu os: ubuntu-latest - sdk: 3.19.5 - - name: Flutter 3.19, macOS + sdk: 3.24.3 + - name: Flutter 3.24, macOS os: macos-latest - sdk: 3.19.5 - - name: Flutter 3.19, Windows + sdk: 3.24.3 + - name: Flutter 3.24, Windows os: windows-latest - sdk: 3.19.5 + sdk: 3.24.3 # Older Flutter framework versions (below) are only tested with Ubuntu to reduce CI resource usage. - - name: Flutter 3.16 + - name: Flutter 3.22 os: ubuntu-latest - sdk: 3.16.9 - - name: Flutter 3.13 + sdk: 3.22.3 + - name: Flutter 3.19 os: ubuntu-latest - sdk: 3.13.9 - - name: Flutter 3.10 + sdk: 3.19.6 + - name: Flutter 3.16 os: ubuntu-latest - sdk: 3.10.6 + sdk: 3.16.9 - name: Flutter beta os: ubuntu-latest sdk: beta diff --git a/packages/flutter/CHANGELOG.md b/packages/flutter/CHANGELOG.md index f7a33414..539409b2 100644 --- a/packages/flutter/CHANGELOG.md +++ b/packages/flutter/CHANGELOG.md @@ -1,3 +1,9 @@ +## [9.0.0](https://github.com/parse-community/Parse-SDK-Flutter/compare/flutter-8.0.0...flutter-9.0.0) (2024-10-16) + +### BREAKING CHANGES + +* This release removes support for Flutter 3.10, 3.13 ([#1014](https://github.com/parse-community/Parse-SDK-Flutter/pull/1014)) + ## [8.0.0](https://github.com/parse-community/Parse-SDK-Flutter/compare/flutter-7.0.0...flutter-8.0.0) (2024-05-15) ### BREAKING CHANGES diff --git a/packages/flutter/README.md b/packages/flutter/README.md index fe498983..179e046a 100644 --- a/packages/flutter/README.md +++ b/packages/flutter/README.md @@ -32,10 +32,10 @@ The Parse Flutter SDK is continuously tested with the most recent release of the | Version | Latest Version | End of Support | Compatible | |--------------|----------------|----------------|------------| -| Flutter 3.10 | 3.10.6 | Jul 2024 | ✅ Yes | -| Flutter 3.13 | 3.13.9 | Oct 2024 | ✅ Yes | | Flutter 3.16 | 3.16.9 | Jan 2025 | ✅ Yes | -| Flutter 3.19 | 3.19.5 | Mar 2025 | ✅ Yes | +| Flutter 3.19 | 3.19.6 | Apr 2025 | ✅ Yes | +| Flutter 3.22 | 3.22.3 | Jul 2025 | ✅ Yes | +| Flutter 3.24 | 3.24.3 | Sep 2025 | ✅ Yes | ## Getting Started diff --git a/packages/flutter/example/lib/domain/utils/db_utils.dart b/packages/flutter/example/lib/domain/utils/db_utils.dart index 95d34a3b..03440536 100644 --- a/packages/flutter/example/lib/domain/utils/db_utils.dart +++ b/packages/flutter/example/lib/domain/utils/db_utils.dart @@ -1,11 +1,10 @@ import 'package:path/path.dart' as path; import 'package:path_provider/path_provider.dart'; -import 'package:sembast/sembast.dart'; import 'package:sembast/sembast_io.dart'; -Future getDB() async { +Future getDB() async { final String dbDirectory = (await getApplicationDocumentsDirectory()).path; final String dbPath = path.join(dbDirectory, 'no_sql'); - final DatabaseFactory dbFactory = databaseFactoryIo; + final dynamic dbFactory = databaseFactoryIo; return await dbFactory.openDatabase(dbPath); } diff --git a/packages/flutter/example/test/data/repository/repository_mock_utils.dart b/packages/flutter/example/test/data/repository/repository_mock_utils.dart index 20386bb1..de92e769 100644 --- a/packages/flutter/example/test/data/repository/repository_mock_utils.dart +++ b/packages/flutter/example/test/data/repository/repository_mock_utils.dart @@ -7,17 +7,16 @@ import 'package:flutter_plugin_example/domain/constants/application_constants.da import 'package:mockito/mockito.dart'; import 'package:parse_server_sdk_flutter/parse_server_sdk_flutter.dart'; import 'package:path/path.dart'; -import 'package:sembast/sembast.dart'; import 'package:sembast/sembast_io.dart'; class MockDietPlanProviderApi extends Mock implements DietPlanProviderApi {} class MockDietPlanProviderDB extends Mock implements DietPlanProviderDB {} -Future getDB() async { +Future getDB() async { final String dbDirectory = Directory.current.path; final String dbPath = join(dbDirectory, 'no_sql_test'); - final DatabaseFactory dbFactory = databaseFactoryIo; + final dynamic dbFactory = databaseFactoryIo; return await dbFactory.openDatabase(dbPath); } diff --git a/packages/flutter/lib/parse_server_sdk_flutter.dart b/packages/flutter/lib/parse_server_sdk_flutter.dart index 33e4d8e7..a7e14cf8 100644 --- a/packages/flutter/lib/parse_server_sdk_flutter.dart +++ b/packages/flutter/lib/parse_server_sdk_flutter.dart @@ -1,4 +1,4 @@ -library flutter_parse_sdk_flutter; +library; import 'dart:convert'; import 'dart:async'; @@ -19,10 +19,15 @@ export 'package:parse_server_sdk/parse_server_sdk.dart' hide Parse, CoreStoreSembastImp; part 'src/storage/core_store_shared_preferences.dart'; + part 'src/storage/core_store_sembast.dart'; + part 'src/utils/parse_live_grid.dart'; + part 'src/utils/parse_live_list.dart'; + part 'src/notification/parse_notification.dart'; + part 'src/push//parse_push.dart'; class Parse extends sdk.Parse @@ -109,30 +114,30 @@ class Parse extends sdk.Parse @override Future checkConnectivity() async { - switch (await Connectivity().checkConnectivity()) { - case ConnectivityResult.wifi: - return sdk.ParseConnectivityResult.wifi; - case ConnectivityResult.mobile: - return sdk.ParseConnectivityResult.mobile; - case ConnectivityResult.none: - return sdk.ParseConnectivityResult.none; - default: - return sdk.ParseConnectivityResult.wifi; + List list = await Connectivity().checkConnectivity(); + + if (list.contains(ConnectivityResult.wifi)) { + return sdk.ParseConnectivityResult.wifi; + } else if (list.contains(ConnectivityResult.mobile)) { + return sdk.ParseConnectivityResult.mobile; + } else { + return sdk.ParseConnectivityResult.none; } } @override Stream get connectivityStream { - return Connectivity().onConnectivityChanged.map((ConnectivityResult event) { - switch (event) { - case ConnectivityResult.wifi: + return Connectivity().onConnectivityChanged.map( + (List event) { + if (event.contains(ConnectivityResult.wifi)) { return sdk.ParseConnectivityResult.wifi; - case ConnectivityResult.mobile: + } else if (event.contains(ConnectivityResult.mobile)) { return sdk.ParseConnectivityResult.mobile; - default: + } else { return sdk.ParseConnectivityResult.none; - } - }); + } + }, + ); } @override diff --git a/packages/flutter/pubspec.yaml b/packages/flutter/pubspec.yaml index 7a6453fd..21f3d0a4 100644 --- a/packages/flutter/pubspec.yaml +++ b/packages/flutter/pubspec.yaml @@ -1,6 +1,6 @@ name: parse_server_sdk_flutter description: The Flutter SDK to connect to Parse Server. Build your apps faster with Parse Platform, the complete application stack. -version: 8.0.0 +version: 9.0.0 homepage: https://parseplatform.org repository: https://github.com/parse-community/Parse-SDK-Flutter issue_tracker: https://github.com/parse-community/Parse-SDK-Flutter/issues @@ -18,8 +18,8 @@ topics: - backend environment: - sdk: ">=3.0.6 <4.0.0" - flutter: ">=3.10.6" + sdk: ">=3.2.6 <4.0.0" + flutter: ">=3.16.9" dependencies: flutter: @@ -31,23 +31,23 @@ dependencies: # path: ../dart # Networking - connectivity_plus: ^5.0.2 + connectivity_plus: ^6.0.3 #Database - shared_preferences: ^2.2.2 + shared_preferences: ^2.2.3 sembast: ^3.6.0 sembast_web: ^2.2.0 # Utils - path_provider: ^2.1.2 - package_info_plus: ^4.2.0 + path_provider: ^2.1.4 + package_info_plus: ^5.0.1 path: ^1.8.3 dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^3.0.1 + flutter_lints: ^4.0.0 path_provider_platform_interface: ^2.1.2 plugin_platform_interface: ^2.1.8 diff --git a/packages/flutter/test/src/storage/core_store_directory_io_test.dart b/packages/flutter/test/src/storage/core_store_directory_io_test.dart index a2a39a42..acb32a05 100644 --- a/packages/flutter/test/src/storage/core_store_directory_io_test.dart +++ b/packages/flutter/test/src/storage/core_store_directory_io_test.dart @@ -1,5 +1,5 @@ @TestOn('dart-vm') -@Timeout.factor(2) +library; import 'dart:io'; import 'dart:math'; From b35a498d4cfec902b286f4c77a4f65f3e98ce0dc Mon Sep 17 00:00:00 2001 From: Manuel <5673677+mtrezza@users.noreply.github.com> Date: Wed, 16 Oct 2024 17:26:28 +0200 Subject: [PATCH 3/3] docs: Add feature to README (#1015) --- packages/flutter/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/flutter/CHANGELOG.md b/packages/flutter/CHANGELOG.md index 539409b2..36252d8a 100644 --- a/packages/flutter/CHANGELOG.md +++ b/packages/flutter/CHANGELOG.md @@ -4,6 +4,10 @@ * This release removes support for Flutter 3.10, 3.13 ([#1014](https://github.com/parse-community/Parse-SDK-Flutter/pull/1014)) +### Features + +* Add support for Flutter 3.22, 3.24; remove support for Flutter 3.10, 3.13 ([#1014](https://github.com/parse-community/Parse-SDK-Flutter/pull/1014)) + ## [8.0.0](https://github.com/parse-community/Parse-SDK-Flutter/compare/flutter-7.0.0...flutter-8.0.0) (2024-05-15) ### BREAKING CHANGES