← Journal technique
JDL (client project)·frontend·2026-10-24

Un effect Angular qui lisait et écrivait ses propres entrées

An Angular store effect looped forever when its data arrived synchronously, and hung the whole test run.

Ça ne pouvait pas marcher

Une course, un ordre, une colonne pour deux choses. La forme l'excluait avant même l'exécution.

Des effects de store dans une application Angular appelaient refresh(), qui lisait et écrivait les mêmes signaux dont l'effect dépendait. Quand la réponse arrivait de façon synchrone, l'effect se redéclenchait sans fin, et un store a bloqué toute la campagne de tests. Un second store avait la même forme. Envelopper les lectures et écritures du refresh dans untracked a réglé les deux.

Un cas voisin : Angular traite <video muted> comme un simple attribut, donc la lecture automatique aurait été bloquée sur un vrai appareil. Il faut [muted]="true". Aucun des deux n'apparaissait comme une erreur. L'un était un blocage, l'autre aurait été un échec silencieux le jour du passage sur du vrai matériel.