task_execute: lotto e seriale in un letterale JS con autoescape HTML → dato alterato nel DB #32
Reference in New Issue
Block a user
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?
GRAVITÀ: media
FILE: src/frontend/flask_app/templates/measure/task_execute.html:929-930
COSA:
lotNumber: '{{ lot_number or '' }}'dentro<script>:&→&,'→', e il valore alterato è inviato a ogni misura e aproduction/start. Backslash non escapato.INPUT: lotto
A&B-12salvato comeA&B-12. LottoLOT\→ SyntaxError, la pagina di misura non parte.VERIFICATO: righe 929-930 lette; alla riga 60 gli altri dati usano
|tojson.ORIGINE: revisione fable del 21/09/2026 su ramo
V3.0.0, commit8cc5e82. Documento completo:_output/2026-09-21-TieMeasureFlow-revisione.mdsu Wasabi.⚡ jeeg — preso in carico 2026-09-21T20:23:21Z
ramo:
lavoro/jeeg· capacità: docker, gpu, systemdANALISI (passo 1) — ramo
lavoro/jeeg, worktree~/lavoro/TieMeasureFlowsu jeeg, lotto B1MODIFICHE: task_execute.html:929-930 —
lotNumber: {{ (lot_number or '')|tojson }},serialNumber: {{ (serial_number or '')|tojson }}. Cerca nello stesso file ogni altro'{{ ... }}'con dati utente (non stringhe_()) e applica|tojson.TEST: src/frontend/flask_app/tests — render della pagina con lotto
A&B-12eLOT\→ nel sorgente compare il JSON corretto ("A\u0026B-12"o"A&B-12"senza&).Soluzione
ESITO: fatto
COSA:
lotNumber/serialNumbercon|tojson. Test:A&B-12non diventaA&B-12, backslash e apostrofo restano JSON valido.COMMIT (ramo lavoro/jeeg, unito su V3.0.0 a
d483fa1):c8caf40PROVA:
uv run --extra server --extra client --extra dev pytest -q→ 622 passed, 4 skipped (erano 391); visione su Python 3.13 → 16 passed (erano 8).