Commit Graph

340 Commits

Author SHA1 Message Date
Ryan Grey 5168f96a32 Only store completionHandlers on iOS native side when user adds listener
Note the following cases. This commit is catering for case 3:
1. User is listening for onNotificationDisplayed and is manually calling
the completionHandler
- manually called completionHandler is removed
- automatically called completionHandler is guarded against on iOS
native side

2. User is listening for onNotificationDisplayed and is not calling the
completionHandler:
- automatically called completionHandler is removed

3. User is not listening for onNotificationDisplayed
- On rn side we can only automatically call completionHandler if the
user _is_ listening. This means we need to detect if the user is
listening or not.
2018-08-06 13:04:44 +01:00
Ryan Grey e6cd793f91 Add exported native function to complete handling of ios notification 2018-08-06 12:59:40 +01:00
Salakar d1783152dc [ios][storage] fix #739 2018-07-14 23:34:57 +01:00
Salakar 7e68d5eb11 [iid][ios] temporarily remove Messaging dependency for v4.3.0 release until an outcome is agreed on original PR #1215 2018-07-10 22:15:50 +01:00
Salakar 1d2757dc30 [crashlytics][ios] fix header imports 2018-07-10 21:37:56 +01:00
Bilal Syed ce9fdef7a1 handle error 2018-07-10 00:16:57 +03:00
Bilal Syed b773717d1a [iOS] Fix crash at unknown firebase url 2018-07-09 22:56:45 +03:00
Salakar 5ad351b279 [storage][ios] misc 2018-07-09 17:46:14 +01:00
Salakar c13c81f36d [storage][ios] fix automatic mime/content type detection for storage meta 2018-07-07 03:10:35 +01:00
Chris Bianca a79bf81418 [firestore] Add support for `GetOptions` #1248 2018-07-03 16:03:43 +01:00
Daigo Sato b87c3ba7f8 Prevent crashes in 32-bit devices 2018-06-25 22:16:55 -07:00
Case Taintor 3652a05848 adds support for getToken(string,string) and deleteToken(string,string) to iid 2018-06-17 20:32:38 +02:00
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
Salakar 5906d20ce0 [firestore][ios] implement Blob support 2018-05-03 20:12:46 +01: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
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 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