Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PWA - Stockage #604

Open
bastyen opened this issue Mar 16, 2022 · 7 comments
Open

PWA - Stockage #604

bastyen opened this issue Mar 16, 2022 · 7 comments

Comments

@bastyen
Copy link

bastyen commented Mar 16, 2022

Le service worker stocke des données avec une réponse opaque ce qui demande beaucoup trop de place.

stockage

J'ai atteint ce résultat très rapidement en naviguant sur l'application. C'est en grande partie à cause du stockage des tuiles rasters.

Voir : https://developers.google.com/web/tools/workbox/guides/storage-quota

Browsers automatically inflate the quota impact of those opaque responses as a security consideration. In Chrome, for instance, even an opaque response of a few kilobytes will end up contributing around 7 megabytes towards your quota usage.

@camillemonchicourt
Copy link
Member

OK, merci pour ce retour intéressant.
Cela ne se produit que quand on télécharge des randos en offline ou tout le temps ?
Je ne comprends pas bien le problème, si c'est le fait que le stockage n'est pas clair, ou que l'application stocke beaucoup trop de données ?

Quand on télécharge des randos en offline, c'est normal que ça prenne de la place du fait du fonctionnement mis en place : #287

Mais sinon, non.
Et on avait imaginé en évolution pouvoir indiquer dans la page des Contenus offline, le volume de données stockées pour en informer l'utilisateur et faciliter la suppression des contenus offline.

@bastyen
Copy link
Author

bastyen commented Mar 17, 2022

Le téléchargement d'une randonnée de façon explicite fonctionne correctement. Les données sont stockées dans le local storage et la base de données indéxée.

Par contre, le service worker met en cache du contenu dont la réponse est opaque lors de la navigation dans l'application et c'est à éviter. Tu peux facilement t'en rendre compte en regardant le stockage dans l'outil de développement d'un navigateur.

@camillemonchicourt
Copy link
Member

OK merci pour les précisions.
Donc je comprends qu'il y a une correction/amélioration à faire à ce niveau.
Merci.

@babastienne
Copy link
Member

@dtrucs peux-tu compléter le ticket sur les avancements qui ont étés effectués ces derniers mois ?

@dtrucs
Copy link
Collaborator

dtrucs commented Oct 6, 2023

Depuis la version 3.12.0 et notament cette pull request, des règles ont été durcies pour ne pas sauvegarder des tuiles raster dans les services worker.

Cela peut être amélioré puisque nous ne garantissons pas cette limitation pour tous les serveurs de tuiles (voir https://github.com/GeotrekCE/Geotrek-rando-v3/pull/849/files#diff-4679766c38de16cf471d24a6e108655f9d7cabc36ff2e660705cb69a753d7c60R33-R40)

@camillemonchicourt
Copy link
Member

OK intéressant.
Donc les URL des tuiles sont déclarées, OK
On pourrait anticiper et préparer la bascule du Géoportail IGN vers la Geoplateforme IGN où les urls des flux WMTS vont passer sur "data.geopf.fr".

@dtrucs
Copy link
Collaborator

dtrucs commented Oct 11, 2023

Pour éviter à l'avenir de maintenir une liste de condition définie par les hosts (non fiable), il serait intéressant d'ajouter un paramètre GET aux images de tuiles lorsqu'elles sont transmises à Leaflet.
Ensuite lorsque Leaflet rend la page, il conviendrait de vérifier la présence de ce GET pour exclure leur sauvegarde dans le cache storage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Backlog
Development

No branches or pull requests

4 participants