@react-native-firebase/storage 15.7.0 → 16.0.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 +8 -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,14 @@
|
|
|
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
|
+
## [16.0.0](https://github.com/invertase/react-native-firebase/compare/v15.7.1...v16.0.0) (2022-10-19)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @react-native-firebase/storage
|
|
9
|
+
|
|
10
|
+
## [15.7.1](https://github.com/invertase/react-native-firebase/compare/v15.7.0...v15.7.1) (2022-10-19)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @react-native-firebase/storage
|
|
13
|
+
|
|
6
14
|
# [15.7.0](https://github.com/invertase/react-native-firebase/compare/v15.6.0...v15.7.0) (2022-10-01)
|
|
7
15
|
|
|
8
16
|
**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 = '
|
|
2
|
+
module.exports = '16.0.0';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-native-firebase/storage",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "16.0.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": "
|
|
32
|
+
"@react-native-firebase/app": "16.0.0"
|
|
33
33
|
},
|
|
34
34
|
"publishConfig": {
|
|
35
35
|
"access": "public"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "fe2bebee106dc178b0835f7097c2d05b30223b2f"
|
|
38
38
|
}
|