@react-native-firebase/storage 15.7.0 → 15.7.1
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +4 -0
- package/RNFBStorage.podspec +4 -1
- package/__tests__/storage.test.ts +2 -0
- package/ios/RNFBStorage/RNFBStorageCommon.h +2 -1
- package/ios/RNFBStorage/RNFBStorageCommon.m +9 -2
- package/ios/RNFBStorage/RNFBStorageModule.m +19 -6
- package/lib/version.js +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
@@ -3,6 +3,10 @@
|
|
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
|
+
## [15.7.1](https://github.com/invertase/react-native-firebase/compare/v15.7.0...v15.7.1) (2022-10-19)
|
7
|
+
|
8
|
+
**Note:** Version bump only for package @react-native-firebase/storage
|
9
|
+
|
6
10
|
# [15.7.0](https://github.com/invertase/react-native-firebase/compare/v15.6.0...v15.7.0) (2022-10-01)
|
7
11
|
|
8
12
|
**Note:** Version bump only for package @react-native-firebase/storage
|
package/RNFBStorage.podspec
CHANGED
@@ -8,6 +8,8 @@ firebase_sdk_version = appPackage['sdkVersions']['ios']['firebase']
|
|
8
8
|
if coreVersionDetected != coreVersionRequired
|
9
9
|
Pod::UI.warn "NPM package '#{package['name']}' depends on '#{appPackage['name']}' v#{coreVersionRequired} but found v#{coreVersionDetected}, this might cause build issues or runtime crashes."
|
10
10
|
end
|
11
|
+
firebase_ios_target = appPackage['sdkVersions']['ios']['iosTarget']
|
12
|
+
firebase_macos_target = appPackage['sdkVersions']['ios']['macosTarget']
|
11
13
|
|
12
14
|
Pod::Spec.new do |s|
|
13
15
|
s.name = "RNFBStorage"
|
@@ -21,7 +23,8 @@ Pod::Spec.new do |s|
|
|
21
23
|
s.authors = "Invertase Limited"
|
22
24
|
s.source = { :git => "https://github.com/invertase/react-native-firebase.git", :tag => "v#{s.version}" }
|
23
25
|
s.social_media_url = 'http://twitter.com/invertaseio'
|
24
|
-
s.ios.deployment_target =
|
26
|
+
s.ios.deployment_target = firebase_ios_target
|
27
|
+
s.macos.deployment_target = firebase_macos_target
|
25
28
|
s.source_files = 'ios/**/*.{h,m}'
|
26
29
|
|
27
30
|
# React Native dependencies
|
@@ -57,7 +57,8 @@
|
|
57
57
|
+ (NSString *)getTaskStatus:(FIRStorageTaskStatus)status;
|
58
58
|
|
59
59
|
+ (FIRStorageMetadata *)buildMetadataFromMap:(NSDictionary *)metadata
|
60
|
-
existingMetadata:(FIRStorageMetadata *)existingMetadata
|
60
|
+
existingMetadata:(FIRStorageMetadata *)existingMetadata
|
61
|
+
path:(NSString *)path;
|
61
62
|
|
62
63
|
+ (NSArray *)getErrorCodeMessage:(NSError *)error;
|
63
64
|
|
@@ -393,11 +393,18 @@
|
|
393
393
|
}
|
394
394
|
|
395
395
|
+ (FIRStorageMetadata *)buildMetadataFromMap:(NSDictionary *)metadata
|
396
|
-
existingMetadata:(nullable FIRStorageMetadata *)existingMetadata
|
396
|
+
existingMetadata:(nullable FIRStorageMetadata *)existingMetadata
|
397
|
+
path:(NSString *)path {
|
397
398
|
// If an existing metadata was passed in, modify it with our map, otherwise init a fresh copy
|
398
399
|
FIRStorageMetadata *storageMetadata = existingMetadata;
|
399
400
|
if (storageMetadata == nil) {
|
400
|
-
|
401
|
+
// NOTE: Firebase iOS SDK 10 requires a "path" property on `FIRStorageMetadata`. We do this by
|
402
|
+
// "initWithDictionary()" which uses "name" property as "path" under the hood.
|
403
|
+
// See
|
404
|
+
// https://github.com/firebase/firebase-ios-sdk/blob/970b4c45098319e40e6e5157d340d16cb73a2b88/FirebaseStorage/Sources/StorageMetadata.swift#L156-L178
|
405
|
+
NSMutableDictionary *metadata = [[NSMutableDictionary alloc] init];
|
406
|
+
metadata[@"name"] = path;
|
407
|
+
storageMetadata = [[FIRStorageMetadata alloc] initWithDictionary:metadata];
|
401
408
|
}
|
402
409
|
|
403
410
|
if (metadata[@"cacheControl"] == [NSNull null]) {
|
@@ -35,6 +35,7 @@ static NSMutableDictionary *PENDING_TASKS;
|
|
35
35
|
// The iOS SDK has a short memory on settings, store these globally and set them in each time
|
36
36
|
static NSString *emulatorHost = nil;
|
37
37
|
static NSInteger emulatorPort = 0;
|
38
|
+
static bool useEmulatorCalled = false;
|
38
39
|
static NSTimeInterval maxDownloadRetryTime = 600;
|
39
40
|
static NSTimeInterval maxUploadRetryTime = 600;
|
40
41
|
static NSTimeInterval maxOperationRetryTime = 120;
|
@@ -150,7 +151,9 @@ RCT_EXPORT_METHOD(updateMetadata
|
|
150
151
|
[self promiseRejectStorageException:reject error:error];
|
151
152
|
} else {
|
152
153
|
FIRStorageMetadata *storageMetadata =
|
153
|
-
[RNFBStorageCommon buildMetadataFromMap:metadata
|
154
|
+
[RNFBStorageCommon buildMetadataFromMap:metadata
|
155
|
+
existingMetadata:fetchedMetadata
|
156
|
+
path:[storageReference fullPath]];
|
154
157
|
|
155
158
|
[storageReference updateMetadata:storageMetadata
|
156
159
|
completion:^(FIRStorageMetadata *_Nullable updatedMetadata,
|
@@ -400,9 +403,11 @@ RCT_EXPORT_METHOD(putFile
|
|
400
403
|
: (nonnull NSNumber *)taskId
|
401
404
|
: (RCTPromiseResolveBlock)resolve
|
402
405
|
: (RCTPromiseRejectBlock)reject) {
|
403
|
-
FIRStorageMetadata *storageMetadata = [RNFBStorageCommon buildMetadataFromMap:metadata
|
404
|
-
existingMetadata:nil];
|
405
406
|
FIRStorageReference *storageReference = [self getReferenceFromUrl:url app:firebaseApp];
|
407
|
+
FIRStorageMetadata *storageMetadata =
|
408
|
+
[RNFBStorageCommon buildMetadataFromMap:metadata
|
409
|
+
existingMetadata:nil
|
410
|
+
path:[storageReference fullPath]];
|
406
411
|
|
407
412
|
[RNFBStorageCommon
|
408
413
|
NSURLForLocalFilePath:localFilePath
|
@@ -472,9 +477,11 @@ RCT_EXPORT_METHOD(putString
|
|
472
477
|
: (nonnull NSNumber *)taskId
|
473
478
|
: (RCTPromiseResolveBlock)resolve
|
474
479
|
: (RCTPromiseRejectBlock)reject) {
|
475
|
-
FIRStorageMetadata *storageMetadata = [RNFBStorageCommon buildMetadataFromMap:metadata
|
476
|
-
existingMetadata:nil];
|
477
480
|
FIRStorageReference *storageReference = [self getReferenceFromUrl:url app:firebaseApp];
|
481
|
+
FIRStorageMetadata *storageMetadata =
|
482
|
+
[RNFBStorageCommon buildMetadataFromMap:metadata
|
483
|
+
existingMetadata:nil
|
484
|
+
path:[storageReference fullPath]];
|
478
485
|
|
479
486
|
__block FIRStorageUploadTask *uploadTask;
|
480
487
|
RCTUnsafeExecuteOnMainQueueSync(^{
|
@@ -499,7 +506,12 @@ RCT_EXPORT_METHOD(useEmulator
|
|
499
506
|
: (NSInteger)port) {
|
500
507
|
emulatorHost = host;
|
501
508
|
emulatorPort = port;
|
509
|
+
if (useEmulatorCalled == true) {
|
510
|
+
return;
|
511
|
+
}
|
512
|
+
|
502
513
|
[[FIRStorage storageForApp:firebaseApp] useEmulatorWithHost:host port:port];
|
514
|
+
useEmulatorCalled = true;
|
503
515
|
}
|
504
516
|
|
505
517
|
/**
|
@@ -657,9 +669,10 @@ RCT_EXPORT_METHOD(setTaskStatus
|
|
657
669
|
storage = [FIRStorage storageForApp:firebaseApp URL:bucket];
|
658
670
|
|
659
671
|
NSLog(@"Setting emulator - host %@ port %ld", emulatorHost, (long)emulatorPort);
|
660
|
-
if (![emulatorHost isEqual:[NSNull null]] && emulatorHost != nil) {
|
672
|
+
if (![emulatorHost isEqual:[NSNull null]] && emulatorHost != nil && useEmulatorCalled == false) {
|
661
673
|
@try {
|
662
674
|
[storage useEmulatorWithHost:emulatorHost port:emulatorPort];
|
675
|
+
useEmulatorCalled = true;
|
663
676
|
} @catch (NSException *e) {
|
664
677
|
NSLog(@"WARNING: Unable to set the Firebase Storage emulator settings. These must be set "
|
665
678
|
@"before any usages of Firebase Storage. If you see this log after a hot "
|
package/lib/version.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
// Generated by genversion.
|
2
|
-
module.exports = '15.7.
|
2
|
+
module.exports = '15.7.1';
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@react-native-firebase/storage",
|
3
|
-
"version": "15.7.
|
3
|
+
"version": "15.7.1",
|
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": "15.7.
|
32
|
+
"@react-native-firebase/app": "15.7.1"
|
33
33
|
},
|
34
34
|
"publishConfig": {
|
35
35
|
"access": "public"
|
36
36
|
},
|
37
|
-
"gitHead": "
|
37
|
+
"gitHead": "7845819f67e955d75b5756d30c2f5b55a68c9062"
|
38
38
|
}
|