Commit Graph

358 Commits

Author SHA1 Message Date
Evan Bacon cca3c13d2d Fixed Deadlock
Running this in a detached expo app can sometimes deadlock from thread issues.
I've replaced `dispatch_sync(dispatch_get_main_queue(), ^{});`  with `RCTUnsafeExecuteOnMainQueueSync(^{});` to fix this.

I only hit the error in the `RNFirebaseStorage.m` but it seems like the `RNFirebaseAnalytics.m` and `RNFirebase.m` modules could also have this same issue.

`RCTUnsafeExecuteOnMainQueueSync` checks to see if the method is being executed on the main thread before trying to sync to the main thread. If you try to sync on the main thread whilst on the main thread, you hit a deadlock.

You can read more about it here: https://stackoverflow.com/questions/12379059/why-is-this-dispatch-sync-call-freezing?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa

The only testing I did was in a seperate detached ExpoKit project. Running this function would cause the crash.
```js
await firebase
      .storage()
      .ref(uploadUri)
      .putFile(uri);
```
2018-06-08 14:44:48 -07:00
Chris Bianca 92fa2f102a [ios][messaging] Clear pending messages once sent to JS 2018-05-17 08:27:23 +01:00
Chris Bianca dc793696fe [ios] Cache and then send data messages received whilst app is being initialised #1005 2018-05-16 17:37:58 +01:00
Chris Bianca 42e7fb2e5d [ios] Firebase iOS v5 support 2018-05-16 17:22:47 +01:00
Chris Bianca 34c0878098 [auth] Support email link in checkActionCode 2018-05-16 12:41:48 +01:00
Chris Bianca 35474462c6 [ios][firestore] Ensure that firestore uses the separate dispatch queue for callbacks 2018-05-16 12:11:55 +01:00
Chris Bianca fa9bac1a72 [ios] Set separate dispatch queues for firestore and database 2018-05-15 10:02:18 +01:00
Salakar d0ae75d531 [ios][auth] add signInWithEmailLink native method 2018-05-13 00:37:19 +01:00
Salakar de33d97be9 [ios][auth] add sendSignInLinkToEmail native method 2018-05-12 23:14:06 +01:00
Salakar 45bea847b4 [ios][auth] add `emailLink` support for internal getCredentialForProvider util 2018-05-12 22:58:47 +01:00
Salakar cf25ba23e5 [both][auth] Deprecated firebase.auth().fetchProvidersForEmail in favor of firebase.auth().fetchSignInMethodsForEmail() 2018-05-12 22:51:42 +01:00
Chris Bianca 25506479d3 [firestore][android] Add support for firestore v16 2018-05-08 15:36:49 +01:00
Salakar c5df065956 [ios][functions] finalise implementation 2018-05-06 15:36:03 +01:00
Salakar 7d5fa69baf [ios][functions] start of implementation 2018-05-06 14:21:38 +01:00
Michael Diarmid 86a8385f2a
Merge pull request #1047 from invertase/blob
[firestore] Blob support
2018-05-03 21:03:58 +01:00
Salakar 5906d20ce0 [firestore][ios] implement Blob support 2018-05-03 20:12:46 +01:00
Jean Regisser fe1701b825
Fix podspec so compilation works
Not sure when this broke, but this fixes compilation when used in
project that pulls the dependency using CocoaPods and Xcode 9.3
2018-04-24 17:32:24 +02:00
Salakar 97bc7a88a8 Merge remote-tracking branch 'origin/master' 2018-04-13 15:08:17 +01:00
Salakar 61f283c8d3 [crash][ios] no longer force a crash on report() 2018-04-13 15:07:21 +01:00
Chris Bianca 23260691d4 [ios][notifications] Fix issue with iOS attachments #939 2018-04-13 15:02:27 +01:00
Chris Bianca 3a5686c226 [ios][notifications] Handle messaging token refreshed before bridge initialised #960 2018-04-13 14:23:55 +01:00
Chris Bianca f7b1b5bc79 [ios][notifications] Add another missing completionHandler call 2018-04-13 13:21:09 +01:00
Chris Bianca 67d70b9fb7 [ios][notifications] Add missing completionHandler 2018-04-13 12:18:17 +01:00
Chris Bianca fe44ca90b1 [notifications] Fix sound on iOS 10+ #974 2018-04-13 12:12:25 +01:00
Chris Bianca feb1315f84 [firestore] Ignore timestampsInSnapshotsEnabled on iOS 2018-04-13 10:10:05 +01:00
Chris Bianca b0abf23c6d [firestore] Add support for settings 2018-04-13 09:58:53 +01:00
Chris Bianca 1922a25198 [firestore] Add setLogLevel support 2018-04-13 08:41:57 +01:00
Chris Bianca cd5c616a93 [notifications][ios] Handle plain text alert #963 2018-04-11 18:23:34 +01:00
Chris Bianca 5127486712 [notifications][ios] Fix crashes when notifications are received in background on iOS 9 #952 2018-04-10 15:17:11 +01:00
Chris Bianca f49022197b
Merge pull request #938 from taxidermic/fix-races-bug
fixes races bug in react-native > 0.52
2018-04-09 08:07:00 +01:00
Taxidermic 21dc57c70b remove @synthesize 2018-04-06 14:57:05 +03:00
Taxidermic 9c4deb541a fixes races bug in react-native > 0.52 2018-04-04 14:05:32 +03:00
Chris Bianca 0783d76303 [ios] Individually specify Firebase framework headers 2018-04-03 15:24:55 +01:00
Chris Bianca 801adabb27 [notifications] Add jsInitialised method to improve getInitialNotification 2018-03-30 10:31:06 +01:00
Chris Bianca 06c06b764f [invites] Add jsInitialised method to improve getInitialInvitation 2018-03-30 10:07:23 +01:00
Chris Bianca a6c63d4f50 [links] Introduce JS initialised method to improve getInitialLink 2018-03-30 09:25:41 +01:00
Chris Bianca d101813b5f [messaging][notifications] Make all methods return a promise where they didn’t previously 2018-03-28 11:02:39 +01:00
Chris Bianca dd940b953b [firestore] Add support for enable / disable network 2018-03-27 17:31:25 +01:00
Chris Bianca 7f90e485c8 [links] Refactor links to use builder classes 2018-03-23 13:24:31 +00:00
Chris Bianca 526ea04853 Merge branch 'ios-invites' 2018-03-23 11:47:28 +00:00
Chris Bianca 8918139fd0 [invites] Exclude pure links from getInitialInvitation 2018-03-23 11:46:48 +00:00
Chris Bianca 72a1d1d439 [invites][links] Fix some iOS specific issues 2018-03-23 10:33:17 +00:00
Chris Bianca a605a703fb
Merge pull request #881 from pocketgems/multiple_databases_3.3.0_upstream
Implement multiple database shard support
2018-03-23 08:35:01 +00:00
Chris Bianca 8e2d03cc5a [links][invites] Remove iOS 8 specific methods 2018-03-22 17:26:32 +00:00
Chris Bianca 878f928d8c [links] Tidy up links to match messaging and invitations implementation more closely 2018-03-22 16:57:33 +00:00
Chris Bianca d1d53a442d [invites] iOS getInitialInvitation and onInvitation functionality 2018-03-22 16:36:42 +00:00
Chris Bianca 54b419dfcf [invites] Initial iOS functionality 2018-03-22 14:56:49 +00:00
Chris Bianca 4173318379 [links] Tweak links event name 2018-03-22 14:56:15 +00:00
Chris Bianca 53babb4cd9 [invites] Initial JS and Android invites functionality 2018-03-22 12:46:37 +00:00
JinHao Chen cc8799b465 Implement multiple database shard support 2018-03-21 12:51:02 -07:00