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: falsenã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)