cartesapp / cartes

L'appli Web de cartes grand public
https://cartes.app
GNU Affero General Public License v3.0
205 stars 23 forks source link

Disparition de la carte au zoom #602

Closed Jean-BaptisteC closed 4 weeks ago

Jean-BaptisteC commented 1 month ago

J'ai ce problème depuis la mise en place de l'auto hébergement du fond de plan standard. Parfois quand je zoom, le fond de plan disparaît totalement obligé de faire F5 Le problème semble être uniquement sur mobile J'utilise Chrome sur un Pixel 6

laem commented 1 month ago

Une autre personne m'a fait le même retour. Je ne constate pas ce bug sur firefox mobile. À investiguer...

Jean-BaptisteC commented 1 month ago

Le problème semble dans Chromium même problème sur Edge desktop

Et j'ai plusieurs warnings dans la console Too many active WebGL contexts. Oldest context will be lost.

laem commented 4 weeks ago

OK j'ai réussi à reproduire. C'est moche ! Merci pour le signalement.

Mais je le reproduis aussi avec les autres styles, comme celui-ci, du pur MapTiler que je n'ai pas modifié : cartes.app/?style=osm

Tu confirmes ?

laem commented 4 weeks ago

Je vois aussi cette erreur sur mobile.
image

laem commented 4 weeks ago

Meilleure hypothèse : symptôme d'une fuite de mémoire. La cohabitation MapLibre / React est complexe et pas idéalement codée.

Edit : pas de mémoire, la RAM consommée est stable, pas impactée par la nav sur la carte. Donc plutôt un pb d'instanciation MapLibre / WebGl

laem commented 4 weeks ago

80 % de chances que ce soit ça : https://stackoverflow.com/questions/50684887/is-there-any-maps-per-page-limitation-in-mapbox-gl

Reste à comprendre pourquoi ça arrive : une erreur qui recréée le contexte WebGL ? Ou une mauvaise gestion de l'instanciation MapLibre par React ?

laem commented 4 weeks ago

Mmmh, une hypothèse serait que c'est la fonction isWebglSupported qui fait planter en créant les 16 contextes webgl... ce serait n'imp.

laem commented 4 weeks ago

@Jean-BaptisteC d'après mes tests, c'est corrigé. Tu peux confirmer :) ?

laem commented 4 weeks ago

J'ai vraiment merdé avec cette fonction haha

Jean-BaptisteC commented 4 weeks ago

Oui, c'est corrigé par contre la pop-up indiquant que le navigateur n'est pas supporté est visible une fraction de seconde au démarrage de la web app sur Chrome

laem commented 4 weeks ago

Oui, problème connu, compromis pour le SEO par manque de dev. Il y a une solution à trouver.