Piantine pubblicate anche dopo un ripristino; posto unico senza gare
- Lo stato "Pubblicata" non dipende più dall'id del territorio, che il ripristino ricrea: l'impronta usa il numero, e la piantina ricorda il percorso del PDF pubblicato (pdf_pubblicato, con migrazione che riconosce le piantine già pubblicate). - BackupOperationState: corrente() in sola lettura e liberaCorrente() sotto lo stesso mutex di occupa(), così una lettura non cancella il puntatore di un'operazione appena avviata. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
11
HANDOFF.md
11
HANDOFF.md
@@ -84,7 +84,8 @@ Commit su `dev`, **nessuno pubblicato** (il push fa partire il deploy sulla demo
|
||||
- `056d95c` — Editor piantine: bozza automatica, un solo "Pubblica" con
|
||||
anteprima, stati Bozza / Pubblicata / Modifiche da pubblicare. Come funziona:
|
||||
[Le piantine sono una sotto-app](#le-piantine-sono-una-sotto-app-renderer-esterno-agganci-minimi).
|
||||
- Il commit successivo chiude i blocchi 2 e 3 della revisione (sotto).
|
||||
- `426a952` — blocchi 2 e 3 della revisione (sotto); le ultime due righe
|
||||
della tabella sono nel commit successivo.
|
||||
|
||||
Produzione: al 12/10/2026 non esiste ancora (il sito gira in Docker sul PC di
|
||||
sviluppo, più la demo da `dev`). Nessuna correzione una tantum da fare.
|
||||
@@ -111,22 +112,20 @@ sviluppo, più la demo da `dev`). Nessuna correzione una tantum da fare.
|
||||
| Worker ucciso dopo 10 s al riavvio | `stop_grace_period: 16m` |
|
||||
| Redis `allkeys-lru` poteva sfrattare i job in coda | `volatile-lru` |
|
||||
| Cache statica di `Setting` vecchia nel worker | svuotata a ogni job (`Queue::before`) |
|
||||
| Dopo un ripristino le piantine pubblicate risultavano "da pubblicare" (lo stato dipendeva dall'id del territorio) | impronta con il numero, non l'id; la piantina ricorda il PDF pubblicato (`pdf_pubblicato`, migrazione `2026_10_12_000020`) |
|
||||
| `corrente()` / `liberaCorrente()` potevano cancellare il puntatore di un'operazione appena avviata | `corrente()` in sola lettura; `liberaCorrente()` sotto lo stesso mutex di `occupa()` |
|
||||
| Pulsanti profilo/menu che non si nascondevano (barra che trabocca su telefono) | `.tm-btn` sta fuori dai layer di Tailwind e vince su `hidden`: si nasconde il contenitore |
|
||||
|
||||
Non cambiato, di proposito: `trustProxies('*')` (commento in
|
||||
`bootstrap/app.php`: con `real_ip` di nginx, restringerlo romperebbe HTTPS).
|
||||
|
||||
Suite: **427 test verdi**. Provati in browser in locale: file protetti (404
|
||||
Suite: **429 test verdi**. Provati in browser in locale: file protetti (404
|
||||
senza login, PDF e miniature con login), caricamento a lotti (25 PDF in 2
|
||||
lotti, `Thumbs.db` ignorato, nessun territorio toccato, posto liberato).
|
||||
|
||||
**Non provato / aperto:**
|
||||
- chiusura delle sessioni con due browser veri; coda e worker con un riavvio
|
||||
reale; modifica vertici al tocco su tablet vero;
|
||||
- dopo un ripristino le piantine pubblicate risultano "Modifiche da pubblicare"
|
||||
(l'import ricrea i territori con id nuovi): verso sicuro, basta ripubblicare;
|
||||
- `corrente()` / `liberaCorrente()` di `BackupOperationState` fanno get+forget
|
||||
senza mutex (finestra di millisecondi);
|
||||
- l'upload Livewire ha `throttle:60,1`: oltre ~1200 file al minuto qualche
|
||||
lotto riceve 429 (il browser lo segnala);
|
||||
- numeri di territorio con lettere davanti ("A12") non si abbinano da nome
|
||||
|
||||
Reference in New Issue
Block a user