From 8069727e0a545d156eb6a90fd22360ed093db549 Mon Sep 17 00:00:00 2001 From: minhdanh Date: Fri, 29 Aug 2025 10:30:21 +0700 Subject: [PATCH 1/2] Update packages --- .../example/macos/Flutter/GeneratedPluginRegistrant.swift | 2 +- flutter_cache_manager/pubspec.yaml | 2 +- flutter_cache_manager_firebase/pubspec.yaml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/flutter_cache_manager/example/macos/Flutter/GeneratedPluginRegistrant.swift b/flutter_cache_manager/example/macos/Flutter/GeneratedPluginRegistrant.swift index d24127f3..368554e0 100644 --- a/flutter_cache_manager/example/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/flutter_cache_manager/example/macos/Flutter/GeneratedPluginRegistrant.swift @@ -6,7 +6,7 @@ import FlutterMacOS import Foundation import path_provider_foundation -import sqflite +import sqflite_darwin import url_launcher_macos func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { diff --git a/flutter_cache_manager/pubspec.yaml b/flutter_cache_manager/pubspec.yaml index 4e49f688..b4b11218 100644 --- a/flutter_cache_manager/pubspec.yaml +++ b/flutter_cache_manager/pubspec.yaml @@ -23,7 +23,7 @@ dependencies: dev_dependencies: build_runner: ^2.4.12 - flutter_lints: ^4.0.0 + flutter_lints: ^6.0.0 flutter_test: sdk: flutter mockito: ^5.4.4 diff --git a/flutter_cache_manager_firebase/pubspec.yaml b/flutter_cache_manager_firebase/pubspec.yaml index ca104438..ed9911a6 100644 --- a/flutter_cache_manager_firebase/pubspec.yaml +++ b/flutter_cache_manager_firebase/pubspec.yaml @@ -10,12 +10,12 @@ dependencies: flutter: sdk: flutter flutter_cache_manager: ^3.4.1 - firebase_storage: '>=12.0.0 <13.0.0' + firebase_storage: '13.0.0' path_provider: ^2.1.4 path: ^1.9.0 retry: ^3.1.2 dev_dependencies: - flutter_lints: ^4.0.0 + flutter_lints: ^6.0.0 flutter_test: sdk: flutter From b36b3f37e00a4395f17da4fd475fe1b3f8a598e4 Mon Sep 17 00:00:00 2001 From: minhdanh Date: Tue, 9 Sep 2025 06:17:29 +0700 Subject: [PATCH 2/2] Fix bucket name being reused between instances of different buckets --- .../lib/src/firebase_cache_manager.dart | 19 ++++++++++++------- flutter_cache_manager_firebase/pubspec.yaml | 2 +- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/flutter_cache_manager_firebase/lib/src/firebase_cache_manager.dart b/flutter_cache_manager_firebase/lib/src/firebase_cache_manager.dart index 72b59e25..e87bf3a4 100644 --- a/flutter_cache_manager_firebase/lib/src/firebase_cache_manager.dart +++ b/flutter_cache_manager_firebase/lib/src/firebase_cache_manager.dart @@ -6,22 +6,27 @@ import 'firebase_http_file_service.dart'; /// Use [FirebaseCacheManager] if you want to download files from firebase storage /// and store them in your local cache. class FirebaseCacheManager extends CacheManager { - static const key = 'firebaseCache'; + static const defaultKey = 'firebaseCache'; - static final FirebaseCacheManager _instance = - FirebaseCacheManager._(retryOptions: _retryOptions, bucket: _bucket); + static final Map _instances = {}; static RetryOptions? _retryOptions; static String? _bucket; factory FirebaseCacheManager({RetryOptions? retryOptions, String? bucket}) { - _bucket = bucket; - _retryOptions = retryOptions; - return _instance; + final cacheKey = bucket ?? defaultKey; + if (_instances.containsKey(cacheKey)) { + return _instances[cacheKey]!; + } + _bucket = bucket ?? _bucket; + _retryOptions = retryOptions ?? _retryOptions; + final instance = FirebaseCacheManager._(key: cacheKey, retryOptions: _retryOptions, bucket: _bucket); + _instances[cacheKey] = instance; + return instance; } - FirebaseCacheManager._({RetryOptions? retryOptions, String? bucket}) + FirebaseCacheManager._({required String key, RetryOptions? retryOptions, String? bucket}) : super(Config(key, fileService: FirebaseHttpFileService( retryOptions: retryOptions, bucket: bucket))); diff --git a/flutter_cache_manager_firebase/pubspec.yaml b/flutter_cache_manager_firebase/pubspec.yaml index ed9911a6..d534aad7 100644 --- a/flutter_cache_manager_firebase/pubspec.yaml +++ b/flutter_cache_manager_firebase/pubspec.yaml @@ -10,7 +10,7 @@ dependencies: flutter: sdk: flutter flutter_cache_manager: ^3.4.1 - firebase_storage: '13.0.0' + firebase_storage: ^13.0.0 path_provider: ^2.1.4 path: ^1.9.0 retry: ^3.1.2