Any evocation of fireFunctions.httpsCallable make Angular Zone instable
- Dominant language
- TypeScript
- Stars
- 7.8k
- Forks
- 2.2k
- Avg merge
- 22h 28m
- Merged PRs (30d)
- 6
Description
### Version info
**Angular:**
12.1.1
**Firebase:**
9.1.3
**AngularFire:**
7.1.0
**Other (e.g. Ionic/Cordova, Node, browser, operating system):**
rxjs: 7.2.0
### How to reproduce these conditions
Any evocation of `fireFunctions.httpsCallable` make Angular Zone instable.
**Context**
In my angular application, I have a code that detects pending tasks executed inside Angular Zone. I noticed after upgrade on 7.1.0 that evocation of httpCallables leave long living tasks in the Zone. This was never an issue before. Even wrapping those calls into `ngZone.runOutsideAngular` doesn't help. Example:
```typescript
import {AngularFireFunctions} from '@angular/fire/compat/functions';
//...
constructor(private readonly fireFunctions: AngularFireFunctions) {
}
this.fireFunctions.httpsCallable('myFunc')(data); // this code creates a long living task inside zone and make it unstable
```
### Expected behavior
Evocation of httpCallable functions must not make zone unstable.
Contributor guide
Research direction
Reproduce the issue with Angular 12.1.1, Firebase 9.1.3, AngularFire 7.1.0, and RxJS 7.2.0 using AngularFireFunctions from @angular/fire/compat/functions. Start at httpsCallable and check how its invocation interacts with Angular Zone, including when wrapped in ngZone.runOutsideAngular. Done means callable invocations no longer leave long-lived pending tasks or make the Zone unstable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- angular, firebase, typescript
- Domain
- cloud, frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100