Skip to content

Commit e830f03

Browse files
committed
fix(afs): workarounds for firebase-js-sdk #605 and #608
1 parent c2df603 commit e830f03

File tree

3 files changed

+1043
-479
lines changed

3 files changed

+1043
-479
lines changed

src/firestore/firestore.spec.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,9 @@ describe('AngularFirestore', () => {
3333
})();
3434
});
3535

36-
afterEach(async (done) => {
37-
await app.delete();
36+
afterEach(done => {
37+
// can't await here https://github.com/firebase/firebase-js-sdk/issues/605
38+
app.delete();
3839
done();
3940
});
4041

src/firestore/firestore.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,10 +118,14 @@ export class AngularFirestore {
118118
return app.firestore();
119119
});
120120

121+
// the try/catch here is very very ugly https://github.com/firebase/firebase-js-sdk/issues/608
121122
this.persistenceEnabled$ = zone.runOutsideAngular(() => {
122123
return shouldEnablePersistence ?
123-
from(this.firestore.enablePersistence().then(() => true, () => false)) :
124-
from(new Promise((res, rej) => { res(false); }));
124+
(() => {
125+
try { return from(this.firestore.enablePersistence().then(() => true, () => false)) }
126+
catch(e) { return Observable.of(false ) }
127+
})() :
128+
Observable.of(false);
125129
});
126130
}
127131

0 commit comments

Comments
 (0)