Constats mineurs de la review de la pile monitoring des postes #25
Labels
No labels
autopilot:pending-human
source:analyste
source:defenseur
source:human
source:medic
status:approved
status:blocked
status:in-progress
status:needs-clarification
status:needs-fix
status:ready
status:review
status:triage
type:bug
type:feature
type:infra
type:refactor
type:schema
type:security
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: maximus/vps-health-api#25
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Constats non bloquants releves par
/pr-reviewsur la pile #18-#23. Ils sont consignes iciparce qu'ils meurent avec les PRs fermees. Aucun n'a justifie de retarder le merge ; aucun
n'est un defaut de comportement.
1.
loadAvgaccepte sans garantie de longueursanitizeSnapshot()accepteloadAvg: []et le README ne promet aucune longueur. Leconsommateur (la carte du dashboard,
la-compagnie-maximus#149) faitloadAvg.map(...).join(" / ")— un tableau vide rend une chaine vide, pas une erreur, maisrien ne le documente. Soit garantir 3 elements cote serveur, soit l'ecrire dans le contrat.
2.
cleanStringconserve les caracteres de controleChoix delibere (ne pas mutiler une valeur legitime), mais la surete repose alors entierement
sur l'echappement du consommateur — React echappe, donc c'est sur aujourd'hui. Ce n'est
documente nulle part. Une ligne dans le README suffirait a rendre la dependance explicite.
3. Debris de fichier temporaire si le process meurt en cours d'ecriture
L'ecriture atomique passe par un fichier temporaire puis
renameSync. Un crash entre les deuxlaisse un
.tmpdansHOSTS_DIR. Sans consequence fonctionnelle (GET /hostsne lit que<id>.json), mais rien ne les balaie. Un nettoyage des.tmpplus vieux qu'une heure audemarrage reglerait la question.
4.
frozenRequestetnew Date()L'utilitaire de test qui fige l'horloge n'interfere pas avec
new Date(), ce qui est lecomportement voulu, mais ce n'est ecrit nulle part — un futur test qui s'appuierait sur
new Date()sous horloge figee aurait un resultat surprenant.Criteres d'acceptation
npm testreste vert