Paleta de cores não funciona para tema personalizado após atualização

Após a atualização para a versão 3.4.0, nosso tema não está mais recebendo as definições de cores da paleta de cores selecionada. Vejo um arquivo CSS que deveria conter definições de cores, mas ele retorna vazio quando nosso tema está ativo.

Portanto, nenhuma cor é definida e a cor de fundo de qualquer janela pop-up fica transparente, o que torna o site inutilizável. Estamos usando temporariamente o tema Light padrão como uma solução alternativa.

Tentei tudo o que pude pensar. Por exemplo:

  • Criar manualmente a paleta de cores
  • Desinstalar e reinstalar o tema
  • Muita tentativa e erro no fórum ativo e em um fórum de staging

Nosso tema é instalado a partir de um repositório git. Por um breve período, conseguimos fazer o fórum ficar bom restaurando uma cópia de desenvolvimento antiga do tema (não de um repositório git), mas na próxima vez que reiniciamos o Discourse, ele quebrou novamente.

No fórum de staging, quando desinstalei e reinstalei o tema, isso pareceu corrigir o problema. Mas desinstalar e reinstalar no fórum ativo não ajudou.

Quando mudo para um tema padrão como Light ou Dark, a paleta de cores funciona bem, posso ver todas as cores definidas naquele arquivo CSS.

O que pode causar o retorno vazio das definições de cores para o nosso tema? Alguma ideia de como corrigir?

Isso parece uma causa potencial do problema. Nosso tema tem uma configuração que armazena o conteúdo de nossa página “sobre”. Não acho que tivemos um erro de compilação SCSS antes de atualizar para o Discourse 3.4.0. Talvez algo tenha mudado na compilação do sass e agora seja mais rigoroso?

Mas o problema parece ocorrer quando o Discourse inicia. Se eu apenas editar o conteúdo nessa configuração de tema, não haverá erro SCSS registrado. Se eu reiniciar o Discourse, o erro SCSS ocorre e o arquivo CSS de definições de cores fica em branco novamente.

Aqui está o código no tema que usa essa configuração, em um arquivo hbs. O conteúdo na configuração é apenas HTML.

<div class="about-description-content">
	{{{theme-setting 'content_about_main'}}}
</div>
1 curtida

Movi o HTML de uma configuração de tema para diretamente no arquivo hbs e isso parece ter resolvido o problema. Não tenho certeza por quê, mas o Discourse 3.4.0 não gosta disso na configuração do tema.

1 curtida

Você provavelmente precisa adicionar um helper aqui:

{{html-safe (theme-setting 'content_about_main')}}

Parece provável. Existe alguma documentação sobre esse helper html-safe em algum lugar para que eu possa ver o que ele faz? Tentei pesquisar no Google e não consigo encontrá-lo.

Aqui está https://api.emberjs.com/ember/5.12/functions/@ember%2Ftemplate/htmlSafe

1 curtida

Ah, obrigado. Eu havia estado procurando na documentação do handlebars em vez do ember.

1 curtida

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.