Commit Graph

364 Commits

Author SHA1 Message Date
Salakar e74a347dfc [perf][ios] annotate NSNumbers as `nonnull` to fix RN unspecified nullability compatibility error 2018-08-18 16:41:25 +01:00
Salakar 5fa86b8d1f [functions][ios] regions, multiapp & useFunctionsEmulator support 2018-08-16 15:05:51 +01:00
Michael Diarmid 742863d9df
Merge pull request #1393 from ryanggrey/background-notification-fix-ios
Background notification fix for ios
2018-08-16 12:46:20 +01:00
Michael Diarmid 433127c4bc
Merge pull request #1348 from bilalsyed001/master
[iOS] Fix getInitialLink to handle unresolved url
2018-08-14 01:53:55 +01:00
Ryan Grey 89f7698e5f Merge branch 'master' into background-notification-fix-ios 2018-08-13 08:28:37 +01:00
Ryan Grey 6a69ae66b1 Auto complete early when no user listeners.
This is to clear up memory on the objective-c side without needing to
signal the start/stop of user listeners.
2018-08-10 17:13:02 +01:00
Ryan Grey 0291605934 Protect against multiple calls to start/stop handling native methods 2018-08-06 15:22:15 +01:00
Ryan Grey b53695ad52 Add RCTConverter+UIBackgroundFetchResult to handle auto conversion 2018-08-06 13:05:16 +01:00
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 52c63b5e18 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	android/src/main/java/io/invertase/firebase/crash/RNFirebaseCrash.java
#	android/src/main/java/io/invertase/firebase/crash/RNFirebaseCrashPackage.java
#	lib/index.d.ts
2018-08-04 22:47:04 +01:00
Salakar 1777e80427 [android][ios][js][tests] remove deprecated `.crash()` 2018-08-04 22:41:39 +01:00
Michael Diarmid 1d185c802e
Merge pull request #1316 from invertase/perf
Performance Monitoring upgrade
2018-08-04 22:00:20 +01:00
Salakar 81fee9f57a [ios][auth] fix checkActionCode bug - fixes #1304 2018-07-29 21:49:09 +01:00
Bilal Syed 683ae83061 [iOS] Fix getInitialLink to handle unresolved url 2018-07-26 16:14:37 +03:00
Salakar f17225d101 [ios][config] resolve correct null values 2018-07-21 20:31:32 +01:00
Salakar 66aa5ccb67 [ios][messaging] fix #1286 - 'getToken resolves to null if called too early' 2018-07-20 16:28:07 +01:00
Michael Diarmid 321e4a2909
Merge pull request #1058 from dgruseck/master
[Android] Add the ability to remove notifications based on the tag
2018-07-20 11:35:08 +01:00
Michael Diarmid ce513f20e9
Merge pull request #1295 from invertase/fix-1288
[config][android] Handle remote config error
2018-07-18 21:59:51 +01:00
Elliot Hesp 0a1ab7b8dd [config] Return null/nil values on success 2018-07-18 21:35:57 +01:00
Elliot Hesp 752a2e95a2
Merge branch 'master' into perf 2018-07-18 16:15:28 +01:00
Elliot Hesp 89d8a0a92a [perf][ios] Performance ios integration 2018-07-18 16:05:59 +01:00
Salakar d1783152dc [ios][storage] fix #739 2018-07-14 23:34:57 +01:00
David Gruseck 7f0d4ac10e merge master 2018-07-13 09:29:10 +02:00
David Gruseck 8b81e74f50 move removeDeliveredNotificationsByTag to android specific file 2018-07-13 09:22:38 +02:00
Elliot Hesp c4b43a5184 [config][ios] Match iOS error messages to Android 2018-07-12 14:14:11 +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
David Gruseck 89806d97f7 [Android] Add the ability to remove notifications based on the tag 2018-05-07 17:35:10 +02: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