Estamos atualizando nossos ícones para Font Awesome 6!

3 posts foram divididos em um novo tópico: Problema com novos ícones Fontawesome 6 em componentes de tema

@awesomerobot Segui as instruções do seu post com o melhor das minhas (limitadas) habilidades e estou encontrando várias coisas, apenas uma delas tem a ver com a mudança nos ícones do Font Awesome, eu acho. Mas vamos lidar com isso aqui.

Aqui está uma captura de tela do que está acontecendo no console:

Focando no aviso de Depreciação, parece que o ícone “search” é um problema, com o novo ícone chamado “magnifying-glass”. Uma busca por “search” na função de busca das ferramentas do desenvolvedor retorna (sem surpresa) muitos resultados - (6.504 linhas correspondentes em 278 arquivos) - e eu realmente não consigo ver a floresta por causa das árvores. Mas posso dizer que NÃO HÁ NADA como os resultados exibidos no seu post original, parágrafo 3!

Suas sugestões de como rastrear o componente que causa esse problema seriam muito bem-vindas!

Postarei sobre o problema do emberjs em outro post mais tarde.

Obrigado - o Discourse normalmente é uma brisa, mas isso me deixou perplexo.

2 curtidas

Olá @PatrickF

Você tem o Advanced Search Banner instalado por acaso?

Se sim, você pode verificar se o componente está atualizado?

Posso ver que ele foi atualizado há um mês:

5 curtidas

Ah sim, isso não é ideal :sweat_smile:

Se você desativar os sourcemaps de JS e CSS, isso pode ajudar a reduzir o número de arquivos nos resultados. Então você pode procurar por quaisquer resultados especificamente em temas.

4 curtidas

Ah, nós realmente temos o banner de pesquisa instalado - e ele foi personalizado por alguém há um tempo. Vou verificar isso agora.

Bom ponto, obrigado!

Editar para adicionar:

OK, vejo que precisamos de uma nova linha em <search-icon.gjs>:
@icon="magnifying-glass"

Baixei este arquivo exportando o componente - mas como faço para carregar o arquivo com as alterações?
(Acho que não posso, já que nossa comunidade Discourse é hospedada pelo Discourse, certo?)

Também não vejo um botão de atualização em nenhum lugar no Discourse - devo reinstalar o componente?

4 curtidas

Você pode instalar componentes de tema personalizados na maioria dos planos de hospedagem

2 curtidas

Obrigado, li toda a documentação vinculada várias vezes.

Não vejo um botão de atualização em lugar nenhum, conforme a postagem de @Arkshine:

Meu painel de Componentes se parece com isto:


O único botão nesta página é Instalar, mais abaixo. Presumivelmente, se eu reinstalar o tema, toda a nossa personalização será substituída.

Agradeço que eu esteja (provavelmente) parecendo um pouco denso aqui :joy:, mas o que vejo no Discourse meta não parece ser refletido no que vejo em nossa instância do Discourse.

Obrigado pela sua paciência.

2 curtidas

Parece que você fez o upload manual de uma versão modificada do componente de tema original.
Você veria um botão se ele tivesse sido instalado a partir de um link de repositório do GitHub. (O autor também seria Discourse)

Sim, você tem que reinstalar o componente atualizado. Você pode usar o botão “Editor de Configurações” para exportar/importar suas configurações.

Você se lembra de quais personalizações você fez? Se for apenas CSS, recomendo que você use a versão oficial e adicione personalizações de CSS ao seu tema ou a um componente de tema separado. Dessa forma, você sempre receberá a última atualização.

5 curtidas

@Arkshine, @Moin - obrigado pela ajuda.

Excluí o tema existente e reinstalei do repositório do GitHub e tudo está bem. O site está como antes, e o aviso sobre o FontAwesome desapareceu. E o tema será atualizado automaticamente a partir de agora.

Obrigado novamente!

4 curtidas

Discurso atualizado.
Ainda assim, este aviso está aparecendo.

Nenhum tema/plugin mostrando aviso de atualização.
Há mais alguma coisa que precise ser feita?

1 curtida

Verifique os logs. Acho que mostra qual ou quais ícones estão usando o nome antigo. Se for um daqueles que podem ser alterados por um administrador, isso não mostra o nome desse componente.

2 curtidas

Muito obrigado @Jagster
Encontrei este log do console

