DiscoTOC mostrando erro de tipo (TypeError)

Está me mostrando o erro abaixo. Como posso corrigi-lo?

A propósito, depois de adicionar o TOC em um tópico, preciso atualizar a página, caso contrário, o link do TOC não funciona. Esse é um comportamento normal?

1 curtida

Olá @Yt.w, obrigado pelo relatório. Não consegui reproduzir o problema que você mencionou. Você ainda observa esse comportamento? Se sim, você poderia fornecer mais detalhes sobre as etapas para reproduzi-lo?

Pelo que posso ver, atualizar a página para reconstruir o HTML é um comportamento esperado. Embora possa ser possível evitar isso, exigiria mudanças na forma como o componente funciona atualmente.

1 curtida

Olá, ainda observo esse comportamento e, na verdade, ele ocorreu imediatamente após a instalação da minha instância atual. Não fiz nenhuma alteração.

Minha outra instância não apresenta esse problema, então é bastante confuso para mim.

Do ponto de vista de UX, acredito que seja melhor evitar a atualização da página para manter o TOC ativo.

1 curtida

@Yt.w você pode me mostrar o console do seu navegador quando tiver esse erro, por favor? Expanda o erro também.


Olá, é isso que aparece no meu console

Tenho exatamente o mesmo erro em um dos três sites que estou hospedando em uma configuração multi-site, o que me leva a acreditar que uma das configurações que tenho nesse site está causando isso. Ainda não determinei qual configuração, mas quando eu a encontrar, voltarei e atualizarei a postagem, só queria adicionar que também estou vendo isso na prática na versão mais recente com testes aprovados.

É isso que está no meu console e são todas coisas que estou acostumado a ver, para o bem ou para o mal :slight_smile:

1 curtida

Obrigado, ainda estamos com dificuldades para ter uma reprodução exata, não conseguimos fazer isso acontecer em nossos sites hospedados em vários sites.

1 curtida

Isso pode ou não ser uma pista falsa, não tive tempo suficiente para investigar, mas quando removo e reinstalo o componente, consistentemente recebo o seguinte erro:

image

O número do campo muda, presumo que seja porque ele está sendo instalado como um número de componente diferente a cada reinstalação do componente. Continuarei investigando, mas isso não acontece quando faço o mesmo com quaisquer outros componentes.

Minhas suspeitas atuais são de que a falha se deve em parte ao fato de eu ter desfeito algumas alterações do S3 que fiz especificamente neste site em algum momento. @Yt.w, por acaso você também usou o S3 em algum momento na sua instalação?

2 curtidas

Tudo bem, consegui fazer o erro desaparecer e reproduzi-lo.

Resumo

  • Voltar para uma configuração do S3 que funcionava anteriormente, deletar e instalar o componente DiscoTOC resulta em uma instalação do componente sem erros.
  • Desabilitar o S3 comentando todas as diretivas do S3 no app.yml faz o erro reaparecer quando o componente é instalado, e presumo que na atualização o erro volte também.
  • Definir DISCOURSE_USE_S3: false não impede o Discourse de usar caminhos do S3, isso parece um bug ou essa configuração não faz o que eu acho que faz.

Visão Geral Detalhada

Inicialmente o que fiz foi reativar minha configuração do minio, descomentar as opções de configuração no meu app.yml, reconstruir o app, e garantir que executei a tarefa s3:upload_assets. Assim que o site voltou ao normal, naveguei para a seção de componentes. O componente DiscoTOC já instalado ainda mostrava o erro, no entanto, quando o apaguei e reinstalei, o erro não reapareceu. Durante a instalação do componente DiscoTOC, sprite.svg foi solicitado ao meu servidor S3.

Como parte da tentativa de reproduzir o problema, encontrei um problema interessante. Parece que, quando deixo todas as diretivas do S3 no meu app.yml ativadas, ou seja, não comentadas, mas defino DISCOURSE_USE_S3: false, a interface do site não carrega se o minio não estiver em execução.

Talvez DISCOURSE_USE_S3: false não seja projetado para desabilitar todo o acesso ao S3, presumo que sim pelo nome, mas claramente não faz. Assim que reinicio o serviço do minio e atualizo a página, tudo funciona bem. Também consegui desinstalar e instalar o componente DiscoTOC sem reproduzir o erro nesse estado. Parece ao menos um possível bug.

Este é o terceiro estado que me levou ao erro reproduzível.

Para que meu site funcione sem o minio rodando novamente, comentei todas as entradas relacionadas ao S3 na configuração. Depois reconstruí o app e, agora, com o minio desligado, a interface carrega sem problemas. No entanto, se eu desinstalar e reinstalar o componente DiscoTOC, o erro aparece novamente. Também tentei apenas iniciar o minio nesse estado, mas o erro voltou na reinstalação. Provavelmente porque, sem diretivas do S3 no app.yml, mesmo tentado acessar o S3, usaria valores padrão ao invés de uma configuração funcional. Ainda assim, parece que algumas imagens continuam tentando ser servidas do S3 após um posts:rebake (por exemplo, 1531a70abda0d81d1a4039b6f3fa38bea79ef0de_2_180x180.png/xl.meta)

2 curtidas

Sim, o fórum que apresentava problemas estava usando S3 (B2), enquanto o fórum que não tinha problemas não estava usando S3.

1 curtida