Adriano
459d1c71ea
Merge lavoro/daitarn-trafilo-esegui-pin
2026-10-07 12:39:59 +02:00
Adriano
05e3faa9d4
Merge lavoro/daitarn-trafilo-utenti-pin
2026-10-07 12:39:58 +02:00
Adriano
dc94b2e778
Capoturno: autorizzazione con PIN (nome + tastierino) o password nella modale ( #59 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:39:07 +02:00
Adriano
3c55550d93
Utenti: PIN impostabile/togliibile dall'admin, link Monitor nel menu ( #51 #59 #57 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:38:58 +02:00
Adriano
e07c4d4eee
Merge lavoro/daitarn-trafilo-editor-task
2026-10-07 12:38:57 +02:00
Adriano
0b45f1c35a
Merge lavoro/daitarn-trafilo-editor-quote
2026-10-07 12:38:56 +02:00
Adriano
743f246cbf
Merge lavoro/daitarn-trafilo-pin
2026-10-07 12:38:56 +02:00
Adriano
f541f4a810
Editor task: tipo check, ciclo di misura, nota a fine produzione con campi ( #53 #54 #55 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:38:05 +02:00
Adriano
dffb11f9f2
task editor: liste Tipo/Unita e tolleranze generali dalle Impostazioni ( #47 , #48 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:37:14 +02:00
Adriano
c8dd5eecfd
Merge lavoro/daitarn-trafilo-ritaglio
2026-10-07 12:33:02 +02:00
Adriano
f7d6d008c7
Merge lavoro/daitarn-trafilo-duplica
2026-10-07 12:33:02 +02:00
Adriano
837f3d1069
Merge lavoro/daitarn-trafilo-statsessione
2026-10-07 12:33:02 +02:00
Adriano
f5a2affa0f
Merge lavoro/daitarn-trafilo-monitor
2026-10-07 12:33:02 +02:00
Adriano
7ef28b7a9f
Merge lavoro/daitarn-trafilo-operatore
2026-10-07 12:33:02 +02:00
Adriano
06b87a15b3
Merge lavoro/daitarn-trafilo-login
2026-10-07 12:33:02 +02:00
Adriano
3b3ecceb2a
Merge lavoro/daitarn-trafilo-settings
2026-10-07 12:33:02 +02:00
Adriano
3899d5ecd9
Merge lavoro/daitarn-46-motore: percorsi con lettera di unità ( #46 )
2026-10-07 12:32:47 +02:00
Adriano
f986c172c2
Worker: recipe_dir con lettera di unita rifiutato su ogni OS ( #46 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:32:34 +02:00
Adriano
e44ac3129f
Statistiche sessioni: conteggio misure solo sui run della ricetta ( #58 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:31:53 +02:00
Adriano
4e52095423
Statistiche per sessione di produzione: filtro production_run_id, elenco sessioni, select Sessione ( #58 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:28:35 +02:00
Adriano
23bfc93f1c
Impostazioni: durata loop, tolleranze, anagrafiche; tab Utenti con reset password ( #47 #48 #49 #50 #51 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:28:31 +02:00
Adriano
07e23b957d
PIN a 4 cifre: migrazione 017, login-pin, pin-users, PUT pin, capoturno via PIN ( #59 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:27:31 +02:00
Adriano
c1c7ae8d0e
Merge lavoro/daitarn-46-operatore ( #46 )
2026-10-07 12:27:16 +02:00
Adriano
cf49695140
Merge lavoro/daitarn-46-maker ( #46 )
2026-10-07 12:27:16 +02:00
Adriano
c9e01a223b
Merge lavoro/daitarn-46-backend ( #46 )
2026-10-07 12:27:15 +02:00
Adriano
fc1902a1bb
Ricetta: il digest della cartella copre anche i file di meta ( #46 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:27:04 +02:00
Adriano
6648882ec1
Maker: duplica ricetta e durata loop predefinita ( #52 , #49 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:26:49 +02:00
Adriano
b5aa19170e
Maker: ritaglio di immagine e PDF prima dell'upload ( #56 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:26:38 +02:00
Adriano
2d03577165
loadProductionRun mostra il detail del server; START ACTIVITY in inglese ( #61 #62 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:26:33 +02:00
Adriano
27dc5e77af
Schermate operatore: un solo Completato grande, Fermo linea solo con run aperto, AVVIA ATTIVITA, pannello lotto/seriale dopo la scelta ( #60 #61 #62 #63 #64 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:25:56 +02:00
Adriano
8e3316957c
Monitor stazioni: pagina /monitor e proxy JSON ( #57 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:25:51 +02:00
Adriano
3c1d5f1323
Duplica ricetta: servizio, endpoint e test backend ( #52 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:25:25 +02:00
Adriano
db5d686938
Monitor stazioni: GET /api/production-runs/open ( #57 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:25:16 +02:00
Adriano
c764cf73c6
Login Operatore con nome + PIN: elenco nomi, tastierino, route login-pin ( #59 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:23:51 +02:00
Adriano
86290274e5
Test ricetta v2, execute dxf_compare, migrazione 016 ( #46 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:15:02 +02:00
Adriano
ee0f65ed39
Endpoint ricetta VisionSuite v2, execute con overlay e immagine salvata ( #46 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:12:50 +02:00
Adriano
18d0db8a0c
Migrazione 016 vision_recipe_dir, copy-on-write, dxf_compare tra i task di misura ( #46 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:08:29 +02:00
Adriano
3856ee335a
operatore: acquisizione immagine, proxy execute e overlay per camera_measure/dxf_compare ( #46 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 11:55:42 +02:00
Adriano
e640c4a36e
Maker: ricetta visione e uscita per quota, tipi camera_measure/dxf_compare ( #46 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 11:55:31 +02:00
Adriano
accf416cc9
Motore v2: run_graph con recipe_dir/calibrazione/overlay, /validate, test ( #46 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 11:54:27 +02:00
Adriano
a829bf3eb0
frontend: date UTC convertite in ora italiana alla presentazione ( #42 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-06 11:59:18 +02:00
Adriano
7ac291b8ac
Backend: date dei filtri dei report e utenti setup in ora italiana/UTC esplicito ( #42 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-06 11:59:07 +02:00
Adriano
486e1288bf
Backend: UTC nel DB, +00:00 nelle API, ora italiana solo in presentazione ( #42 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-06 11:41:22 +02:00
Adriano
0d004c43ff
Login: cancella le key scadute dell'utente ( #41 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-06 11:34:30 +02:00
Adriano
35f46926a9
API key come hash SHA-256, una per sessione, TTL rinnovabile ( #41 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-06 11:34:30 +02:00
Adriano
1d93eded27
Ripristino delle quote già misurate nel ciclo in corso dopo un reload ( #40 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-06 11:31:57 +02:00
Adriano
70e2072b79
File di riferimento rimossi con il task, immagini animate rifiutate, filtro production_run_id ( #43 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-06 11:27:23 +02:00
Adriano
cc686129c0
feat(measure): proxy JSON per il progresso di un task (#37.8, parziale)
...
GET /measure/api/task-progress/<task_id>: il browser non puo' chiamare
/api/measurements/task-progress del backend (niente X-API-Key). Login +
stesso controllo di stazione di task_execute() (_recipe_allowed_at_station),
poi inoltra a _task_progress() con lo stesso version_id/production_run_id
gia' usato da task_list.html.
Non tocca task_execute.html: /api/measurements/task-progress risponde
con conteggi aggregati per task (quotes/measured/state), non con le
quote-per-quota misurate (subtask_id, value, pass_fail, deviation) che
`this.measurements` richiede - ripristinarlo avrebbe richiesto inventare
valori o uno stato non offerto dal backend. MANCA: mostrato in dettaglio
nel rapporto finale.
Test Flask della route: riga per il task richiesto, default a "empty"
se assente, 403 fuori stazione, propagazione 404, login richiesto.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-21 23:36:42 +02:00
Adriano
b27d56d4f7
fix(maker): l'editor task si riallinea al copy-on-write invece di 409 ( #4 )
...
Dopo il copy-on-write del backend (modifica su versione con misure ->
nuovi id per task e quote), task_editor.html teneva in memoria gli id
vecchi: il salvataggio successivo riceveva 409 "Cannot modify a
non-current version". Ogni handler di salvataggio (create/update/delete
di task e quote, reorder, upload immagine) ora ricarica la pagina su
409, mostrando un avviso dopo il reload. updateTask/updateSubtask/
addSubtask ricaricano anche su successo se l'id restituito (recipe_id
task, task_id quota) non corrisponde a quello locale - il copy-on-write
avvenuto silenziosamente.
Stringa aggiunta ai due cataloghi .po. Test: proxy Flask che verifica
il passaggio del 409 (test_maker.py), sintassi JS dello script inline
di task_editor.html con node --check (test_template_js_syntax.py).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-21 23:33:01 +02:00
Adriano
96dd8d6ea3
fix(vision): reference image sopravvive al copy-on-write (#38.6)
...
_copy_tasks_to_version non copiava le righe VisionReferenceImage del
task sorgente: il task copiato perdeva le immagini di riferimento del
grafo di visione. Ora copia le righe sul task nuovo, stesso path e
stessi metadati (stesso file su disco, non duplicato).
Di conseguenza il file va cancellato solo se nessun'altra riga
VisionReferenceImage referenzia lo stesso path: nuova
vision_service.file_still_referenced(), usata dalla route DELETE
prima di remove_reference_file.
Test: copy-on-write elenca l'immagine sulla nuova versione; DELETE di
una delle due righe lascia il file; DELETE dell'ultima lo rimuove.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-21 23:27:29 +02:00