cozy / cozy-libs

Libraries used to build Cozy products and tools.
MIT License
7 stars 12 forks source link

[cozy-flags] flags may be undefined if set outside a component #2550

Open JF-Cozy opened 5 months ago

JF-Cozy commented 5 months ago

Si le flag est définit directement dans un fichier js et utilisé ensuite dans un composant, il se peut que la valeur soit d'abord undefined avant d'être la bonne. Le code est exécuté directement par le browser dès qu'il le lit, et sûrement avant que le plugin de flag ce soit initialisé.

const myflag = flag('myflag') // risque que le flag soit à undefined alors qu'il a une valeur

const MyComponent = () => {
  const myflag = flag('myflag') // là ça devrait être bon

  if (myflag) {
    return ...
  } else {
    return ...
  }
}
Crash-- commented 5 months ago

On avait déjà eu des soucis similaires cf https://github.com/cozy/cozy-libs/pull/2305 et il me semblait qu'on avait déjà fait passer le mot.

Mais ça semble pas suffisant, quelles solutions possibles ?

zatteo commented 5 months ago

Mais ça semble pas suffisant, quelles solutions possibles ?

On peut peut-être déclencher un warning côté cozy-flags si on essaie de récupérer un flag alors que le store de flag n'a pas été initialisé ?