7.4 KiB
Correzione input sessione embedded e Memory vuota
Stato
Rilascio operativo eseguito il 14 settembre 2026 alle 17:18 CEST, dopo
l'autorizzazione esplicita del proprietario al riavvio. Core e frontend sono healthy;
le nuove ammissioni sono riaperte (active: false, admissions: 0). Non risultavano
processi Pi RPC attivi prima del fermo. L'inventario resta identico: una sessione
open e una closed, entrambe non archiviate.
Il checkout operativo /srv/thothii-v2/source/ThothII è stato aggiornato in
fast-forward al commit Gitea d6cdffea629daf92cae8392eb1ebb3bb6f275f55.
Cause e correzioni
- La nuova
.thot-hostusa100dvh; Omics limita invece#rootallo spazio sotto il topbar e ne nasconde l'overflow. La prova browser riproduce controlli che terminano a 821 px con il contenitore che termina a 782 px. La shell embedded ora hamax-height: 100%, così rispetta il contenitore; il fallback alla viewport e il contratto--thoth-app-heightrestano utilizzabili. - Nell'installazione reale PostgreSQL contiene zero Memory Card e la collection
psd-clinical-memoryzero punti, senza vettore sparse BM25. Il workflow interrogava comunque embedding/Qdrant e trasformavaBM25 collection configuration mismatchinmemory_unavailable, status 503. Il recupero ora restituisce[]dopo aver verificato in PostgreSQL che l'archivio è vuoto. Gli errori dell'archivio autorevole continuano a propagarsi.memory rulescalcola il vettore soltanto se serve e lo condivide fra le due famiglie.
Nessuna migrazione, modifica di card, indice, DWH o autenticazione è necessaria.
Verifiche eseguite
- Riproduzione live:
tht memory searchrestituiva 503. - Confronto delle immagini attuale/candidata, con PostgreSQL e Qdrant reali e
montaggi read-only: attuale exit 1/status 503; candidata exit 0/
[]. La configurazione diagnostica non contiene credenziali DWH e non interroga il DWH. - 54 test Memory superati, 1 skipped, 2 deselected secondo la configurazione pytest; inclusi test PostgreSQL/Qdrant reali e regressione CLI archivio vuoto.
- 90 test frontend superati: shell host, composer, creazione e gestione sessioni.
- 5 scenari Playwright superati: sessione attiva embedded a 390/1280 px con input multilinea e apertura del dialogo di arresto; composer full dopo navigazione amministrativa; geometria host con header/rail.
- TypeScript, build frontend, Ruff sui file Python modificati,
git diff --checke scansione layout superati. Entrambe le build Docker completate; smoke della configurazione frontend superato. - Screenshot verificati in
frontend/test-results/visual-review/.
Immagini distribuite e controlli server
Le immagini candidate già collaudate sono quelle ora in esecuzione. Container core
1e71b0abd5aa e frontend 45387534e8ad avviati rispettivamente alle 15:18:43 e
15:18:49 UTC. Catalogo, Qdrant, embedding e Omics web non sono stati ricreati.
Nginx Omics è stato verificato e ricaricato per risolvere gli indirizzi aggiornati.
| Immagine distribuita | ID |
|---|---|
thothii-v2-core:49333a2d-session-memory-fix |
sha256:ff4c435abd67c57e1e91e6e560dae73e67350ca499a5aedca3ffa517b9f59ee0 |
thothii-v2-frontend:49333a2d-session-memory-fix |
sha256:35933317769f3e12953f3b144d51f8fc2e7e9f7c4830eba80cc626f757f5bf0d |
Controlli dopo il riavvio:
memory searchememory solved-searchnel core distribuito: exit 0,[].workflow-doctor:ready: true, un workspace; inventario sessioni invariato.- HTTP
/health:status: ok; tutti i servizi richiesti healthy. - Omics serve config embedded/en e asset con HTTP 200:
index-BpY9Lzwz.js,index-BhJrKSGn.css; verificata nel CSS la regola di altezza corretta. /datamart-builder/api/mesenza login continua a rispondere 403.nginx -tsuperato; reload completato; TTL manifest Django trascorso.tht status: exit 0;tht doctor --json:ok: true, 13/13 controlli passati.- Nessun errore di avvio rilevato nei log core.
Backup protetto in /srv/thothii-v2/backups/20260914-session-memory-fix
(directory 0700): operator.env, descriptor e override precedenti, archivio di data,
workspace-registry e Pi creato a core fermo, dump logico PostgreSQL e snapshot nativo
Qdrant. Elenco tar e pg_restore --list validati; tutti gli SHA256 verificati.
Le immagini precedenti restano anche con tag before-session-memory-fix-20260914.
Nessuna migrazione o modifica al DWH. Il rollback normale resta applicativo.
Comandi di rilascio e diagnostica
Il seguente launcher conserva progetto, env file e ordine degli override. Le ammissioni sono state bloccate e il core fermato prima del backup:
thoth_fix_compose() {
sudo docker compose --project-name thothii-7f901b48fe35 \
--project-directory /srv/thothii-v2/source/ThothII \
--env-file /srv/thothii-v2/operator/operator.env \
-f /srv/thothii-v2/source/ThothII/compose.yaml \
-f /srv/thothii-v2/source/ThothII/deploy/compose.server.yaml \
-f /srv/thothii-v2/source/ThothII/deploy/compose.git-ssh.yaml \
-f /srv/thothii-v2/operator/compose.portal-upstream.yaml \
-f /srv/thothii-v2/source/ThothII/deploy/psd-server-v2/generated/compose.models.yaml "$@"
}
thoth_fix_compose exec -T core node /app/backend/dist/operator-command.js maintenance-activate
thoth_fix_compose exec -T core node /app/backend/dist/operator-command.js maintenance-status
thoth_fix_compose stop --timeout 45 core
Dopo il backup è stato aggiornato esclusivamente THTII_RELEASE_IMAGE_TAG in
/srv/thothii-v2/operator/operator.env a 49333a2d-session-memory-fix, preservando
altri valori, proprietario e permessi. Avvio e reload eseguiti:
thoth_fix_compose up -d --no-deps --no-build core frontend
sudo docker exec omics_portal-nginx-1 nginx -t
sudo docker exec omics_portal-nginx-1 nginx -s reload
Il CLI legge i segreti soltanto con l'UID proprietario (10001). L'invocazione
come root viene rifiutata dal controllo di proprietà; nessun file segreto è stato
modificato. Per la diagnostica è stata usata una configurazione Docker temporanea
vuota, evitando la directory /root/.docker inaccessibile a quell'UID:
sudo install -d -m 0700 -o 10001 -g 1006 /tmp/thoth-owner-docker
thoth_fix_cli() {
sudo env DOCKER_CONFIG=/tmp/thoth-owner-docker \
setpriv --reuid=10001 --regid=1006 --groups=1006,1014,988 \
/usr/local/bin/tht --installation \
/srv/thothii-v2/source/ThothII/deploy/psd-server-v2/thothii-installation.yaml "$@"
}
thoth_fix_cli status
thoth_fix_cli doctor --json
Riapertura dopo i controlli runtime:
thoth_fix_compose exec -T core node /app/backend/dist/operator-command.js maintenance-deactivate
Rollback applicativo: ripristinare l'operator.env protetto, ricreare solo
core/frontend con lo stesso launcher, verificare e ricaricare nginx. Per riallineare
anche i sorgenti preparare il revert del solo commit d6cdffea, preservando le
modifiche successive. Non occorre ripristinare
PostgreSQL o indici per un rollback di queste due correzioni.
Accettazione interattiva
Le prove browser automatiche su input e arresto sono passate prima del rilascio; la distribuzione degli asset corretti è verificata attraverso il proxy reale. Resta da confermare il comportamento nella sessione autenticata del proprietario, ricaricando la pagina Omics. Il collaudo non ha creato sessioni workflow reali né invocato un modello generativo; non sostituisce l'accettazione interattiva completa Omics/IdP documentata nella matrice di autenticazione.