Novas instalações usarão por padrão builds do Ember CLI em Produção

A partir de hoje, todas as novas instalações auto-hospedadas do Discourse passarão a usar, por padrão, nossas compilações do Ember CLI em produção.

Temos executado essas compilações em produção há bastante tempo e elas devem ser estáveis e funcionar com todos os principais plugins. Se você encontrar algum problema e precisar desativar essa funcionalidade, edite seu app.yml e remova EMBER_CLI_PROD_ASSETS: 1.

Caso contrário, por favor, reporte qualquer bug para nós e resolveremos rapidamente.

Em um futuro próximo, todas as instalações do Discourse utilizarão as compilações do Ember CLI.

18 curtidas

Sites auto-hospedados atuais: é necessário reconstruir ou fazer uma atualização de administrador para migrar?

3 curtidas

Minha interpretação é que, para instalações existentes, você pode migrar para o uso do Ember CLI fazendo uma das duas seguintes opções:

  1. Editar o app.yml para adicionar a linha EMBER_CLI_PROD_ASSETS: 1 e, em seguida, reconstruir, ou
  2. Aguardar até “o futuro próximo”, quando se tornar o padrão, e então reconstruir.
5 curtidas

Sim, @Simon_Manning está correto — você pode ativá-lo manualmente se desejar, ou pode aguardar até que ele se torne o padrão. Estamos implementando-o gradualmente para tentar identificar todos os bugs com antecedência.

7 curtidas

Ok, eu já instalei. Tem algo que eu precise ficar de olho?

1 curtida
Browserslist: caniuse-lite está desatualizado. Por favor, execute:
npx browserslist@latest --update-db

Por que você deve fazer isso regularmente:
https://github.com/browserslist/browserslist#browsers-data-updating
1 curtida

Por favor, avise-nos se algo estiver quebrado.

4 curtidas

Você também poderia explicar o que isso envolve e por que é importante — para quem não está familiarizado com o ecossistema Ember.

9 curtidas

Olá, há alguma previsão de entrega? Obrigado.

1 curtida

Você já pode implementá-lo.

Tudo o que você precisa fazer é adicionar uma linha ao seu app.yml e reconstruir.

2 curtidas

Planejamos habilitá-lo para sites mais antigos em cerca de um mês a partir de agora.

8 curtidas

Estou super animado com essa mudança e ela é ótima para o futuro do Discourse.

Recomendo apenas o seguinte: se você estiver usando componentes de temas ou plugins de terceiros, por favor, crie uma instância de teste separada com o mesmo conjunto e verifique tudo lá antes de migrar para o Ember CLI no seu site principal.

Acabei de lançar algumas alterações significativas em um dos meus Componentes de Tema, sem as quais o site principal teria quebrado.

14 curtidas

Há mais informações aqui:

A versão resumida é: esta é a maneira oficialmente suportada de desenvolver aplicações Ember e deve facilitar a contribuição de pessoas e nossa atualização do Ember no futuro.

9 curtidas

Sim, configurei EMBER_CLI_PROD_ASSETS: 1, mas o Tema Dracula não está funcionando bem. Então removi esse recurso :frowning:

3 curtidas

Você deve postar em Dracula a Dark Theme for Discourse para que eles possam corrigir o problema.

5 curtidas

É verdade que os únicos componentes de tema provavelmente afetados por essa alteração são aqueles que contêm JavaScript do Wyeth?

Existe uma maneira fácil de fazer uma consulta para encontrar os componentes de tema que incluem JavaScript? Seja pelo Data Explorer ou uma consulta Rails? Gostaria de ter uma forma de identificar quais sites provavelmente serão impactados por isso e oferecer meu novo produto (gratuitamente, para que finalmente possa conseguir alguns testadores) para que eles instalem um ambiente de staging e realizem um teste antes de atualizar seu site de produção.

1 curtida

Isso é verdade — essa mudança no Ember CLI não afeta as partes HTML ou CSS dos temas/componentes.

Em geral, você pode identificar componentes de tema problemáticos procurando por avisos de descontinuação em amarelo no console de JavaScript do navegador, no antigo ambiente não baseado no Ember CLI. (A migração para o Ember CLI é a razão pela qual temos introduzido essas descontinuações.)

A Meta vem usando o Ember CLI há várias semanas e tem trabalhado para garantir que todos os nossos temas e plugins oficiais estejam funcionando no novo ambiente.

6 curtidas

Ok. Então, se eu fizer um pull de /admin/customize/themes.json (ou seja lá qual for o caminho real), ele terá avisos. Achamos que é provável que haja falsos negativos (ou seja, sem avisos, mas falhará ao fazer a atualização)?

Ah, e se falhar, você só precisa desativar a variável de ambiente.

Para plugins, se estou vendo avisos de descontinuação no console do JavaScript, finalmente terei que descobrir o que significam? Parece que eles estavam vindo de componentes que eu estava usando e não do meu código, mas Ember e JavaScript ainda são bastante misteriosos para mim (apesar de ter bastante código que eu, pelo menos, escrevi em grande parte).

2 curtidas

Não, os avisos de descontinuação aparecem em tempo de execução no console do seu navegador. Eles não aparecerão na API REST do tema.

Por enquanto, você pode fazer isso. Mas pretendemos tornar isso o padrão não opcional muito em breve, então a melhor solução é corrigir a causa raiz.

Sim, temo que sim. Se você acha que eles estão vindo de componentes principais ou está com dificuldade para encontrar o motivo, por favor, abra um tópico em Dev com os detalhes.

5 curtidas

Ha. Se você tiver sorte. Se não tiver tanta sorte, receberá um erro completo e uma interrupção total da execução do JavaScript. O que pode resultar em páginas em branco ou corrompidas.

Até agora, encontrei vários problemas, mas principalmente a perda de alguns atributos do objeto Discourse e, portanto, você tem que encontrar uma maneira diferente de acessar os atributos do site e do usuário. (Dica: estes são acessíveis dentro dos componentes. Você pode ver o trabalho que fiz recentemente no TLP TC)

2 curtidas