Skip to content

Commit 9000a59

Browse files
committed
WIP: probing secondary storage app hang
1 parent fe9e404 commit 9000a59

File tree

4 files changed

+74
-39
lines changed

4 files changed

+74
-39
lines changed

packages/storage/e2e/StorageReference.e2e.js

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
const { PATH, seed, WRITE_ONLY_NAME } = require('./helpers');
1919

20-
describe('storage() -> StorageReference', function () {
20+
describe.only('storage() -> StorageReference', function () {
2121
before(async function () {
2222
await seed(PATH);
2323
});
@@ -142,8 +142,7 @@ describe('storage() -> StorageReference', function () {
142142
describe('getDownloadURL', function () {
143143
it('should return a download url for a file', async function () {
144144
// This is frequently flaky in CI - but works sometimes. Skipping only in CI for now.
145-
// Disabled for iOS pending: https://github.com/firebase/firebase-ios-sdk/pull/10370
146-
if (!isCI && device.getPlatform() !== 'ios') {
145+
if (!isCI) {
147146
const storageReference = firebase.storage().ref(`${PATH}/list/file1.txt`);
148147
const downloadUrl = await storageReference.getDownloadURL();
149148
downloadUrl.should.be.a.String();
@@ -678,4 +677,24 @@ describe('storage() -> StorageReference', function () {
678677
});
679678
});
680679
});
680+
681+
describe('put secondaryApp', function () {
682+
it('allows valid metadata properties for upload', async function () {
683+
const storageReference = firebase
684+
.storage(firebase.app('secondaryFromNative'))
685+
// .storage()
686+
.ref(`${PATH}/metadataTest.jpeg`);
687+
await storageReference.put(new jet.context.window.ArrayBuffer(), {
688+
contentType: 'image/jpg',
689+
md5hash: '123412341234',
690+
cacheControl: 'true',
691+
contentDisposition: 'disposed',
692+
contentEncoding: 'application/octet-stream',
693+
contentLanguage: 'de',
694+
customMetadata: {
695+
customMetadata1: 'metadata1value',
696+
},
697+
});
698+
});
699+
});
681700
});

packages/storage/ios/RNFBStorage/RNFBStorageModule.m

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -478,19 +478,25 @@ - (void)invalidate {
478478
: (nonnull NSNumber *)taskId
479479
: (RCTPromiseResolveBlock)resolve
480480
: (RCTPromiseRejectBlock)reject) {
481+
DLog(@"STORAGELOG getting reference");
481482
FIRStorageReference *storageReference = [self getReferenceFromUrl:url app:firebaseApp];
483+
DLog(@"STORAGELOG getting metadata");
482484
FIRStorageMetadata *storageMetadata =
483485
[RNFBStorageCommon buildMetadataFromMap:metadata
484486
existingMetadata:nil
485487
path:[storageReference fullPath]];
486488

489+
DLog(@"STORAGELOG getting uploadtask");
487490
__block FIRStorageUploadTask *uploadTask;
491+
DLog(@"STORAGELOG doing upload task call block");
488492
RCTUnsafeExecuteOnMainQueueSync(^{
493+
DLog(@"STORAGELOG putData");
489494
uploadTask = [storageReference putData:[RNFBStorageCommon NSDataFromUploadString:string
490495
format:format]
491496
metadata:storageMetadata];
492497
});
493498

499+
DLog(@"STORAGELOG adding upload task observer");
494500
[self addUploadTaskObservers:uploadTask
495501
appDisplayName:[[[storageReference storage] app] name]
496502
taskId:taskId
@@ -558,9 +564,11 @@ - (void)addUploadTaskObservers:(FIRStorageUploadTask *)uploadTask
558564
PENDING_TASKS[taskId] = uploadTask;
559565

560566
// upload started or resumed
567+
DLog(@"STORAGELOG adding observer resume");
561568
[uploadTask
562569
observeStatus:FIRStorageTaskStatusResume
563570
handler:^(FIRStorageTaskSnapshot *snapshot) {
571+
DLog(@"STORAGELOG task resume");
564572
NSDictionary *eventBody = [RNFBStorageCommon getUploadTaskAsDictionary:snapshot];
565573
NSDictionary *event =
566574
[RNFBStorageCommon getStorageEventDictionary:eventBody
@@ -571,9 +579,11 @@ - (void)addUploadTaskObservers:(FIRStorageUploadTask *)uploadTask
571579
}];
572580

573581
// upload paused
582+
DLog(@"STORAGELOG adding observer pause");
574583
[uploadTask
575584
observeStatus:FIRStorageTaskStatusPause
576585
handler:^(FIRStorageTaskSnapshot *snapshot) {
586+
DLog(@"STORAGELOG task pause");
577587
NSDictionary *eventBody = [RNFBStorageCommon getUploadTaskAsDictionary:snapshot];
578588
NSDictionary *event =
579589
[RNFBStorageCommon getStorageEventDictionary:eventBody
@@ -584,9 +594,11 @@ - (void)addUploadTaskObservers:(FIRStorageUploadTask *)uploadTask
584594
}];
585595

586596
// upload reported progress
597+
DLog(@"STORAGELOG adding observer progress");
587598
[uploadTask
588599
observeStatus:FIRStorageTaskStatusProgress
589600
handler:^(FIRStorageTaskSnapshot *snapshot) {
601+
DLog(@"STORAGELOG task progress");
590602
NSDictionary *eventBody = [RNFBStorageCommon getUploadTaskAsDictionary:snapshot];
591603
NSDictionary *event =
592604
[RNFBStorageCommon getStorageEventDictionary:eventBody
@@ -597,8 +609,10 @@ - (void)addUploadTaskObservers:(FIRStorageUploadTask *)uploadTask
597609
}];
598610

599611
// upload completed successfully
612+
DLog(@"STORAGELOG adding observer success");
600613
[uploadTask observeStatus:FIRStorageTaskStatusSuccess
601614
handler:^(FIRStorageTaskSnapshot *snapshot) {
615+
DLog(@"STORAGELOG task succeeded");
602616
[PENDING_TASKS removeObjectForKey:taskId];
603617

604618
NSDictionary *eventBody =
@@ -624,9 +638,11 @@ - (void)addUploadTaskObservers:(FIRStorageUploadTask *)uploadTask
624638
resolve(eventBody);
625639
}];
626640

627-
[uploadTask
641+
DLog(@"STORAGELOG adding observer failure");
642+
[uploadTask
628643
observeStatus:FIRStorageTaskStatusFailure
629644
handler:^(FIRStorageTaskSnapshot *snapshot) {
645+
DLog(@"STORAGELOG task failed");
630646
[PENDING_TASKS removeObjectForKey:taskId];
631647

632648
// state_changed

tests/e2e/.mocharc.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ module.exports = {
55
timeout: 720000,
66
reporter: 'spec',
77
slow: 2000,
8-
retries: 4,
8+
retries: 1,
99
bail: true,
1010
exit: true,
1111
recursive: true,

tests/ios/Podfile.lock

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1159,74 +1159,74 @@ PODS:
11591159
- React-jsi (= 0.67.3)
11601160
- React-logger (= 0.67.3)
11611161
- React-perflogger (= 0.67.3)
1162-
- RNFBAnalytics (16.3.1):
1162+
- RNFBAnalytics (16.4.3):
11631163
- Firebase/Analytics (= 10.1.0)
11641164
- GoogleAppMeasurementOnDeviceConversion (= 10.1.0)
11651165
- React-Core
11661166
- RNFBApp
1167-
- RNFBApp (16.3.1):
1167+
- RNFBApp (16.4.3):
11681168
- Firebase/CoreOnly (= 10.1.0)
11691169
- React-Core
1170-
- RNFBAppCheck (16.3.1):
1170+
- RNFBAppCheck (16.4.3):
11711171
- Firebase/AppCheck (= 10.1.0)
11721172
- React-Core
11731173
- RNFBApp
1174-
- RNFBAppDistribution (16.3.1):
1174+
- RNFBAppDistribution (16.4.3):
11751175
- Firebase/AppDistribution (= 10.1.0)
11761176
- React-Core
11771177
- RNFBApp
1178-
- RNFBAuth (16.3.1):
1178+
- RNFBAuth (16.4.3):
11791179
- Firebase/Auth (= 10.1.0)
11801180
- React-Core
11811181
- RNFBApp
1182-
- RNFBCrashlytics (16.3.1):
1182+
- RNFBCrashlytics (16.4.3):
11831183
- Firebase/Crashlytics (= 10.1.0)
11841184
- FirebaseCoreExtension (= 10.1.0)
11851185
- React-Core
11861186
- RNFBApp
1187-
- RNFBDatabase (16.3.1):
1187+
- RNFBDatabase (16.4.3):
11881188
- Firebase/Database (= 10.1.0)
11891189
- React-Core
11901190
- RNFBApp
1191-
- RNFBDynamicLinks (16.3.1):
1191+
- RNFBDynamicLinks (16.4.3):
11921192
- Firebase/DynamicLinks (= 10.1.0)
11931193
- GoogleUtilities/AppDelegateSwizzler
11941194
- React-Core
11951195
- RNFBApp
1196-
- RNFBFirestore (16.3.1):
1196+
- RNFBFirestore (16.4.3):
11971197
- Firebase/Firestore (= 10.1.0)
11981198
- nanopb (< 2.30910.0, >= 2.30908.0)
11991199
- React-Core
12001200
- RNFBApp
1201-
- RNFBFunctions (16.3.1):
1201+
- RNFBFunctions (16.4.3):
12021202
- Firebase/Functions (= 10.1.0)
12031203
- React-Core
12041204
- RNFBApp
1205-
- RNFBInAppMessaging (16.3.1):
1205+
- RNFBInAppMessaging (16.4.3):
12061206
- Firebase/InAppMessaging (= 10.1.0)
12071207
- React-Core
12081208
- RNFBApp
1209-
- RNFBInstallations (16.3.1):
1209+
- RNFBInstallations (16.4.3):
12101210
- Firebase/Installations (= 10.1.0)
12111211
- React-Core
12121212
- RNFBApp
1213-
- RNFBMessaging (16.3.1):
1213+
- RNFBMessaging (16.4.3):
12141214
- Firebase/Messaging (= 10.1.0)
12151215
- FirebaseCoreExtension (= 10.1.0)
12161216
- React-Core
12171217
- RNFBApp
1218-
- RNFBML (16.3.1):
1218+
- RNFBML (16.4.3):
12191219
- React-Core
12201220
- RNFBApp
1221-
- RNFBPerf (16.3.1):
1221+
- RNFBPerf (16.4.3):
12221222
- Firebase/Performance (= 10.1.0)
12231223
- React-Core
12241224
- RNFBApp
1225-
- RNFBRemoteConfig (16.3.1):
1225+
- RNFBRemoteConfig (16.4.3):
12261226
- Firebase/RemoteConfig (= 10.1.0)
12271227
- React-Core
12281228
- RNFBApp
1229-
- RNFBStorage (16.3.1):
1229+
- RNFBStorage (16.4.3):
12301230
- Firebase/Storage (= 10.1.0)
12311231
- React-Core
12321232
- RNFBApp
@@ -1492,23 +1492,23 @@ SPEC CHECKSUMS:
14921492
React-RCTVibration: d0361f15ea978958fab7ffb6960f475b5063d83f
14931493
React-runtimeexecutor: af1946623656f9c5fd64ca6f36f3863516193446
14941494
ReactCommon: 650e33cde4fb7d36781cd3143f5276da0abb2f96
1495-
RNFBAnalytics: 81429fa6c0569a16e91b9487c9a6ba56891ff72e
1496-
RNFBApp: 2eea718168efc2cc8c5993e4c51e9866baf55a9a
1497-
RNFBAppCheck: b562fad8b9435f5f4684927192d137885f900c97
1498-
RNFBAppDistribution: 423e27bc2828173123223349d8f007644ec49241
1499-
RNFBAuth: 4e27174df8c594d50c488115502b758875d30526
1500-
RNFBCrashlytics: db0d61b451a4bde94112f787381dc8e8bf596564
1501-
RNFBDatabase: 0043c006603b3b7d410d6b7da2371e1fea959d74
1502-
RNFBDynamicLinks: 7d95f1f6ae2abacb1e21cdce1ec242ba9f8bcd9b
1503-
RNFBFirestore: 35da9fdec881979d4155a161fd06e03a090b1d50
1504-
RNFBFunctions: ffbbeb361f88f3d54c38ab0ba0aac635f3d63968
1505-
RNFBInAppMessaging: 9208fd27e8a8317e00bfe14e2e980595d6adf3da
1506-
RNFBInstallations: 02a06897fc9ddd5e46c82cd7f48d8aaaf9cbfece
1507-
RNFBMessaging: 76445c5866517441c093b69b8d226170b52d4998
1508-
RNFBML: d9df4674c937c6727c1192221d83407d28ae91dc
1509-
RNFBPerf: 0a123624fa773a9f409076835ea8fa4b93b5209a
1510-
RNFBRemoteConfig: 9c39b75591748abdb5e5402b1020069ad5d47975
1511-
RNFBStorage: 4f956068208db65fda654562fe626810efbd144b
1495+
RNFBAnalytics: 1dbd03940c32e4da616a0f135baa633ae8be976d
1496+
RNFBApp: e2157f61e4769b53641df8948c534580630cb50a
1497+
RNFBAppCheck: 727f9be6729606b211391eface962737af5745c5
1498+
RNFBAppDistribution: 0b7f55adbfd5e238ae96d900abedfd3e2d765e11
1499+
RNFBAuth: 7d2d8b68ef2dbeed0844532e9b65df09af627bf9
1500+
RNFBCrashlytics: e0869743b4f57b0353605363a0a41fbff2500594
1501+
RNFBDatabase: d2f84c61c5899f64039151eda934d3cd94e99c2b
1502+
RNFBDynamicLinks: 5dbccab1f947e2a8a4d1c523f7b390501bedfc7b
1503+
RNFBFirestore: 10e53da935827fee199db750dbc3c5129c50a620
1504+
RNFBFunctions: a8b26554e652453a6c9d5cb8e399c9e4d6896030
1505+
RNFBInAppMessaging: 2206b4dc0a38da9f8caf14556e27b4b49bc6b93b
1506+
RNFBInstallations: af375a09ca33f051e06a36a77c058f6ebaa23521
1507+
RNFBMessaging: 00da9a5a7136caa61a7b75d87e1dd83864251136
1508+
RNFBML: e5e3faa3873f5abe724e237ccace8e4f93b72d2f
1509+
RNFBPerf: 17ab696f1fd684979d69aafbae216b792a168b47
1510+
RNFBRemoteConfig: ba95ab9f0034dae20b588ce625902a6fd3898319
1511+
RNFBStorage: 8addb089a67f88833e34f8ef8dde13a0a64c0050
15121512
Yoga: 90dcd029e45d8a7c1ff059e8b3c6612ff409061a
15131513

15141514
PODFILE CHECKSUM: cdac7095831bb39f8d76539f83a3580addb30d8b

0 commit comments

Comments
 (0)