Perché l'aggiunta di ENV non modifica le impostazioni del sito lato client

Ciao @sam,

Forse sto leggendo male o sto sbagliando qualcosa?

In app.yml ho aggiunto una variabile d’ambiente personalizzata:

env:
   DISCOURSE_MY_ENV_TEST:  app

e ho ricostruito il container con un piccolo plugin personalizzato in cui ho dumpato tutte le impostazioni del sito in questo modo:

console.log(Discourse.SiteSettings);

e tutto viene dumpato correttamente nella console come previsto; ma la variabile d’ambiente personalizzata che ho impostato in app.yml non sembra finire nelle impostazioni del sito, come mi aspettavo.

Sto sbagliando qualcosa?

Il motivo per cui chiedo è che ho trovato questo argomento cercando un modo semplice per passare le variabili d’ambiente all’applicazione in modo da poterle usare nel mio plugin; e pensavo che tu stessi dicendo che possiamo farlo come descritto, aggiungendole al file app.yml, ma non funziona come previsto.

PS: Scusa per aver rispolverato questo vecchio argomento, ma sembrava la corrispondenza più vicina dopo aver cercato sul sito e ho pensato che rispondere qui potesse essere meglio che aprire un nuovo argomento.

Per far funzionare questa cosa, devi definire un plugin con l’impostazione del sito. Non passiamo semplicemente tutto dall’ENV al client in modo acritico.

Ciao Sam,

Ho capito, credo:

Quindi, in pratica, non possiamo definire una nuova variabile di ambiente nel file yml e far sì che la variabile env: venga utilizzata dalle impostazioni del sito nell’app, a meno che non creiamo un plugin a questo scopo (per aggiungere una variabile ambientale aggiuntiva per il sito, configurabile dal file yml).

È questa la corretta comprensione da parte mia?

Grazie!

Sì, se vuoi definire una nuova impostazione del sito, questa deve essere aggiunta a un plugin.