@react-native-firebase/storage 20.2.0 → 20.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,16 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [20.3.0](https://github.com/invertase/react-native-firebase/compare/v20.2.1...v20.3.0) (2024-07-19)
7
+
8
+ **Note:** Version bump only for package @react-native-firebase/storage
9
+
10
+ ## [20.2.1](https://github.com/invertase/react-native-firebase/compare/v20.2.0...v20.2.1) (2024-07-17)
11
+
12
+ ### Bug Fixes
13
+
14
+ - **storage:** ensure emulator is used for different storage buckets ([#7892](https://github.com/invertase/react-native-firebase/issues/7892)) ([3fa3f11](https://github.com/invertase/react-native-firebase/commit/3fa3f110b357ef0dbe2cc0fc12e982edc913b588))
15
+
6
16
  ## [20.2.0](https://github.com/invertase/react-native-firebase/compare/v20.1.0...v20.2.0) (2024-07-15)
7
17
 
8
18
  ### Features
@@ -281,12 +281,15 @@ public class ReactNativeFirebaseStorageModule extends ReactNativeFirebaseModule
281
281
  * @link https://firebase.google.com/docs/reference/js/firebase.storage.Storage#useEmulator
282
282
  */
283
283
  @ReactMethod
284
- public void useEmulator(String appName, String host, int port, Promise promise) {
284
+ public void useEmulator(String appName, String host, int port, String bucketUrl, Promise promise) {
285
285
  FirebaseApp firebaseApp = FirebaseApp.getInstance(appName);
286
- FirebaseStorage firebaseStorage = FirebaseStorage.getInstance(firebaseApp);
287
- if (emulatorConfigs.get(appName) == null) {
286
+
287
+ FirebaseStorage firebaseStorage = FirebaseStorage.getInstance(firebaseApp, bucketUrl);
288
+ String emulatorKey = appName + ":" + bucketUrl;
289
+
290
+ if (emulatorConfigs.get(emulatorKey) == null) {
288
291
  firebaseStorage.useEmulator(host, port);
289
- emulatorConfigs.put(appName, "true");
292
+ emulatorConfigs.put(emulatorKey, "true");
290
293
  }
291
294
  promise.resolve(null);
292
295
  }
@@ -511,12 +511,15 @@ RCT_EXPORT_METHOD(putString
511
511
  RCT_EXPORT_METHOD(useEmulator
512
512
  : (FIRApp *)firebaseApp
513
513
  : (nonnull NSString *)host
514
- : (NSInteger)port) {
514
+ : (NSInteger)port
515
+ : (NSString *)bucketUrl) {
515
516
  emulatorHost = host;
516
517
  emulatorPort = port;
517
- if (!emulatorConfigs[firebaseApp.name]) {
518
- [[FIRStorage storageForApp:firebaseApp] useEmulatorWithHost:host port:port];
519
- emulatorConfigs[firebaseApp.name] = @YES;
518
+ NSString *key = [self createEmulatorKey:bucketUrl appName:firebaseApp.name];
519
+
520
+ if (!emulatorConfigs[key]) {
521
+ [[FIRStorage storageForApp:firebaseApp URL:bucketUrl] useEmulatorWithHost:host port:port];
522
+ emulatorConfigs[key] = @YES;
520
523
  }
521
524
  }
522
525
 
@@ -557,6 +560,10 @@ RCT_EXPORT_METHOD(setTaskStatus
557
560
  #pragma mark -
558
561
  #pragma mark Firebase Storage Internals
559
562
 
563
+ - (NSString *)createEmulatorKey:(NSString *)bucketUrl appName:(NSString *)appName {
564
+ return [NSString stringWithFormat:@"%@-%@", appName, bucketUrl];
565
+ }
566
+
560
567
  - (void)addUploadTaskObservers:(FIRStorageUploadTask *)uploadTask
561
568
  appDisplayName:(NSString *)appDisplayName
562
569
  taskId:(NSNumber *)taskId
@@ -675,11 +682,11 @@ RCT_EXPORT_METHOD(setTaskStatus
675
682
  storage = [FIRStorage storageForApp:firebaseApp URL:bucket];
676
683
 
677
684
  NSLog(@"Setting emulator - host %@ port %ld", emulatorHost, (long)emulatorPort);
678
- if (![emulatorHost isEqual:[NSNull null]] && emulatorHost != nil &&
679
- !emulatorConfigs[firebaseApp.name]) {
685
+ NSString *key = [self createEmulatorKey:bucket appName:firebaseApp.name];
686
+ if (![emulatorHost isEqual:[NSNull null]] && emulatorHost != nil && !emulatorConfigs[key]) {
680
687
  @try {
681
688
  [storage useEmulatorWithHost:emulatorHost port:emulatorPort];
682
- emulatorConfigs[firebaseApp.name] = @YES;
689
+ emulatorConfigs[key] = @YES;
683
690
  } @catch (NSException *e) {
684
691
  NSLog(@"WARNING: Unable to set the Firebase Storage emulator settings. These must be set "
685
692
  @"before any usages of Firebase Storage. If you see this log after a hot "
package/lib/index.js CHANGED
@@ -203,7 +203,7 @@ class FirebaseStorageModule extends FirebaseModule {
203
203
  }
204
204
  this.emulatorHost = host;
205
205
  this.emulatorPort = port;
206
- this.native.useEmulator(_host, port);
206
+ this.native.useEmulator(_host, port, this._customUrlOrRegion);
207
207
  return [_host, port]; // undocumented return, just used to unit test android host remapping
208
208
  }
209
209
  }
package/lib/version.js CHANGED
@@ -1,2 +1,2 @@
1
1
  // Generated by genversion.
2
- module.exports = '20.2.0';
2
+ module.exports = '20.3.0';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-native-firebase/storage",
3
- "version": "20.2.0",
3
+ "version": "20.3.0",
4
4
  "author": "Invertase <oss@invertase.io> (http://invertase.io)",
5
5
  "description": "React Native Firebase - React Native Firebase provides native integration with Cloud Storage, providing support to upload and download files directly from your device and from your Firebase Cloud Storage bucket.",
6
6
  "main": "lib/index.js",
@@ -29,10 +29,10 @@
29
29
  "download"
30
30
  ],
31
31
  "peerDependencies": {
32
- "@react-native-firebase/app": "20.2.0"
32
+ "@react-native-firebase/app": "20.3.0"
33
33
  },
34
34
  "publishConfig": {
35
35
  "access": "public"
36
36
  },
37
- "gitHead": "82c50138d07e673213cd8dee5ce9a2f9b5656649"
37
+ "gitHead": "a916b37b022cf40588fa0fd915b7ab901e2458d0"
38
38
  }