Skip to content

Commit 52caf2b

Browse files
committed
Merge remote-tracking branch 'origin/master' into fix-auth-user
2 parents e7a8662 + 7b3277c commit 52caf2b

File tree

5 files changed

+13
-9
lines changed

5 files changed

+13
-9
lines changed

Diff for: ios/Firestack/Firestack.m

+3-1
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,9 @@ - (FIRApp *) firebaseApp
239239

240240
// if (!self.configured) {
241241

242-
[FIRApp configureWithOptions:finalOptions];
242+
if ([FIRApp defaultApp] == NULL) {
243+
[FIRApp configureWithOptions:finalOptions];
244+
}
243245
[Firestack initializeFirestack:self];
244246
callback(@[[NSNull null], props]);
245247
}

Diff for: ios/Firestack/FirestackAuth.h

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
@interface FirestackAuth : RCTEventEmitter <RCTBridgeModule> {
1717
FIRAuthStateDidChangeListenerHandle authListenerHandle;
18+
Boolean listening;
1819
}
1920

2021
@end

Diff for: ios/Firestack/FirestackAuth.m

+3-6
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ @implementation FirestackAuth
130130

131131
RCT_EXPORT_METHOD(listenForAuth)
132132
{
133+
self->listening = true;
133134
self->authListenerHandle =
134135
[[FIRAuth auth] addAuthStateDidChangeListener:^(FIRAuth *_Nonnull auth,
135136
FIRUser *_Nullable user) {
@@ -174,15 +175,11 @@ @implementation FirestackAuth
174175
{
175176
if (self->authListenerHandle != nil) {
176177
[[FIRAuth auth] removeAuthStateDidChangeListener:self->authListenerHandle];
178+
self->listening = false;
177179
callback(@[[NSNull null]]);
178180
}
179181
}
180182

181-
// Helper
182-
- (Boolean) listeningForAuth {
183-
return (self->authListenerHandle != nil);
184-
}
185-
186183
RCT_EXPORT_METHOD(getCurrentUser:(RCTResponseSenderBlock)callback)
187184
{
188185
FIRUser *user = [FIRAuth auth].currentUser;
@@ -496,7 +493,7 @@ - (void) sendJSEvent:(NSString *)title
496493
props:(NSDictionary *)props
497494
{
498495
@try {
499-
if ([self listeningForAuth]) {
496+
if (self->listening) {
500497
[self sendEventWithName:title
501498
body:props];
502499
}

Diff for: ios/Firestack/FirestackDatabase.m

+5-1
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,11 @@ @implementation FirestackDatabase
240240
RCT_EXPORT_METHOD(enablePersistence:(BOOL) enable
241241
callback:(RCTResponseSenderBlock) callback)
242242
{
243-
[FIRDatabase database].persistenceEnabled = enable;
243+
244+
BOOL isEnabled = [FIRDatabase database].persistenceEnabled;
245+
if ( isEnabled != enable) {
246+
[FIRDatabase database].persistenceEnabled = enable;
247+
}
244248
callback(@[[NSNull null], @{
245249
@"result": @"success"
246250
}]);

Diff for: lib/modules/database.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -367,11 +367,11 @@ export class Database extends Base {
367367
}
368368

369369
setPersistence(enable=true) {
370-
this.persistenceEnabled = enable;
371370
let promise;
372371
if (this.persistenceEnabled !== enable) {
373372
this.log.debug(`${enable ? 'Enabling' : 'Disabling'} persistence`);
374373
promise = this.whenReady(promisify('enablePersistence', FirestackDatabase)(enable));
374+
this.persistenceEnabled = enable;
375375
} else {
376376
promise = this.whenReady(Promise.resolve({status: "Already enabled"}))
377377
}

0 commit comments

Comments
 (0)