Pagina di misura: dopo un reload le quote già misurate nel ciclo non vengono ripristinate #40
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?
COSA:
task_execute.htmltienemeasurementssolo in memoria; F5, redirect del timer o auto-logout a metà ciclo mostrano tutte le quote da misurare, e rimisurarle produce doppioni in SPC.PERCHÉ NON È STATO CHIUSO IN #37:
/api/measurements/task-progressdà solo conteggi aggregati per task, non i dati per quota (subtask_id, value, pass_fail), e fuori da una produzione non distingue un ciclo dal precedente.GIÀ FATTO: route proxy
GET /measure/api/task-progress/<task_id>in src/frontend/flask_app/blueprints/measure.py (commitcc68612).CRITERIO DI FATTO: il backend espone le misure del ciclo corrente per quota (serve un identificatore di ciclo sul run, o il filtro
production_run_id+ numero di ciclo su GET /api/measurements);init()ripopolameasurementse posizionacurrentIndex.ORIGINE: residui dichiarati alla chiusura delle issue della revisione del 21/09/2026.
ESITO: richiesta
RIF: gitea:Adriano/TieMeasureFlow#40
COSA: analisi (passo 1). Ripristinare dopo un reload le quote già misurate nel ciclo in corso.
CONFINE DEL CICLO, senza migrazione: dentro un production run R, per il task T, il ciclo corrente comincia all'ultimo evento di production_events di R fra start, cycle_completed, e remeasure con task T. Le misure del ciclo corrente sono quelle di R e T con measured_at successivo a quell'evento. Se esiste un task_measured di T dopo il confine, il task è già chiuso nel ciclo e la lista è vuota.
FILE:
cc68612), oppure uno nuovo /measure/api/current-cycle/<task_id> che legge production_run_id dalla sessione, come fa il resto della pagina.TEST: misure di due cicli con un cycle_completed in mezzo → solo le ultime; un remeasure del task azzera; un task_measured dopo il confine → lista vuota; permessi; test del frontend sul proxy.
NON TOCCARE: schema DB, migrazioni, auth.
FATTO SE: uv run pytest verde; F5 a metà ciclo, provato a mano con docker compose dev se fattibile, altrimenti dichiarato.
⚡ jeeg — preso in carico 2026-10-06T09:27:52Z
ramo:
lavoro/jeeg· capacità: docker, gpu, systemdSoluzione
ESITO: fatto
COMMIT:
1d93edesu V3.0.0 (ramo lavoro/jeeg-tmf40)COSA: dopo un reload a metà ciclo la pagina di misura ripristina le quote già misurate.
FILE:
SICUREZZA DOPPIONI: le misure si salvano una alla volta (save_measurement); la lista locale è solo presentazione, quindi le quote ripristinate non si rispediscono.
PROVA: uv run pytest → 640 passed, 4 skipped. Test in src/backend/tests/test_current_cycle.py (7) e test_measure.py (4 sul proxy).
NON FATTO: prova a mano di F5 nel browser. Fuori da una produzione non c'è ripristino (non esiste un ciclo).