Download digitali: correzione della persistenza e consegna automatica per gli ordini precedenti

13 settembre 2026

Oggi abbiamo corretto un bug che causava la scomparsa di alcuni file di download digitale dopo gli aggiornamenti del server — e, altrettanto importante, abbiamo fatto in modo che gli acquirenti ottengano automaticamente l’accesso non appena un venditore (ri)carica un file.

Cosa è successo

Alcuni acquirenti vedevano «file not found on disk» (file non trovato sul disco) cliccando il pulsante di download in I miei download, anche se il loro ordine era pagato e la voce di download esisteva.

La causa tecnica

Il nostro servizio di gioco gira in un container Docker su ogni VPS regionale. I file caricati vengono scritti in /var/lib/erleuchtung/shop-downloads — che dovrebbe essere una cartella persistente sul server host, montata nel container.

Il mount esisteva nella nostra configurazione di sviluppo, ma mancava nel file compose di distribuzione che il nostro agente di aggiornamento installa sui nodi VPS. Di conseguenza, i file caricati venivano archiviati nel layer del filesystem del container stesso. Ogni volta che un aggiornamento ricreava il container, quel layer veniva scartato — i file sparivano, mentre i record del database (che risiedono in PostgreSQL) sopravvivevano.

Il risultato: una voce di download valida che puntava a un file non più esistente.

Cosa abbiamo corretto

  • Archiviazione persistente su tutti i nodi. La directory dei download è ora correttamente montata sullo storage host di tutti i server regionali (US, IN, EU2, SG e il nostro nodo di staging MAAS). I caricamenti sopravvivono ad aggiornamenti e ricreazioni dei container.
  • Backfill automatico al caricamento. In precedenza, l’accesso al download veniva concesso solo al momento del pagamento — e solo per i file esistenti in quel momento. Ora, quando un venditore carica un file su un prodotto, viene automaticamente concesso a tutti gli acquirenti con un ordine pagato per quel prodotto, con notifica immediata.
  • Lista download auto-riparante. L’apertura de «I miei download» ora ripara gli accessi mancanti per tutti i tuoi ordini pagati — gli acquisti passati si riparano da soli.
  • Concessione alla spedizione. Quando un venditore segna un ordine come spedito/consegnato, i file allegati vengono concessi immediatamente — i beni digitali sono dovuti alla consegna.

Cosa devono fare i venditori

I file caricati prima di questa correzione e persi durante un aggiornamento non possono essere recuperati — sono esistiti solo all’interno di un layer del container scartato.

Se hai caricato file in precedenza: apri il tuo prodotto, elimina la voce di download obsoleta e ricarica il file. Nel momento in cui carichi, tutti gli acquirenti passati riotterranno automaticamente l’accesso — nessun lavoro manuale necessario.

Una nota sulla trasparenza

Le email di notifica «spedito» che alcuni di voi hanno ricevuto menzionavano file scaricabili che in realtà non erano mai stati allegati — quel testo era la nota di spedizione del venditore, non una consegna di file. Con questa release, il pulsante di download in «I miei download» è l’unica fonte affidabile: se un file è elencato lì, esiste sul server e può essere scaricato.

Grazie per la pazienza — e un ringraziamento speciale ai membri della community che hanno segnalato rapidamente il problema.

— Il team di Erleuchtung