Merci pour ton retour ce matin @spenceur, ça m’a beaucoup aidé puisque j’ai réussi à reproduire le bug avec ton JSON!
En fait, ton JSON faisait 200 ko (avant gzip), et j’ai fais un test en local, j’ai une erreur “Max call stack exceeded” en essayant de chiffrer/déchiffrer ce JSON lors de la phase de déchiffrement.
En cause, la fonction qui faisait la conversion du message déchiffré (Un ArrayBuffer) vers un String.
Et en fait jusque-là j’utilisais une fonction “maison” pour faire cette conversion ArrayBuffer vers String, sauf que depuis il y a une classe dispo dans tous les navigateurs qui permet de faire cette conversion, je suis donc passé à la classe native
J’ai fais une PR si ça t’intéresse :
Je te tiens au courant quand ça part dans Gladys !
Bon, c’est pas aussi simple que ça, mon changement pète l’encodage des caractères spéciaux (accent, emoji, etc…)
Je continue l’enquête
A l’ancienne é
En fait j’ai trouvé, pour passer par l’API du navigateur “TextDecoder”, il faut forcément passer par l’API “TextEncoder” pour avoir un contenu qui reste homogène ! En même temps c’est logique J’ai fais des tests avec des caractères spéciaux (accent / emoji ) et ça marche.
Du coup pour avoir une migration en douceur et sans rien casser chez les instances existantes, j’ai codé le nouveau mécanisme, mais je l’ai mis sous un flag. De ce fait, les instances Gladys seront toute prête à décoder ces “nouveaux payload” Gladys Plus, mais pour l’instant n’encode pas avec ce format.
Je ferais une release en 2 versions:
- 1ère release: le code arrive sur les machines et sur le frontend Gladys Plus, mais pas activé
- 2ème release une fois que tout le monde est passé à la 1ère release: On active le flag côté Gladys et côté Gladys Plus. Comme tout le monde a déjà le code, il y a juste à vérifier dans les messages si il y a le flag
Le code avec le flag est dispo ici:
Pour information @spenceur, Gladys Assistant v4.8.2, sorti ce matin, est la 1ère release.
Cette version ne corrige pas ton bug !
Cette version apporte juste la nouvelle fonction d’encodage qui sera ensuite activée via un passage de flag lors d’une prochaine release, uniquement lorsque toutes les instances seront à jour et auront bien la fonction.
L’idée de faire ça en 2 release, c’est de ne pas casser Gladys Plus, mais de faire ça en douceur sans interruption de service.
Plus d’informations :
@spenceur C’est bon, le fix est déployé avec Gladys Assistant v4.8.3 J’ai fais un test chez moi avec le payload que tu m’avais envoyé suite à notre call, et ça fixe bien le problème !
Dis moi si ça marche bien chez toi une fois que tu seras bien en v4.8.3. Côté plus.gladysassistant.com, il faudra peut-être que tu hard-refresh la page pour bien avoir la dernière version de la PWA !
Yes aucun probleme une fois que ma co internet sera revenue. Un tech etait sensé passé ce matin mais 0 news ^^’.
Je te tiens au courants !
Hello @spenceur ! Est-ce que tu as pu re-tester depuis ?
Hello !
Je ne t’avais pas oublié mais je n’avais pas de pc sous la main pour try !
Sur le Mac après vidage du cache tout est ok ^^
En revanche sur le tel Android, tjrs le même soucis, mais certainement un soucis de cache ^^
Beau travail, je contribue comme je peu sur cette gladys4
Génial ! C’est cool ça
Sûrement un souci de cache oui, en fait la PWA se met à jour en arrière-plan automatiquement, mais ça peut prendre un petit temps. En général en 1-2 rafraichissement tu es sur la bonne version, ça va venir tranquillement