+155
−0
Loading
Tre problemi segnalati testando su fork, tutti risolti:
1) Mancava un modo per riprendere/togliere la pausa dall'UI: il
bottone PAUSE mandava sempre un body null (nessun data-value),
quindi lato server finiva sempre su self.dev.pause(), mai
resume(), pur essendo l'API già in grado di gestire entrambi.
Aggiunto data-value="false" a PAUSE e un nuovo bottone RESUME
(data-value="true") nello stesso btn-group.
2) defaults/observation.json rinominato in snapshot_full.json: il
contenuto puntava già a "template":"snapshot" (decisione presa in
fase 2), ma il nome del file, visto dal vivo nella Library del
sequencer accanto a snapshot_imaging/snapshot_spectro, risultava
fuorviante non esistendo più un template "observation".
3) Falso toast "Operation Aborted" dopo ~12s anche a template
completato correttamente: il bottone RUN passa per il gestore
generico .btn-universal di actions.js, che usa fetchWithTimeout
col timeout di default (12s) — ma POST /sequencer/run blocca lato
server finché l'intero OB non finisce (stesso motivo per cui
postExpose in control.js usa fetch semplice). Aggiunto un
meccanismo generico data-timeout-ms="0" al contratto
.btn-universal per disattivare il timeout client-side quando serve,
applicato al bottone RUN.
Include anche due fix di correttezza trovati mentre si preparava il
commit: structure.py concatenava una lista con la stringa FITS_EXT
invece che con [FITS_EXT], che avrebbe fatto fallire ogni salvataggio
FITS con TypeError — avvolta in lista, preservando il nuovo ordine
timestamp+channel già impostato.
Co-Authored-By:
Claude Sonnet 5 <noreply@anthropic.com>
File moved.