Fim de vida útil previsto para o sistema de renderização de widgets

Olá a todos! Como etapa final do nosso esforço para abandonar o sistema de renderização legado de “widgets”, estamos descontinuando o uso de widgets no Discourse e em breve o desativaremos completamente.

Cronograma

Estes são estimativas e sujeitos a alterações

Julho de 2025:

  • :white_check_mark: Adicionar avisos de descontinuação no núcleo e uma configuração de site experimental para desativá-los
  • :white_check_mark: Publicar anúncio no Meta

Agosto de 2025

  • :white_check_mark: Atualizar os plugins e componentes de tema oficiais para usar Componentes Glimmer.
  • :white_check_mark: Executar o Meta com os widgets desativados.
  • :white_check_mark: Habilitar mensagens de descontinuação com um banner de aviso para administradores.

Terceiro Trimestre de 2025:

  • Plugins e temas de terceiros precisam ser atualizados.

Quarto Trimestre de 2025:

  • :white_check_mark: O sistema de renderização de widgets será desativado por padrão usando deactivate_widgets_rendering: true. Haverá um curto período de tempo em que ele poderá ser reativado manualmente.

  • :white_check_mark: Remover o código legado e desativar o sistema de renderização de widgets

:police_car_light: Plugins e temas não compatíveis deixarão de funcionar corretamente após isso.

O que isso significa para você?

Se algum dos seus plugins ou temas usar APIs de ‘widget’, você precisará atualizá-los para usar APIs mais novas ou Componentes Glimmer antes do prazo do quarto trimestre de 2025.

Eu tenho plugins ou temas personalizados instalados. Preciso atualizá-los?

Você precisará atualizar seus plugins ou temas se eles usarem algum dos seguintes:

  • createWidget
  • decorateWidget, changeWidgetSetting, reopenWidget, ou attachWidgetAction
  • O componente MountWidget

:bulb: Dica Pro: Se você tiver extensões que usam alguma dessas personalizações, verá um aviso no console identificando qual plugin ou componente precisa ser atualizado.

:warning: Importante: Se você usa mais de um tema na sua instância, certifique-se de verificar todos eles, pois os avisos só aparecerão para plugins ativos e temas e componentes de tema atualmente em uso.

O ID de descontinuação é: discourse.widgets-end-of-life

Como isso se relaciona com a recente modernização do post-stream?

O post-stream foi a última parte importante do Discourse a ainda usar o sistema de renderização de widgets. Com sua modernização, agora podemos avançar com a aposentadoria completa do sistema de widgets. Dê uma olhada no guia de atualização para mais detalhes sobre essas mudanças.

Como eu atualizo?

Se você usa um plugin ou tema de terceiros: Verifique se o autor lançou uma versão atualizada que seja compatível com o novo sistema.

Se você é um autor de plugin/tema:

  • Substitua seus widgets personalizados por Componentes Glimmer
  • Use conectores de plugin-outlet para inseri-los na UI

Consulte nossos Guias do Desenvolvedor para mais informações sobre como fazer essas atualizações.

8 curtidas

Quando você atualizar sua instalação do Discourse na próxima vez, o sistema de renderização de widgets será desativado e qualquer personalização baseada em widgets não será mais renderizada.

Por enquanto, em sites incompatíveis, o administrador pode reativar o comportamento antigo modificando os valores da seguinte configuração:

  • deactivate_widgets_rendering

Esta é a fase final antes da remoção do código antigo da base de código do Discourse, o que está previsto para acontecer em cerca de um mês. Subsequentemente, não será mais possível reativar os widgets.

6 curtidas

O PR que remove o sistema de widgets do Discourse foi mesclado ontem.

1 curtida