angular / angular/angularfire

Any evocation of fireFunctions.httpsCallable make Angular Zone instable

Open
#3,023 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.