Página de administrador apresenta anomalia após atualização para v3.5.3

Após a atualização da versão v3.5.2 para v3.5.3, a página de administração está apresentando anomalias

E está reportando o seguinte erro

loader.js:247 Uncaught (in promise) Error: Could not find module discourse/admin/models/admin-plugin imported from discourse/plugins/docker_manager/discourse/models/repo
at loader.js:247:1
at a (loader.js:258:1)
at s.findDeps (loader.js:168:1)
at a (loader.js:262:1)
at s.findDeps (loader.js:168:1)
at a (loader.js:262:1)
at requireModule (loader.js:24:1)
at n.i [as getRoute] (index.ts:121:18)
at p._getQPMeta (index.ts:101:20)
(anonymous) @ loader.js:247
a @ loader.js:258
(anonymous) @ loader.js:168
a @ loader.js:262
(anonymous) @ loader.js:168
a @ loader.js:262
requireModule @ loader.js:24
i @ index.ts:121
_getQPMeta @ index.ts:101

Desabilitar os plugins fez com que voltasse ao normal, mas não consigo identificar qual plugin está causando o problema. Você pode dar uma olhada, por favor?

O problema ainda existe quando a opção “Desabilitar personalizações de plugins de clientes não oficiais” está ativada no Modo de Segurança, mas funciona corretamente quando “Desabilitar todas as personalizações de plugins de clientes” está ativada.

3.5.3 não é mais compatível. Consulte https://releases.discourse.org.

1 curtida

Como o Nate disse, essa é uma versão bem antiga agora. Talvez tente uma atualização pela linha de comando.

1 curtida

Qual versão você recomenda atualizar? A atualização por muitas versões pode causar mais problemas de compatibilidade?

A atualização direta para a 2026.1.1 falhou

1 curtida

Verifique seus /logs em busca de mensagens suspeitas.

2 curtidas

Se a atualização da web falhar, você precisa usar ssh para fazer login como root e realizar uma atualização pela linha de comando.

Você pode tentar uma reconstrução pela linha de comando como a resposta acima sugere? Isso provavelmente resolverá o problema, nunca vi um problema de saltos de versão.

1 curtida

Qual é o comando específico? Meu serviço é empacotado em uma imagem Docker e implantado no cluster K8s de um servidor remoto. Estou usando a implantação no modo web_only.

Além disso, ao ocorrer um erro na página de administração, o seguinte erro é exibido:

Vá para onde você instalou o Discourse e digite ./launcher rebuild app - onde quer que o discourse_docker esteja. Eu acredito que /var/discourse é o lugar “recomendado” para colocar o script, mas pode ser diferente para você.

Isso não é compatível. Você precisará fazer algo para carregar a imagem mais recente. Você precisará migrar o banco de dados. Geralmente, não há problema em atualizar várias versões.

3 curtidas

Parece que a migração do banco de dados falhou. Recebi o seguinte erro.

TOP => db:migrate => assets:precompile:asset_processor │
│ full trace by running task with --trace) │
│ executing /etc/runit/1.d/00-ensure-links │
│ executing /etc/runit/1.d/01-cleanup-web-pids │
│ executing /etc/runit/1.d/anacron │
│ executing /etc/runit/1.d/cleanup-pids │
│ stale PID files │
│ executing /etc/runit/1.d/copy-env │
│ runsvdir, PID is 1126 │
│ aborted! │
│ pnpm -C=frontend/asset-processor node build.js (Discourse::Utils::CommandError) │
│ Failed to switch pnpm to v10.28.0. Looks like pnpm CLI is missing at “/home/discourse/.local/share/pnpm/.tools/pnpm/10.28.0/bin” or is incorrect │
│ /home/discourse/.local/share/pnpm/.tools/pnpm/10.28.0/bin/pnpm EACCES

Ao verificar o caminho específico do pnpm, descobri que o caminho existia, mas o arquivo pnpm.cjs não tinha permissão de execução, o que causou o erro.

drwxrwxrwx root root /
drwxr-xr-x root root home
drwxr-x— discourse discourse discourse
drwxr-x— discourse discourse .local
drwxr-x— discourse discourse share
drwxr-x— discourse discourse pnpm
drwxr-x— discourse discourse .tools
drwxr-x— discourse discourse pnpm
lrwxrwxrwx discourse discourse 10.28.0 → 10.28.0_tmp_9_0
drwxr-x— discourse discourse 10.28.0_tmp_9_0
drwxr-x— discourse discourse bin
lrwxrwxrwx discourse discourse pnpm → ../node_modules/pnpm/bin/pnpm.cjs
drwxr-x— discourse discourse ..
drwxr-x— discourse discourse node_modules
drwxr-x— discourse discourse pnpm
drwxr-x— discourse discourse bin
-rw-r----- discourse discourse pnpm.cjs

Posteriormente, ao pré-instalar a versão correspondente do pnpm usando corepack na imagem, a migração do banco de dados foi bem-sucedida. O serviço está funcionando normalmente agora.

1 curtida