rechargement de l'app à la 1ère ouverture du formulaire d'édition OSM ?
publié le , mis à jourOriginally posted by @etienneJr in 2367#issuecomment-22948606">https://codeberg.org/cartes/web/pulls/2367#issuecomment-22948606
Quand c'est la 1ère fois qu'on ouvre le formulaire d'édition OSM après le début de la navigation (et quelque soit le nb de POI qu'on a consultés avant), alors on passe par un écran blanc, comme si toute l'app se rechargeait, pourquoi ?
Ca se produit aussi dans #2367 avec le formulaire panoramax.
n4n5
Oui j'ai aussi remarqué ça
J'enqueterai a l'occasion
n4n5
Fixed in https://codeberg.org/cartes/web/pulls/3039
Dcp tu dois aussi faire la meme pour panormax, mettre un loader
laem
Si je comprends bien, en l'absence de loader, ça recharge toute l'app plutôt que de faire une simple div blanche ? Tu sais pourquoi @n4n5 ?
n4n5
Non j'ai pas trop cherché pk car le fix marcha ahah
laem
T'as bien raison.
etienneJr
certes, mais ya d'autres cas où un rechargement inutile se produit. Ya ptet une raison commune qu'il serait utile d'identifier, non ?
laem
Tu as les autres cas en tête ?
etienneJr
Je l'ai eu l'autre jour (plusieurs fois je crois) lors d'un calcul d'itinéraire, faudrait que j'essaye de reproduire.
n4n5
@etienneJr wrote in https://codeberg.org/cartes/web/issues/3037#issuecomment-23041075:
Je l'ai eu l'autre jour (plusieurs fois je crois) lors d'un calcul d'itinéraire, faudrait que j'essaye de reproduire.
bah dcp ça serait la même explication nn ?
Si on cherche les
dynamicdans le code https://codeberg.org/cartes/web/search/branch/master?path=&q=dynamic%28%28%29&mode=exactDonc on voit que il y a un import
etienneJr
Ooohhh j'y connais rien, ça sert à quoi dynamic ?
etienneJr
Ah et puis tiens j'ai aussi un rechargement de trop au démarrage de l'app. Euh... Je l'ai déjà dit ailleurs non ?
Edit : vidéo en pj
Re-edit : äh mais oui je suis con, c'est l'effet vérif du cookie
<video src="https://codeberg.org/attachments/d1a9d770-741a-45c9-aca5-91f5324781c9" title="SVID_20260917_195133_1" controls></video>
n4n5
@etienneJr wrote in https://codeberg.org/cartes/web/issues/3037#issuecomment-23041357:
Ooohhh j'y connais rien, ça sert à quoi dynamic ?
C'est ce dont je parle depuis la MR #3039 xD
ça permet d'alleger le code client en chargeant dynamiquement du code, que quand on a besoin (le fameux
Lazy)comme je l'ai fix avec la MR, si on ne met pas de
loading: () => <p></p>comme parametre de la fonctiondynamic, alors ça fait une sorte de flash noir. Le parametre loading est affiché pendant le chargement, soit quelques millisecondes en généralDans la MR j'ai fix plusieurs composant, dont l'édition OSM. Il faut egalement faire le meme fix pour ta MR panoramax
Et plus généralement, je pense que vu que c'est ça qui créer ces flash, il faudrait peut-être le mettre sur la plupart de nos appels
dynamicEnsuite, comme tu l'as fait remarqué, il y avait potentiellement des flashs dans
itinéraire, moi je pense que c'est possible car on utilise aussi undynamicà la ligne 21 !n4n5
@etienneJr wrote in https://codeberg.org/cartes/web/issues/3037#issuecomment-23041570:
Ah et puis tiens j'ai aussi un rechargement de trop au démarrage de l'app. Euh... Je l'ai déjà dit ailleurs non ?
@laem confirma si ça peut être le cookie (?)
Également, pour info, le composant
<Content />est, je crois, monté deux fois, jsp si c'est liéon peut le voir en ajoutant
useEffect(()=> { console.warn("MOUNT") return () => { console.warn("UNMOUNT") } }, [])laem
@laem confirma si ça peut être le cookie (?)
Non car une fois le cookie mis, une seule fois par utilisateur pour un mois, tout se passe normalement après.
Également, pour info, le composant <Content /> est, je crois, monté deux fois, jsp si c'est lié
Je sais pas si tu as vu qu'en mode dev, tous les effets tournent deux fois. C'est une astuce forcée par React pour aider à trouver les problèmes :)
Donc a priori ce serait normal ici, mais à vérifier.
Il se peut en effet que le flash actuel soit un dynamic qui se charge sans action utilisateur 👍
n4n5
@laem wrote in https://codeberg.org/cartes/web/issues/3037#issuecomment-23216704:
Je sais pas si tu as vu qu'en mode dev, tous les effets tournent deux fois. C'est une astuce forcée par React pour aider à trouver les problèmes :)
Je connaissais le StricMode mais j'avais pas vu le composant dans le projet
Mais enft, c'est par default chez Next.js
https://nextjs.org/docs/app/api-reference/config/next-config-js/reactStrictMode