-
b15037851b
fix(vision): /run del worker non blocca più l'event loop, timeout e semaforo (#34)
Adriano
2026-09-21 22:39:28 +02:00
-
b024724c7e
chore(release): version 3.0.0 (#38)
Adriano
2026-09-21 22:39:20 +02:00
-
1d5f24510c
fix(measurements): export CSV ammette admin senza ruolo esplicito (#36 punto 3)
Adriano
2026-09-21 22:39:10 +02:00
-
3f70f99a40
fix(async): chiamate bloccanti in asyncio.to_thread (#36 punto 1)
Adriano
2026-09-21 22:38:28 +02:00
-
78970c69b0
fix(setup): confronto costante, blocco dopo l'init, status minimale (#9)
Adriano
2026-09-21 22:38:09 +02:00
-
9afe1e712b
fix(vision): file non immagine e grafo malformato non escono più come 500 (#15)
Adriano
2026-09-21 22:37:34 +02:00
-
92f130479a
fix(auth): SECRET_KEY di default rifiutato, session.permanent, logout solo POST (#33)
Adriano
2026-09-21 22:37:23 +02:00
-
e8a8aeed66
fix(files): un Maker non cancella statistics/reports/logo, GET ristretto (#21)
Adriano
2026-09-21 22:36:49 +02:00
-
20957e517d
fix(vision): NaN/inf/bool di uno strumento non diventano più una quota (#16)
Adriano
2026-09-21 22:35:53 +02:00
-
10261b66f0
deploy(compose): volume uploads in sola lettura nel container vision (#38)
Adriano
2026-09-21 22:35:44 +02:00
-
7a21ec4e44
deploy(traefik): label Traefik v3, dominio da APP_DOMAIN, middleware anche su tmflow-api (#38)
Adriano
2026-09-21 22:35:25 +02:00
-
e91ef739af
fix(rate-limit): secchio login esteso a credenziali supervisore e setup (#8)
Adriano
2026-09-21 22:34:42 +02:00
-
1921bc3302
deploy(nginx): location statiche limitata a /static/, header ripetuti, rimossa /uploads/ morta (#38)
Adriano
2026-09-21 22:34:14 +02:00
-
67392a946c
fix(vision): worker down o in timeout non esce più come 500 nudo (#14)
Adriano
2026-09-21 22:34:06 +02:00
-
a330f2b340
fix(rate-limit): non fidarsi del primo hop di X-Forwarded-For (#7)
Adriano
2026-09-21 22:34:02 +02:00
-
1fee29358f
fix(auth): 401 dal backend svuota la sessione e segnala session_expired (#25)
Adriano
2026-09-21 22:33:40 +02:00
-
ac9bc14f5d
deploy(compose): healthcheck su server e client, depends_on condizionati (#38)
Adriano
2026-09-21 22:33:32 +02:00
-
0dce2299d0
fix(csv): neutralizza injection di formule nei campi testuali export (#22)
Adriano
2026-09-21 22:33:32 +02:00
-
d1833ba203
deploy(docker): utente non root e versioni base pinnate (#38)
Adriano
2026-09-21 22:32:18 +02:00
-
925ed196dd
fix(csrf): token valido quanto la sessione, errorhandler JSON per fetch (#12)
Adriano
2026-09-21 22:30:39 +02:00
-
48089bcba6
chore(repo): rimuove src/backend_temp/requirements.txt (#38)
Adriano
2026-09-21 22:30:20 +02:00
-
a6d555d07a
deploy(gitignore): uploads/* con eccezione .gitkeep, non più l'elenco (#38)
Adriano
2026-09-21 22:30:13 +02:00
-
ea9da34899
fix(settings): valida csv_delimiter/decimal_separator/auto_logout_minutes (#23)
Adriano
2026-09-21 22:29:35 +02:00
-
51f3fe32d4
fix(xss): dati query in x-data passano da tojson_attr, non interpolazione JS (#10)
Adriano
2026-09-21 22:29:05 +02:00
-
920ab2fb73
deploy(compose): segreti obbligatori in produzione, senza default (#33)
Adriano
2026-09-21 22:28:50 +02:00
-
7249cb8a8c
fix(spc): Cp/Cpk usa sigma within (MRbar/1.128), Pp/Ppk la stdev campionaria (#19)
Adriano
2026-09-21 22:27:06 +02:00
-
8cc5e8266a
docs: il capitolo 3 dichiara che il buco e' colmato, e dove
Adriano
2026-09-14 12:46:41 +02:00
-
665d25e574
docs: la V1 e' fatta, e due cose che la specifica dava per buone non reggevano
Adriano
2026-09-14 12:45:59 +02:00
-
401457d21f
docs: in fiera ci va anche la V2, e il grafo si compone con un editor a nodi
Adriano
2026-09-14 10:29:26 +02:00
-
4adad9ab9b
docs: il modulo di visione è un investimento Tielogic, non una voce di commessa
Adriano
2026-09-14 09:59:51 +02:00
-
f930fd98f0
docs: stato verificato della visione su V3.0.0 e specifica di cosa manca
Adriano
2026-09-14 09:18:11 +02:00
-
39a6f62089
fix(test): prima parte vuol dire tracciato, non fuori da vendor
Adriano
2026-08-17 11:02:40 +02:00
-
f20b92bafb
test(vision): la suite non lascia piu' immagini nel repository
Adriano
2026-08-16 20:28:35 +02:00
-
6bfe3a5d1a
docs(spec): registra le correzioni imposte dall'esecuzione
Adriano
2026-08-16 20:00:10 +02:00
-
5717b3e7aa
docs(readme): aggiorna il conteggio dei test, con l'ambiente in cui vale
Adriano
2026-08-16 19:49:21 +02:00
-
85d7976f4e
docs(vision): commenta perché camera resta fuori dal pattern client
Adriano
2026-08-16 19:49:21 +02:00
-
a72e3f11af
test(vision): chiude il punto cieco del confine, "Acquire" era un fantasma
Adriano
2026-08-16 19:45:00 +02:00
-
46566ebfa5
fix(vision): build fallisce senza VISION_ENGINE_VERSION, healthcheck vero
Adriano
2026-08-16 19:43:20 +02:00
-
0bd95367bb
fix(vision): limite di tipo e dimensione sui tre endpoint di upload
Adriano
2026-08-16 19:41:14 +02:00
-
38ef0587f5
fix(vision): il guasto del worker resta suo, il gate anticipa il worker
Adriano
2026-08-16 19:38:56 +02:00
-
533edc5be8
fix(vision): il grafo di visione sopravvive a copy-on-write e creazione
Adriano
2026-08-16 19:36:18 +02:00
-
3870cc3b0f
feat(vision): immagini di riferimento, per comporre senza camera
Adriano
2026-08-16 19:11:47 +02:00
-
398af016f8
test(vision): il confine fra server e VisionSuite è sorvegliato
Adriano
2026-08-16 19:03:16 +02:00
-
b86eeada86
fix(vision): il gate del fuori tolleranza vale per l'acquisizione, non per la quota
Adriano
2026-08-16 18:58:46 +02:00
-
ddf7788d77
feat(vision): il server esegue tramite worker e salva misure vere
Adriano
2026-08-16 18:40:12 +02:00
-
05f2937611
fix(vision): dichiara le dipendenze del worker, pin numerico HTTP vs runner
Adriano
2026-08-16 18:28:06 +02:00
-
71da162e1f
feat(vision): il worker che espone il runner, versione stampata al build
Adriano
2026-08-16 18:12:04 +02:00
-
9387e7c306
fix(vision): traduce in inglese docstring e commenti di test_runner.py
Adriano
2026-08-16 17:52:56 +02:00
-
0a3d1f5222
fix(vision): aggancia i test alla suite di default, skip pulito su 3.11
Adriano
2026-08-16 17:39:57 +02:00
-
c5f3366dd1
feat(vision): il runner, unica implementazione dell'esecuzione
Adriano
2026-08-16 17:28:09 +02:00
-
9546ded1e8
fix(vision): allinea la label del task_type al valore corretto dxf_compare
Adriano
2026-08-16 17:13:26 +02:00
-
b578ac9e1b
feat(vision): il grafo vive sul task, la quota nomina la sua uscita
Adriano
2026-08-16 17:10:20 +02:00
-
cb0fab8c92
chore: ignora lo scratch di subagent-driven-development
Adriano
2026-08-16 17:01:43 +02:00
-
767bede43b
docs(plan): fondamenta della visione lato server
Adriano
2026-08-16 16:42:25 +02:00
-
245975791f
docs(spec): design dell'integrazione VisionSuite
Adriano
2026-08-16 16:29:05 +02:00
-
e0f32fe8a9
docs: la scaletta di collaudo, in ordine e con i numeri già scelti
Adriano Dal Pastro
2026-07-28 22:08:40 +00:00
-
2101b9b2c9
docs: porta stato e roadmap ai fatti del 28/07
Adriano Dal Pastro
2026-07-28 22:03:40 +00:00
-
c4a429d952
feat(offline): la policy arriva dove le pagine si aprono davvero
Adriano Dal Pastro
2026-07-28 21:58:13 +00:00
-
78816dfe8c
fix(ui): una cornice sola, e smette di spostarsi sotto le dita
Adriano Dal Pastro
2026-07-28 21:41:16 +00:00
-
98b1c5ae85
feat(measure): l'operatore entra nella sequenza, non in un elenco
Adriano Dal Pastro
2026-07-28 21:31:42 +00:00
-
919ee7ac79
chore(collaudo): ricette e capoturno per la sessione di accettazione
Adriano Dal Pastro
2026-07-28 21:10:00 +00:00
-
e2aae88858
feat(measure): il fuori tolleranza si autorizza, non si chiude
Adriano Dal Pastro
2026-07-28 20:54:24 +00:00
-
5aa3d595ad
feat(recipes): la ricetta decide cosa pretendere e come si misura
Adriano Dal Pastro
2026-07-28 20:27:19 +00:00
-
bde8fafd77
feat(production): la misura torna a cercare l'operatore
Adriano Dal Pastro
2026-07-28 19:31:51 +00:00
-
6fbff2fe76
feat(tasks): il tipo di un task si dichiara, non si deduce
Adriano Dal Pastro
2026-07-28 18:15:18 +00:00
-
7bc3c1f938
feat(production): fermo linea e fine produzione fanno finalmente qualcosa
Adriano Dal Pastro
2026-07-28 17:32:43 +00:00
-
55e5e0153f
feat(production): dai una vita propria alla produzione, lato server
Adriano Dal Pastro
2026-07-28 16:20:43 +00:00
-
e7889f80a3
docs: aggiungi il documento delle modifiche del 28/07/2026
Adriano Dal Pastro
2026-07-28 15:55:59 +00:00
-
a159eb2b8b
feat(stations): ricette in lista, reset per riga e cambio stazione al volo
Adriano Dal Pastro
2026-07-28 15:42:17 +00:00
-
28ee44bcf1
feat(client): includi librerie e font in locale per il funzionamento offline
Adriano Dal Pastro
2026-07-28 15:41:57 +00:00
-
2a566321f3
fix(migrations): riparenta input_duration dopo 003_measurement_interval
V2.0.0
Adriano
2026-07-28 14:45:12 +02:00
-
d0e07b5e5f
docs(readme): aggiunge input_duration_ms e aggiorna stato test
Adriano
2026-07-28 14:41:49 +02:00
-
3f03ec8ab1
feat(measure): memorizza tempo di inserimento misura (input_duration_ms)
Adriano
2026-07-28 14:32:35 +02:00
-
edb7eb382c
Merge branch 'ui/restyling': login restyle, navbar macros, new brand icon
Adriano Dal Pastro
2026-06-11 16:09:21 +00:00
-
-
8c61a557f8
ui: redesign brand icon and fix clipped wordmark
ui/restyling
Adriano Dal Pastro
2026-06-11 16:01:08 +00:00
-
821c7c39d5
ui: restyle login, dedupe navbar with Jinja macros, touch polish
Adriano Dal Pastro
2026-06-11 15:35:53 +00:00
-
-
83f8e2d332
docs: fix pybabel extract path in CLAUDE.md (babel.cfg lives in translations/)
Adriano Dal Pastro
2026-06-11 13:07:14 +00:00
-
f3e593610b
i18n: refresh Babel catalogs, complete EN translations
Adriano Dal Pastro
2026-06-11 12:51:12 +00:00
-
fd571c479e
fix: code review — security fixes, dedup, cleanup
Adriano Dal Pastro
2026-06-11 12:16:29 +00:00
-
25a788f430
ui(measure): drop N/M prefix on task title, fix hidden directive
Adriano Dal Pastro
2026-06-05 11:52:18 +00:00
-
61c265b38b
ui(measure): move measurement/attachment indicators to card top-right
Adriano Dal Pastro
2026-06-05 10:35:45 +00:00
-
74b348988e
ui(measure): merge task/measurement counts at top, slimmer task cards
Adriano Dal Pastro
2026-06-05 10:34:07 +00:00
-
a36a37aca0
ui(measure): move "Seleziona altra ricetta" to the top of the task list
Adriano Dal Pastro
2026-06-05 10:30:09 +00:00
-
b8d04c54f7
fix(measure): hide per-task "Visualizza Task" link for non-Maker operators
Adriano Dal Pastro
2026-06-05 10:26:15 +00:00
-
34a72e6f1a
fix(measure): skip completion overlay during START, auto-advance task
Adriano Dal Pastro
2026-06-05 09:36:29 +00:00
-
4c75a32186
fix(measure): START cycle advances to next task instead of blocking
Adriano Dal Pastro
2026-06-05 09:30:52 +00:00
-
fdfe1072d8
fix(measure): supervisor modal — backspace works and fields reset
Adriano Dal Pastro
2026-06-05 09:11:31 +00:00
-
6ff78b2150
feat(roles): add dedicated Supervisor (capoturno) role
Adriano Dal Pastro
2026-06-05 09:02:24 +00:00
-
bff577b461
fix(measure): separate traceability inputs from recipe search
Adriano Dal Pastro
2026-06-05 08:48:54 +00:00
-
5cc5123a0c
fix(theme): apply per-user theme_pref on login, persist toggle to server
Adriano Dal Pastro
2026-06-05 08:32:11 +00:00
-
2eb5c51353
fix(auth): role-aware post-login landing to avoid 403 for non-MeasurementTec
Adriano Dal Pastro
2026-06-05 08:24:20 +00:00
-
b325eb3512
fix(deploy): attach prod stack to the real Traefik network
Adriano Dal Pastro
2026-06-05 08:12:20 +00:00
-
a7254d8932
fix(tasks): eager-load version in reorder endpoint to fix MissingGreenlet
Adriano Dal Pastro
2026-06-05 07:50:58 +00:00
-
d2bf0b5828
feat(maker): AI parsing schede tecniche PDF via OpenRouter
Adriano Dal Pastro
2026-05-24 11:01:00 +00:00
-
9bd605c958
feat(measure): bottone Avvio Produzione placeholder dopo primo ciclo misura
Adriano Dal Pastro
2026-05-24 07:32:48 +00:00
-
e05eb66a1c
feat(measure): timer cicalino con countdown e buzzer dopo fine ciclo misura
Adriano Dal Pastro
2026-05-24 07:22:10 +00:00
-
6bfe0a98e8
docs: aggiunge PDF richieste cliente maggio 2026
Adriano Dal Pastro
2026-05-24 06:45:26 +00:00
-
1da7e5c7af
feat(measure): rework workflow operatore — AVVIA, capoturno, fine ciclo, blocco logout
Adriano Dal Pastro
2026-05-23 15:54:37 +00:00
-
0748ce9b1e
feat: timer intervallo misura su ricetta + auto-logout per inattività
Adriano Dal Pastro
2026-05-23 14:36:02 +00:00
-
b9c767fb0c
feat(ui): rinomina Misure→Attività, textarea descrizione task, tool Testo annotazioni
Adriano Dal Pastro
2026-05-23 13:26:23 +00:00