angular / angular/angularfire

collectionData doesn't allow angular app to become stable with angular 17 and ssr (getDocs does)

Ouverte
#3,496 2 commentaires 2 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:**
17.0.9

**Firebase:**
10.7.1

**AngularFire:**
17.0.1

**Other (e.g. Ionic/Cordova, Node, browser, operating system):**
Windows

### How to reproduce these conditions

GitHub repo to clone as needs SSR to reproduce
https://github.com/pdela/testing-ng17-ssr

**Steps to set up and reproduce**

Clone the repo
install dependencies
npm run start

### Expected behavior

Angular app to become stable in reasonable time (millis)

### Actual behavior

The problem is that firebase prevents angular app to become stable in client, thus hydration process doesn't start, except after waiting for around 120 seconds

Edit:
Unfortunately I still have this problem in the demo above and in another project ( using angular 17.3.x and firebase 10.11.x) and this time using getDoc method.
I'm pretty sure the problem is originated in firestore SDK, as the 2 pending macrotasks that blocks angular being stable point to a setTimout inside firestore source code.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Clonez le dépôt de reproduction lié, installez ses dépendances et exécutez npm run start. Comparez les cas collectionData et getDoc/getDocs tout en observant les macrotâches Firestore en attente qui retardent la stabilité et l’hydratation d’Angular. Le travail est terminé lorsque l’application SSR devient rapidement stable et que l’hydratation démarre sans l’attente d’environ 120 secondes.

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é
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

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