← Retour aux issues

rechargement de l'app à la 1ère ouverture du formulaire d'édition OSM ?

publié le , mis à jour
Avatar Codeberg de etienneJretienneJr

Originally 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.

  1. Avatar Codeberg de n4n5n4n5

    Oui j'ai aussi remarqué ça

    J'enqueterai a l'occasion

  2. Avatar Codeberg de n4n5n4n5

    Fixed in https://codeberg.org/cartes/web/pulls/3039

    Dcp tu dois aussi faire la meme pour panormax, mettre un loader

  3. Avatar Codeberg de laemlaem

    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 ?

  4. Avatar Codeberg de n4n5n4n5

    Non j'ai pas trop cherché pk car le fix marcha ahah

  5. Avatar Codeberg de laemlaem

    T'as bien raison.

  6. Avatar Codeberg de etienneJretienneJr

    certes, mais ya d'autres cas où un rechargement inutile se produit. Ya ptet une raison commune qu'il serait utile d'identifier, non ?

  7. Avatar Codeberg de laemlaem

    Tu as les autres cas en tête ?

  8. Avatar Codeberg de etienneJretienneJr

    Je l'ai eu l'autre jour (plusieurs fois je crois) lors d'un calcul d'itinéraire, faudrait que j'essaye de reproduire.

  9. Avatar Codeberg de n4n5n4n5

    @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 dynamic dans le code https://codeberg.org/cartes/web/search/branch/master?path=&q=dynamic%28%28%29&mode=exact

    Donc on voit que il y a un import

    https://codeberg.org/cartes/web/src/commit/e817d49cab6be276199c281a27ce5e253ec67995/app/itinerary/Itinerary.tsx#L21

  10. Avatar Codeberg de etienneJretienneJr

    Ooohhh j'y connais rien, ça sert à quoi dynamic ?

  11. Avatar Codeberg de etienneJretienneJr

    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>

  12. Avatar Codeberg de n4n5n4n5

    @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 fonction dynamic, alors ça fait une sorte de flash noir. Le parametre loading est affiché pendant le chargement, soit quelques millisecondes en général

    Dans 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 dynamic

    Ensuite, 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 un dynamic à la ligne 21 !

  13. Avatar Codeberg de n4n5n4n5

    @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")
        }
    }, [])
    
  14. Avatar Codeberg de laemlaem

    @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 👍

  15. Avatar Codeberg de n4n5n4n5

    @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

    image


✏️ Participer à la discussion