angular / angular/angularfire

Any evocation of fireFunctions.httpsCallable make Angular Zone instable

Ouverte
#3,023 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
TypeScript
Étoiles
7.8k
Forks
2.2k
Merge moyen
22 h 28 min
PR mergées (30 j)
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.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Reproduisez le problème avec Angular 12.1.1, Firebase 9.1.3, AngularFire 7.1.0 et RxJS 7.2.0 en utilisant AngularFireFunctions depuis @angular/fire/compat/functions. Commencez par httpsCallable et vérifiez comment son invocation interagit avec Angular Zone, notamment lorsqu’elle est enveloppée dans ngZone.runOutsideAngular. Le travail est terminé lorsque les invocations de callables ne laissent plus de tâches en attente à long terme et ne rendent plus Zone instable.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
angular, firebase, typescript
Domaine
cloud, frontend
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.