Setting Persistence Doesn't Work
- Dominant language
- TypeScript
- Stars
- 7.8k
- Forks
- 2.2k
- Avg merge
- 22h 28m
- Merged PRs (30d)
- 6
Description
Currently running `setPersistence` with any `Persistence` breaks. I was able to work around this by just importing `setPersistence` from `@firebase/auth` instead of `@angular/fire/auth`.
### Version info
**Angular:** 13.1.3
**Firebase:** 9.6.4
**AngularFire:** 7.2.0
**Other (e.g. Ionic/Cordova, Node, browser, operating system):** Node 17.x; OS Windows 11; Browser Chrome;
### How to reproduce these conditions
Try setting persistance:
```ts
setPersistence(this.auth, browserSessionPersistence).catch(console.error);
```
### Debug output
```
TypeError: Class constructor BrowserSessionPersistence cannot be invoked without 'new'
at angular-fire.js:206:29
at angular-fire.js:163:45
at ZoneDelegate.invoke (zone.js:372:1)
at Object.onInvoke (core.mjs:25457:1)
at ZoneDelegate.invoke (zone.js:371:1)
at Zone.run (zone.js:134:1)
at NgZone.run (core.mjs:25311:1)
at run (angular-fire.js:163:35)
at new (angular-fire.js:206:16)
at _getInstance (index-bc414788.js:535:16)
```
### Expected behavior
Setting persistence works.
### Actual behavior
Setting persistence doesn't work.
Contributor guide
Research direction
Start by reproducing the `setPersistence(this.auth, browserSessionPersistence)` call described in the issue with AngularFire 7.2.0, then compare it with importing `setPersistence` from `@firebase/auth`. Done means persistence works through `@angular/fire/auth` without the `BrowserSessionPersistence` constructor error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- angular, firebase, typescript
- Domain
- authentication
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100