Mensagem pop-up e problema de personalização de texto após atualização

Atualizei há alguns dias. Após a atualização, encontrei um problema.

Se o “locale padrão” estiver em inglês, não há problema. A mensagem pop-up é exibida com sucesso, mas em outros idiomas você encontra problemas.
Não consigo alterar alguns textos relacionados à seção de chat. Aliás, tentei e consigo fazer alterações em outras partes. Não tenho certeza se este problema está relacionado apenas à parte do chat ou se existem outras áreas também.
Enfrentei o mesmo problema, quer eu tenha feito a atualização pela interface ou com o comando.
Tentei novamente hoje. Desinstalei tudo e fiz uma instalação limpa.
Tenho uma instalação limpa e nenhum plugin ou componente está instalado.

Versão: 3.1.0.beta2 -(6fa9a8990d)

Alguma ideia, por favor?



1 curtida

Acabei de executar isso no meu site de teste e consigo reproduzir o problema. Eu não atualizava meu site de teste há algum tempo e na versão f19044af6a funcionou bem, mas atualizar para a versão mais recente 39be3cb619 apresentou o mesmo comportamento relatado.

Meus passos:

(Versão f19044af6a)

  • Definir default locale para ‘Español’
  • Definir chat dm retention days para ‘30’
  • Ir para /admin/customize/site_texts e editar js.chat.retention_reminders.dm
  • Atualizar e verificar a mensagem com um novo usuário de teste:

Atualizar para 39be3cb619

  • A mensagem existente tem o valor do parâmetro bruto:

  • Ir para /admin/customize/site_texts e editar js.chat.retention_reminders.dm agora gera um erro 500 com isto nos logs:

Message (4 cópias relatadas)

NoMethodError (undefined method `scan' for {:one=>"Personal chat history is retained for %{count} day.", :other=>"Personal chat history is retained for %{count} days."}:Hash

    keys = text.scan(pattern)
               ^^^^^
)
lib/i18n/i18n_interpolation_keys_finder.rb:6:in `find'
app/models/translation_override.rb:124:in `check_interpolation_keys'
app/models/translation_override.rb:65:in `upsert!'
app/controllers/admin/site_texts_controller.rb:88:in `update'
app/controllers/application_controller.rb:414:in `block in with_resolved_locale'
app/controllers/application_controller.rb:414:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:74:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:369:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:228:in `call'

Backtrace

lib/i18n/i18n_interpolation_keys_finder.rb:6:in `find'
app/models/translation_override.rb:124:in `check_interpolation_keys'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:400:in `block in make_lambda'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:199:in `block (2 levels) in halting'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:687:in `block (2 levels) in default_terminator'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:686:in `catch'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:686:in `block in default_terminator'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:200:in `block in halting'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:595:in `block in invoke_before'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:595:in `each'
3 curtidas

E não há como corrigir essa situação apenas pela interface do usuário @JammyDodger?

1 curtida

Tenho quase certeza de que uma solução semelhante a Cannot update text for js.composer.error.post_length - #2 by gerhard funcionará.

3 curtidas

Acho que é um pouco diferente do que está no link que você mencionou. Você vê o problema se sua localidade padrão não for inglês e se você alterar "chat dm retention days" de 0 para x dias.
Além disso, a solução que você mencionou não funciona, você não pode alterar o texto (js.chat.retention_reminders.dm) mesmo no modo de segurança. Há um Erro 500 quando você tenta alterar.

2 curtidas

Tentei de algumas maneiras, mas não consegui redefini-lo e me deixar entrar novamente para alterá-lo manualmente. Verificando novamente agora, o texto voltou ao seu texto padrão, mas com a variável bruta (portanto, nenhuma opção de ‘reverter’ disponível) e tentar editar manualmente gera o erro 500. Também tentei a solução alternativa do modo de segurança para o outro tópico, que não pareceu ter nenhum efeito.

Pesquisar por js.chat.retention_reminders.dm no local Inglês (Reino Unido) me dá três opções, mas em Espanhol ele oferece apenas duas.

2 curtidas

Atualizamos as traduções, portanto, após atualizar seu Discourse para a versão mais recente, você poderá corrigir isso na interface do usuário:

Você pode corrigir sua string personalizada acessando Personalizar –\u003e Texto:

  • Procure por “js.chat.retention_reminders.dm”
  • clique em “editar”
  • clique em “reverter alterações” e confirme a pergunta com “sim”
  • clique em “voltar para a pesquisa”
  • Procure por “js.chat.retention_reminders.dm”
  • Você verá 3 resultados, personalize essas strings ao seu gosto
7 curtidas

Desculpe pelas más notícias…

1 curtida

Você conseguiu reverter a string personalizada “js.chat.retention_reminders.dm”? Gostaria de fechar este bug se isso o resolveu para você.

Bem, o problema nº 2 é culpa minha. Eu vou consertar isso. FIX: Wrong interpolation key by gschlager · Pull Request #20374 · discourse/discourse · GitHub

O problema nº 1 é um problema diferente. Você se importaria de criar um novo relatório de bug para isso?

4 curtidas

Claro, estou criando agora mesmo :+1:

1 curtida

Este tópico foi fechado automaticamente 24 horas após a última resposta. Novas respostas não são mais permitidas.