diff --git a/.fvmrc b/.fvmrc index 5c7f58e2..3ca65ffc 100644 --- a/.fvmrc +++ b/.fvmrc @@ -1,3 +1,3 @@ { - "flutter": "3.24.5" + "flutter": "3.32.8" } \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a30ab1ae..ce3743e8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,7 +7,7 @@ on: branches: [main] env: - FLUTTER_VERSION: "3.24.5" + FLUTTER_VERSION: "3.32.8" jobs: format: diff --git a/.github/workflows/compile_apk.yml b/.github/workflows/compile_apk.yml index 3724450a..7dc5d61c 100644 --- a/.github/workflows/compile_apk.yml +++ b/.github/workflows/compile_apk.yml @@ -4,7 +4,7 @@ on: workflow_dispatch: env: - FLUTTER_VERSION: "3.24.5" + FLUTTER_VERSION: "3.32.8" RUST_VERSION: "1.84.1" APK_BUILD_DIR: "/tmp/build" diff --git a/.github/workflows/compile_arm64_appimage.yml b/.github/workflows/compile_arm64_appimage.yml index 15104018..7337819b 100644 --- a/.github/workflows/compile_arm64_appimage.yml +++ b/.github/workflows/compile_arm64_appimage.yml @@ -4,7 +4,7 @@ on: workflow_dispatch: env: - FLUTTER_VERSION: "3.24.5" + FLUTTER_VERSION: "3.32.8" jobs: build: diff --git a/.github/workflows/linux_build.yml b/.github/workflows/linux_build.yml index bd6ea6c4..37793414 100644 --- a/.github/workflows/linux_build.yml +++ b/.github/workflows/linux_build.yml @@ -4,7 +4,7 @@ on: workflow_dispatch: env: - FLUTTER_VERSION: "3.24.5" + FLUTTER_VERSION: "3.32.8" APK_BUILD_DIR: "/tmp/build" jobs: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f4478ae0..5b93cd88 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,7 +4,7 @@ on: workflow_dispatch: env: - FLUTTER_VERSION: "3.24.5" + FLUTTER_VERSION: "3.32.8" RUST_VERSION: "1.84.1" APK_BUILD_DIR: "/tmp/build" diff --git a/.github/workflows/test_arm64_deb.yml b/.github/workflows/test_arm64_deb.yml index 86bcfa20..5ae71375 100644 --- a/.github/workflows/test_arm64_deb.yml +++ b/.github/workflows/test_arm64_deb.yml @@ -4,7 +4,7 @@ on: workflow_dispatch: env: - FLUTTER_VERSION: "3.24.5" + FLUTTER_VERSION: "3.32.8" jobs: build: diff --git a/.github/workflows/test_arm64_tar.yml b/.github/workflows/test_arm64_tar.yml index 1037ade1..435541ee 100644 --- a/.github/workflows/test_arm64_tar.yml +++ b/.github/workflows/test_arm64_tar.yml @@ -4,7 +4,7 @@ on: workflow_dispatch: env: - FLUTTER_VERSION: "3.24.5" + FLUTTER_VERSION: "3.32.8" jobs: build: diff --git a/.github/workflows/test_rpm.yml b/.github/workflows/test_rpm.yml index bb97243f..0935f092 100644 --- a/.github/workflows/test_rpm.yml +++ b/.github/workflows/test_rpm.yml @@ -4,7 +4,7 @@ on: workflow_dispatch: env: - FLUTTER_VERSION: "3.24.5" + FLUTTER_VERSION: "3.32.8" jobs: build: diff --git a/.github/workflows/test_zip.yml b/.github/workflows/test_zip.yml index e844e404..e4b0d151 100644 --- a/.github/workflows/test_zip.yml +++ b/.github/workflows/test_zip.yml @@ -4,7 +4,7 @@ on: workflow_dispatch: env: - FLUTTER_VERSION: "3.24.5" + FLUTTER_VERSION: "3.32.8" jobs: build: diff --git a/app/.gitignore b/app/.gitignore index 29302296..b04574f5 100644 --- a/app/.gitignore +++ b/app/.gitignore @@ -5,9 +5,11 @@ *.swp .DS_Store .atom/ +.build/ .buildlog/ .history .svn/ +.swiftpm/ migrate_working_dir/ # IntelliJ related diff --git a/app/lib/config/init.dart b/app/lib/config/init.dart index cf886b01..4e772b7a 100644 --- a/app/lib/config/init.dart +++ b/app/lib/config/init.dart @@ -224,8 +224,8 @@ Future postInit(BuildContext context, Ref ref, bool appStart) async { if (appStart) { if (defaultTargetPlatform == TargetPlatform.macOS) { // handle dropped files - pendingFilesStream.listen((files) { - ref.global.dispatchAsync(_HandleAppStartArgumentsAction( + pendingFilesStream.listen((files) async { + await ref.global.dispatchAsync(_HandleAppStartArgumentsAction( args: files, )); }); @@ -264,8 +264,8 @@ Future postInit(BuildContext context, Ref ref, bool appStart) async { } _sharedMediaSubscription?.cancel(); // ignore: unawaited_futures - _sharedMediaSubscription = shareHandler.sharedMediaStream.listen((SharedMedia payload) { - ref.global.dispatchAsync(_HandleShareIntentAction( + _sharedMediaSubscription = shareHandler.sharedMediaStream.listen((SharedMedia payload) async { + await ref.global.dispatchAsync(_HandleShareIntentAction( payload: payload, )); }); diff --git a/app/lib/pages/donation/donation_page.dart b/app/lib/pages/donation/donation_page.dart index 82c59e76..7846403e 100644 --- a/app/lib/pages/donation/donation_page.dart +++ b/app/lib/pages/donation/donation_page.dart @@ -52,7 +52,7 @@ class DonationPage extends StatelessWidget { ), if (vm.pending) Container( - color: Colors.black.withOpacity(0.1), + color: Colors.black.withValues(alpha: 0.1), child: const Center( child: CircularProgressIndicator(), ), diff --git a/app/lib/provider/network/server/controller/receive_controller.dart b/app/lib/provider/network/server/controller/receive_controller.dart index 610f210b..1a6b560c 100644 --- a/app/lib/provider/network/server/controller/receive_controller.dart +++ b/app/lib/provider/network/server/controller/receive_controller.dart @@ -601,11 +601,12 @@ class ReceiveController { closeSession(); _logger.info('Closing session'); - // ignore: use_build_context_synchronously + // ignore: use_build_context_synchronously, discarded_futures Routerino.context.pushRootImmediately(() => const HomePage(initialTab: HomeTab.receive, appStart: false)); // open the dialog to open file instantly if (outerDestinationPath != null && outerDestinationPath.isNotEmpty) { + // ignore: discarded_futures OpenFileDialog.open( Routerino.context, // ignore: use_build_context_synchronously filePath: outerDestinationPath, diff --git a/app/lib/provider/network/server/controller/send_controller.dart b/app/lib/provider/network/server/controller/send_controller.dart index 0e0c72ec..9350a11a 100644 --- a/app/lib/provider/network/server/controller/send_controller.dart +++ b/app/lib/provider/network/server/controller/send_controller.dart @@ -215,7 +215,9 @@ class SendController { final (streamController, subscription) = byteStream.digested(); await request.response.addStream(streamController.stream).then((_) { + // ignore: discarded_futures request.response.close(); + // ignore: discarded_futures subscription.cancel(); }); } else { @@ -227,8 +229,8 @@ class SendController { final (streamController, subscription) = fileStream.digested(); await request.response.addStream(streamController.stream).then((_) { - request.response.close(); - subscription.cancel(); + request.response.close(); // ignore: discarded_futures + subscription.cancel(); // ignore: discarded_futures }); } }); diff --git a/app/lib/widget/list_tile/device_placeholder_list_tile.dart b/app/lib/widget/list_tile/device_placeholder_list_tile.dart index 6bd4924f..8018939f 100644 --- a/app/lib/widget/list_tile/device_placeholder_list_tile.dart +++ b/app/lib/widget/list_tile/device_placeholder_list_tile.dart @@ -34,12 +34,12 @@ class DevicePlaceholderListTile extends StatelessWidget { spacing: 10, children: [ DeviceBadge( - backgroundColor: Theme.of(context).colorScheme.onSecondaryContainer.withOpacity(0.5), + backgroundColor: Theme.of(context).colorScheme.onSecondaryContainer.withValues(alpha: 0.5), foregroundColor: Colors.transparent, label: ' ', ), DeviceBadge( - backgroundColor: Theme.of(context).colorScheme.onSecondaryContainer.withOpacity(0.5), + backgroundColor: Theme.of(context).colorScheme.onSecondaryContainer.withValues(alpha: 0.5), foregroundColor: Colors.transparent, label: ' ', ), diff --git a/app/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/app/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 95d6b892..1ec50880 100644 --- a/app/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/app/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -48,6 +48,7 @@ ignoresPersistentStateOnLaunch = "NO" debugDocumentVersioning = "YES" debugServiceExtension = "internal" + enableGPUValidationMode = "1" allowLocationSimulation = "YES"> diff --git a/app/pubspec.lock b/app/pubspec.lock index 504122c5..96fef90a 100644 --- a/app/pubspec.lock +++ b/app/pubspec.lock @@ -5,23 +5,23 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: f256b0c0ba6c7577c15e2e4e114755640a875e885099367bf6e012b19314c834 + sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab" url: "https://pub.dev" source: hosted - version: "72.0.0" + version: "76.0.0" _macros: dependency: transitive description: dart source: sdk - version: "0.3.2" + version: "0.3.3" analyzer: dependency: transitive description: name: analyzer - sha256: b652861553cd3990d8ed361f7979dc6d7053a9ac8843fa73820ab68ce5410139 + sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e" url: "https://pub.dev" source: hosted - version: "6.7.0" + version: "6.11.0" animated_vector: dependency: transitive description: @@ -74,10 +74,10 @@ packages: dependency: transitive description: name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" url: "https://pub.dev" source: hosted - version: "2.11.0" + version: "2.13.0" basic_utils: dependency: "direct main" description: @@ -130,10 +130,10 @@ packages: dependency: transitive description: name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" build: dependency: transitive description: @@ -210,10 +210,10 @@ packages: dependency: transitive description: name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.4.0" checked_yaml: dependency: transitive description: @@ -222,14 +222,22 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.3" + cli_config: + dependency: transitive + description: + name: cli_config + sha256: ac20a183a07002b700f0c25e61b7ee46b23c309d76ab7b7640a028f18e4d99ec + url: "https://pub.dev" + source: hosted + version: "0.2.0" clock: dependency: transitive description: name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.2" code_builder: dependency: transitive description: @@ -242,10 +250,10 @@ packages: dependency: "direct main" description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.1" color: dependency: transitive description: @@ -289,10 +297,10 @@ packages: dependency: transitive description: name: coverage - sha256: "4b03e11f6d5b8f6e5bb5e9f7889a56fe6c5cbe942da5378ea4d4d7f73ef9dfe5" + sha256: "802bd084fb82e55df091ec8ad1553a7331b61c08251eef19a508b6f3f3a9858d" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.13.1" cross_file: dependency: transitive description: @@ -425,10 +433,10 @@ packages: dependency: transitive description: name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.3.3" ffi: dependency: transitive description: @@ -837,10 +845,10 @@ packages: dependency: "direct main" description: name: intl - sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf + sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5" url: "https://pub.dev" source: hosted - version: "0.19.0" + version: "0.20.2" io: dependency: transitive description: @@ -877,18 +885,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.9" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.9" leak_tracker_testing: dependency: transitive description: @@ -933,10 +941,10 @@ packages: dependency: transitive description: name: macros - sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536" + sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656" url: "https://pub.dev" source: hosted - version: "0.1.2-main.4" + version: "0.1.3-main.0" markdown: dependency: transitive description: @@ -949,10 +957,10 @@ packages: dependency: transitive description: name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 url: "https://pub.dev" source: hosted - version: "0.12.16+1" + version: "0.12.17" material_color_utilities: dependency: transitive description: @@ -981,10 +989,10 @@ packages: dependency: transitive description: name: meta - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c url: "https://pub.dev" source: hosted - version: "1.15.0" + version: "1.16.0" mime: dependency: "direct main" description: @@ -1142,10 +1150,10 @@ packages: dependency: "direct main" description: name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.9.1" path_parsing: dependency: transitive description: @@ -1598,7 +1606,7 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" slang: dependency: "direct main" description: @@ -1651,10 +1659,10 @@ packages: dependency: transitive description: name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.10.1" sprintf: dependency: transitive description: @@ -1667,18 +1675,18 @@ packages: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" stream_transform: dependency: transitive description: @@ -1691,10 +1699,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.4.1" system_settings: dependency: "direct main" description: @@ -1707,34 +1715,34 @@ packages: dependency: transitive description: name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" test: dependency: "direct dev" description: name: test - sha256: "7ee44229615f8f642b68120165ae4c2a75fe77ae2065b1e55ae4711f6cf0899e" + sha256: "301b213cd241ca982e9ba50266bd3f5bd1ea33f1455554c5abb85d1be0e2d87e" url: "https://pub.dev" source: hosted - version: "1.25.7" + version: "1.25.15" test_api: dependency: transitive description: name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.7.4" test_core: dependency: transitive description: name: test_core - sha256: "55ea5a652e38a1dfb32943a7973f3681a60f872f8c3a05a14664ad54ef9c6696" + sha256: "84d17c3486c8dfdbe5e12a50c8ae176d15e2a771b96909a9442b40173649ccaa" url: "https://pub.dev" source: hosted - version: "0.6.4" + version: "0.6.8" time: dependency: transitive description: @@ -1931,10 +1939,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 url: "https://pub.dev" source: hosted - version: "14.2.5" + version: "15.0.0" wakelock_plus: dependency: "direct main" description: @@ -2112,5 +2120,5 @@ packages: source: hosted version: "0.0.3+1" sdks: - dart: ">=3.5.0 <4.0.0" + dart: ">=3.7.0-0 <4.0.0" flutter: ">=3.24.3" diff --git a/app/pubspec.yaml b/app/pubspec.yaml index e6d411bc..61febdec 100644 --- a/app/pubspec.yaml +++ b/app/pubspec.yaml @@ -37,7 +37,7 @@ dependencies: image: 4.3.0 image_picker: 1.1.2 in_app_purchase: 3.2.0 # [FOSS_REMOVE] - intl: ^0.19.0 # allow newer versions, so it can compile with newer Flutter versions + intl: ^0.20.2 # allow newer versions, so it can compile with newer Flutter versions legalize: 1.2.2 local_hero: 0.3.0 logging: 1.3.0 @@ -51,7 +51,7 @@ dependencies: open_filex: 4.5.0 package_info_plus: 8.1.1 pasteboard: 0.3.0 - path: 1.9.0 + path: 1.9.1 path_provider: 2.1.5 path_provider_foundation: 2.4.0 permission_handler: 11.3.1 diff --git a/common/lib/src/isolate/parent/actions.dart b/common/lib/src/isolate/parent/actions.dart index a82e94e9..7d0c41e8 100644 --- a/common/lib/src/isolate/parent/actions.dart +++ b/common/lib/src/isolate/parent/actions.dart @@ -268,7 +268,7 @@ Stream _sendTaskAndListenStream({ data: task, ); - // ignore: unawaited_futures + // ignore: discarded_futures Future.microtask(() { connection.sendToIsolate(SendToIsolateData>( syncState: null, diff --git a/common/lib/src/task/discovery/multicast_discovery.dart b/common/lib/src/task/discovery/multicast_discovery.dart index 6660b1ef..7d0a4fd1 100644 --- a/common/lib/src/task/discovery/multicast_discovery.dart +++ b/common/lib/src/task/discovery/multicast_discovery.dart @@ -65,6 +65,7 @@ class MulticastService { streamController.add(peer); if ((dto.announcement == true || dto.announce == true) && syncState.serverRunning) { // only respond when server is running + // ignore: discarded_futures _answerAnnouncement(peer); } } catch (e) { @@ -83,6 +84,7 @@ class MulticastService { // ignore: unawaited_futures _cancelCompleter.future.then((_) { + // ignore: discarded_futures streamController.close(); for (final socket in sockets) { socket.socket.close(); diff --git a/common/lib/util/task_runner.dart b/common/lib/util/task_runner.dart index 42a6d99c..a08cbf1f 100644 --- a/common/lib/util/task_runner.dart +++ b/common/lib/util/task_runner.dart @@ -48,6 +48,7 @@ class TaskRunner { onFinish: () { _runnerCount--; if (_stopped || (_runnerCount == 0 && !_stayAlive)) { + // ignore: discarded_futures _streamController.close(); onFinish?.call(); } diff --git a/submodules/flutter b/submodules/flutter index dec2ee5c..edada7c5 160000 --- a/submodules/flutter +++ b/submodules/flutter @@ -1 +1 @@ -Subproject commit dec2ee5c1f98f8e84a7d5380c05eb8a3d0a81668 +Subproject commit edada7c56edf4a183c1735310e123c7f923584f1