scribouilli icon indicating copy to clipboard operation
scribouilli copied to clipboard

Délai intempestif lié à publishedWebsiteURL

Open maiwann opened this issue 2 years ago • 9 comments

Suite à un test utilisateur, l'atelier est lent (et cela engendre des misclick) : 10s pour charger les paramètres

C'était pendant un test utilisateur pour les mini-sites Framalibre, et cela a été lent :

  • Pour accéder à l'atelier (liste des pages)
  • Pour ouvrir une page (la seule existante)
  • Pour aller sur la page des Paramètres

La personne a la fibre, donc ça ne doit pas être sa connexion qui explique la lenteur. Dans le reste du parcours, tout se déroulait bien.

image

maiwann avatar Dec 13 '23 11:12 maiwann

Je crée cette issue pour mémoire, si on nous remonte ce problème plusieurs fois je la prioriserai plus haut.

maiwann avatar Dec 13 '23 11:12 maiwann

Aha je reproduis le problème quand je me connecte avec Github 🕵️ et mes 2 testeureuses utilisaient Github aussi.

Avouez c'est une feature :p

maiwann avatar Dec 13 '23 17:12 maiwann

Il est possible que ça soit une lenteur de l'API github (ils font ce qu'ils peuvent pour que ça soit rapide, mais ce n'est pas une science exacte et encore moins fiable)

Avec @Ynote , on a dans l'idée de rajouter des loader, parce que c'est chiant de ne pas avoir de retours visuel quand c'est lent Maiana l'a beaucoup demandé aussi

DavidBruant avatar Dec 15 '23 09:12 DavidBruant

Je trouve que c'est beaucoup plus lent qu'auparavant, et systématique, donc ça me donnait l'impression que c'était une nouveauté :x

maiwann avatar Dec 15 '23 09:12 maiwann

(un⋅e des testeureuses en question o/)

J'ai fait un peu de debug pour tenter de savoir ce qui se passait à la suite du test et j'ai trouvé ça, je sais pas si ça peut aider.

  • Certaines pages font appel à setCurrentRepositoryFromQuerystring
  • Cette fonction fait appel à setBaseUrlInConfigIfNecessary
  • Dans le cas où l'origin est Github, ça récupère currentRepository.publishedWebsiteURL, https://github.com/Scribouilli/scribouilli/blob/principale/assets/scripts/actions/current-repository.js#L145-L150
  • currentRepository est instancié, un peu avant l'appel à setBaseUrlInConfigIfNecessary, https://github.com/Scribouilli/scribouilli/blob/principale/assets/scripts/actions/current-repository.js#L89-L104
  • publishedWebsiteURL est set après un délai de 10 secondes dans le constructeur de ScribouilliGitRepo, https://github.com/Scribouilli/scribouilli/blob/principale/assets/scripts/scribouilliGitRepo.js#L30-L41

J'aurais tendance à penser que les 10 secondes d'attente correspondent au 10 secondes du setInterval. (J'aurais bien tenté de vérifier ça mais j'ai pas eu la foi de setup l'environnement de développement)

hannaeko avatar Dec 16 '23 12:12 hannaeko

ah oui, bien vu ! Ça doit être lié !

DavidBruant avatar Dec 16 '23 13:12 DavidBruant

J'ai changé le délai à une seconde

https://github.com/Scribouilli/scribouilli/commit/6dc9ef75e0d0ecd84bb8c59439f39f04a8fa89a9

C'est une mesure temporaire J'aimerais prendre le temps de creuser un jour pour trouver une solution plus viable

DavidBruant avatar Dec 17 '23 14:12 DavidBruant

Du coup d'ici là on clôt cette issue ? on en ouvre une autre ? Ou on la garde le temps de faire la solution plus viable ?

maiwann avatar Dec 18 '23 10:12 maiwann

On la garde ouverte

DavidBruant avatar Dec 18 '23 11:12 DavidBruant