Deprecation notice: The icon name "undo" has been updated to "arrow-rotate-left". Please use the new name in your code. Old names will be removed in Q2 2025. [deprecation id: discourse.fontawesome-6-upgrade] [info: https://meta.discourse.org/t/325349]

Mas não tenho certeza de onde atualizar este ícone.

1 curtida

Você pode confirmar primeiro que todos os seus plugins/componentes estão atualizados?

2 curtidas

Sim, todos estão atualizados.
Acabei de atualizar ontem.

2 curtidas

Com o modo de segurança, você pode descobrir se é de um plugin ou de um componente de tema?

2 curtidas

Entendo que as renomeações são impostas por um projeto upstream fora do seu controle, mas por que os mapeamentos de compatibilidade não podem ser deixados lá para sempre? Que mal eles fazem?

Alguém que trabalha no Discourse ou em suas dependências entende o conceito de uma API publicada que é usada por outras pessoas?

Você não quebra uma API a menos que haja uma razão muito boa para isso. Os nomes de coisas vistas apenas internamente por desenvolvedores não serem completamente perfeitos de acordo com os caprichos de alguém não é uma razão suficiente para quebrar o código de outras pessoas.

Estou realmente cansado da quantidade de trabalho necessária apenas para manter as coisas existentes funcionando com o Discourse. Estaria tudo bem se houvesse uma melhoria que mudasse o mundo para justificar o tempo e o incômodo a cada vez, mas nunca há. Parece que as alterações que quebram estão sendo feitas por motivos mesquinhos, sem consideração pelo tempo e pelo incômodo que causam a outras pessoas.

4 curtidas

Desculpe pela frustração, tentamos tornar essas atualizações fáceis e fornecer meses de tempo para realizá-las — mas sempre há uma troca. Se mantivéssemos remapeamentos indefinidamente, já teríamos várias camadas deles de V4 → V5 → V6 e isso seria uma dívida que exigiria seu próprio entendimento e manutenção. Se fizéssemos isso para cada trecho de código, o Discourse seria muito maior e mais difícil de entender e trabalhar.

Sim, é por isso que fornecemos avisos de depreciação e instruções para atualização. Não estamos apenas atualizando um arquivo e passando todo o trabalho adiante — toda vez que fazemos uma atualização como essa, precisamos escrever documentação, sistemas de aviso e atualizar centenas de temas, componentes de tema e plugins nós mesmos. Para atualizações do Ember, nossos engenheiros criaram sistemas totalmente novos para tornar as personalizações legadas possíveis.

Até mesmo empresas de software muito maiores atualizam suas APIs de maneiras que quebram a compatibilidade. Tive que atualizar nosso componente Google Fonts pelo menos 2 vezes devido a mudanças na API, e o Google vale algo em torno de dois trilhões de dólares. Todos os serviços de autenticação com os quais integramos para login nos obrigaram a atualizar devido a mudanças na API.

Se você não tem tempo para manutenção ocasional, recomendo reduzir ao máximo a quantidade de personalização. Se você usar temas/componentes/plugins prontos para o Discourse, na maioria das vezes nós os atualizaremos gratuitamente.

Você também pode evitar atualizar o Discourse, mas tudo sempre muda e você eventualmente enfrentará novos problemas de segurança ou de compatibilidade com o navegador. Toda opção tem custos e trocas.

9 curtidas

E, no entanto, um programa escrito para o Windows 95 ainda pode ser usado, sem modificações, 30 anos depois. Portanto, é possível.

Só porque outras empresas pegam o caminho mais fácil não significa que você tenha que fazer o mesmo. É uma escolha.

É uma escolha limitada pela operação na realidade, que vem com muitas concessões em torno de tempo e orçamento. Não precisamos nos desviar para um tangente de “tudo é tecnicamente possível”.

Dito isso, a coisa boa sobre o Discourse é que ele é gratuito e de código aberto — então, se você quiser executar uma versão de 1 ou 10 anos atrás, certamente poderá fazer isso, é apenas provável que crie mais problemas do que resolveria.

3 curtidas

Obrigado @Arkshine
A notificação desapareceu automaticamente.
Hoje encontrei-a novamente, depois verifiquei o console do navegador e encontrei o nome dos ícones e, após atualizá-los, a notificação desapareceu.

4 curtidas