Le nuove installazioni utilizzeranno per impostazione predefinita le build di Ember CLI in produzione

A partire da oggi, tutte le nuove installazioni self-hosted di Discourse utilizzeranno di default le nostre build Ember CLI in produzione.

Abbiamo utilizzato queste build in produzione per un bel po’ di tempo e dovrebbero essere stabili e funzionare con tutti i plugin principali. Se riscontri problemi e desideri disattivarle, modifica il file app.yml rimuovendo EMBER_CLI_PROD_ASSETS: 1.

In caso contrario, segnala eventuali bug a noi e li risolveremo rapidamente.

In un prossimo futuro, tutte le installazioni di Discourse utilizzeranno le build Ember CLI.

18 Mi Piace

I siti attualmente self-hosted: è necessario ricostruirli o eseguire un aggiornamento dell’amministratore per passare?

3 Mi Piace

La mia interpretazione è che, per le installazioni esistenti, puoi passare all’uso di Ember CLI facendo una delle due cose seguenti:

  1. Modifica app.yml per aggiungere la riga EMBER_CLI_PROD_ASSETS: 1, quindi ricostruisci, oppure
  2. Attendi che nel “prossimo futuro” diventi lo standard, quindi ricostruisci
5 Mi Piace

Sì, @Simon_Manning ha ragione: puoi attivarlo manualmente se lo desideri, oppure puoi attendere che diventi l’impostazione predefinita. Lo stiamo distribuendo gradualmente per cercare di individuare tutti i bug in anticipo.

7 Mi Piace

Ok, l’ho installato. C’è qualcosa a cui devo prestare attenzione?

1 Mi Piace
Browserslist: caniuse-lite è obsoleto. Esegui:
npx browserslist@latest --update-db

Perché dovresti farlo regolarmente:
https://github.com/browserslist/browserslist#browsers-data-updating
1 Mi Piace

Fatecelo sapere se qualcosa non funziona, per favore.

4 Mi Piace

Potresti anche spiegare di cosa si tratta e perché è importante, anche per chi non conosce l’ecosistema Ember.

9 Mi Piace

Ciao, c’è una data stimata? Grazie.

1 Mi Piace

Puoi già implementarlo.

Tutto quello che devi fare è aggiungere una riga al tuo app.yml e ricostruire.

2 Mi Piace

Prevediamo di abilitarlo per i siti più vecchi tra circa un mese.

8 Mi Piace

Sono entusiasta di questo cambiamento ed è una cosa fantastica per il futuro di Discourse.

Consiglio semplicemente questo: se stai utilizzando componenti di tema o plugin di terze parti, crea un’istanza di test separata con lo stesso set e verifica tutto lì prima di passare a Ember CLI sul tuo sito principale.

Ho appena rilasciato alcune modifiche significative a uno dei miei componenti di tema, senza le quali il sito ospitante si sarebbe rotto.

14 Mi Piace

Qui trovi ulteriori informazioni:

In breve: questo è il metodo ufficialmente supportato per sviluppare applicazioni Ember e dovrebbe facilitare il contributo da parte degli utenti e l’aggiornamento di Ember da parte nostra in futuro.

9 Mi Piace

Sì, ho impostato EMBER_CLI_PROD_ASSETS: 1, ma il tema Dracula non funziona correttamente, quindi ho rimosso questa funzionalità :frowning:

3 Mi Piace

Dovresti pubblicare su Dracula a Dark Theme for Discourse in modo che possano risolverlo.

5 Mi Piace

È vero che gli unici componenti del tema probabili da rompere con questa modifica sono quelli che includono JavaScript di Wyeth?

Esiste un modo semplice per eseguire una query per trovare i componenti del tema che includono JavaScript? Un esploratore di dati o una query Rails? Vorrei poter identificare quali siti potrebbero essere interessati da questo cambiamento e offrire loro la possibilità di utilizzare il mio nuovo prodotto (gratuitamente, così da poter finalmente ottenere alcuni tester) per installare un ambiente di staging e effettuare un test prima di aggiornare il sito di produzione.

1 Mi Piace

È vero: questa modifica a Ember CLI non influisce sulle parti HTML o CSS dei temi/componenti.

In generale, puoi identificare i componenti del tema problematici cercando i messaggi di deprecazione gialli nella console JS del browser nell’ambiente precedente non basato su Ember CLI. (Il passaggio a Ember CLI è la ragione per cui abbiamo introdotto queste deprecazioni).

Meta utilizza Ember CLI da diverse settimane e abbiamo lavorato per garantire che tutti i nostri temi e plugin ufficiali funzionino nel nuovo ambiente.

6 Mi Piace

Ok. Quindi, se richiamo /admin/customize/themes.json (o qual è il percorso effettivo), ci saranno degli avvisi. Pensi che sia probabile che ci siano falsi negativi (cioè, nessun avviso ma il processo fallirà quando aggiorni)?

Oh, e se fallisce, devi solo disattivare la variabile d’ambiente.

Per le estensioni, se vedo avvisi di deprecazione nella console di JavaScript, allora dovrò finalmente capire cosa significano? Sembra che provengano dai componenti che stavo utilizzando e non dal mio codice, ma Ember e JavaScript sono ancora piuttosto misteriosi per me (nonostante abbia una serie di codice che ho almeno in gran parte scritto io).

2 Mi Piace

No, gli avvisi di deprecazione appaiono a runtime nella console del browser. Non appariranno nell’API REST del tema.

Per ora, potresti farlo. Ma abbiamo intenzione di renderlo il default non opzionale molto presto, quindi la soluzione migliore è risolvere la causa principale.

Sì, temo di sì. Se pensi che provengano da componenti core o se hai difficoltà a trovare la causa, ti preghiamo di aprire un topic nella sezione Dev con i dettagli.

5 Mi Piace

Ah. Se sei fortunato. Se non sei così fortunato, otterrai un errore completo e un arresto completo dell’esecuzione di JavaScript. Il che può comportare pagine vuote o corrotte.

Finora ho riscontrato vari problemi, ma per lo più la perdita di alcuni attributi dell’oggetto Discourse e quindi devi trovare un modo diverso per accedere agli attributi del sito e dell’utente. (Suggerimento: questi sono accessibili all’interno dei componenti. Puoi vedere il lavoro che ho fatto di recente sul TLP TC)

2 Mi Piace