From 4c4a02ce7ae674f57c5b086a6af50bb61f23e24c Mon Sep 17 00:00:00 2001 From: DatDang Date: Tue, 9 Apr 2024 14:04:29 +0700 Subject: [PATCH] TF-2533 resolve file picker memory leak --- .../controller/upload_controller.dart | 2 ++ pubspec.lock | 21 ++++++++++--------- pubspec.yaml | 9 ++++++-- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/lib/features/upload/presentation/controller/upload_controller.dart b/lib/features/upload/presentation/controller/upload_controller.dart index 0073c4496..501643474 100644 --- a/lib/features/upload/presentation/controller/upload_controller.dart +++ b/lib/features/upload/presentation/controller/upload_controller.dart @@ -14,6 +14,7 @@ import 'package:model/extensions/attachment_extension.dart'; import 'package:model/extensions/list_attachment_extension.dart'; import 'package:model/upload/file_info.dart'; import 'package:tmail_ui_user/features/base/base_controller.dart'; +import 'package:tmail_ui_user/features/base/state/base_ui_state.dart'; import 'package:tmail_ui_user/features/composer/domain/state/upload_attachment_state.dart'; import 'package:tmail_ui_user/features/composer/domain/usecases/upload_attachment_interactor.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart'; @@ -57,6 +58,7 @@ class UploadController extends BaseController { _progressUploadStateStreamGroup.close(); _uploadingStateInlineFiles.clear(); _progressUploadInlineImageStateStreamGroup.close(); + dispatchState(Right(UIClosedState())); super.onClose(); } diff --git a/pubspec.lock b/pubspec.lock index 33b5f925f..3f1458bec 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -252,10 +252,10 @@ packages: dependency: transitive description: name: cross_file - sha256: "445db18de832dba8d851e287aff8ccf169bed30d2e94243cb54c7d2f1ed2142c" + sha256: fedaadfa3a6996f75211d835aaeb8fede285dae94262485698afd832371b9a5e url: "https://pub.dev" source: hosted - version: "0.3.3+6" + version: "0.3.3+8" crypto: dependency: transitive description: @@ -497,12 +497,13 @@ packages: source: hosted version: "6.1.4" file_picker: - dependency: "direct main" + dependency: "direct overridden" description: - name: file_picker - sha256: "9d6e95ec73abbd31ec54d0e0df8a961017e165aba1395e462e5b31ea0c165daf" - url: "https://pub.dev" - source: hosted + path: "." + ref: "email_supported_5.3.1" + resolved-ref: "6abb5a30d33ed04413bbc0273bfa946c379b28f0" + url: "https://github.com/linagora/flutter_file_picker" + source: git version: "5.3.1" filesize: dependency: "direct main" @@ -1402,10 +1403,10 @@ packages: dependency: transitive description: name: plugin_platform_interface - sha256: da3fdfeccc4d4ff2da8f8c556704c08f912542c5fb3cf2233ed75372384a034d + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" url: "https://pub.dev" source: hosted - version: "2.1.6" + version: "2.1.8" pointer_interceptor: dependency: "direct main" description: @@ -1957,5 +1958,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.2.0-194.0.dev <4.0.0" + dart: ">=3.2.0 <4.0.0" flutter: ">=3.16.0" diff --git a/pubspec.yaml b/pubspec.yaml index 7fd9b9cde..359994adf 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -142,8 +142,6 @@ dependencies: share_plus: 7.2.1 - file_picker: 5.3.1 - hive: 2.2.3 fk_user_agent: 2.1.0 @@ -261,6 +259,13 @@ dependency_overrides: firebase_core_platform_interface: 4.6.0 + # TODO: replace when upstream PR is merged: + # https://github.com/miguelpruivo/flutter_file_picker/pull/1482 + file_picker: + git: + url: https://github.com/linagora/flutter_file_picker + ref: email_supported_5.3.1 + # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec