, correção da pagina de gerar romaneio e outros fix

This commit is contained in:
2026-08-28 11:31:44 -03:00
parent c454cb8cc7
commit e778036df5
10 changed files with 282 additions and 7 deletions

View File

@@ -115,7 +115,24 @@ if [ "${RAILS_ENV:-development}" = "production" ]; then
log "assets: limpando restos e pré-compilando (public/assets)"
rm -rf public/assets tmp/cache/assets
if bundle exec rails assets:precompile; then
log "assets prontos"
# CONFERÊNCIA À PARTE, e não confiança no código de saída: sem o manifesto o
# Propshaft NÃO quebra a página — ele cai no resolver dinâmico e continua
# montando URLs com o digest certo do arquivo atual. O resultado é a pior
# combinação possível: a tela abre com aparência normal e CADA /assets/*
# devolve 404, então some o JS inteiro (prévia do PDF, carrossel, edição
# inline) sem nenhum erro no log. Foi assim em 28/08/2026: o HTML pedia
# romaneio_controller-a123ef51.js, o arquivo não existia, e como o Cloudflare
# ainda servia os controllers antigos do cache parecia defeito de dois
# arquivos — na origem, TODOS os assets estavam 404.
total=$(find public/assets -type f 2>/dev/null | wc -l)
if [ ! -f public/assets/.manifest.json ] || [ "$total" -lt 2 ]; then
log "ALERTA: precompile terminou sem erro mas public/assets tem $total arquivo(s)."
log " O site vai subir SEM JS: cada /assets/* responde 404."
log " Rode 'docker compose exec app bundle exec rails assets:precompile'"
log " e confira com: curl -sI SEU_DOMINIO/assets/controllers/index-<digest>.js"
else
log "assets prontos ($total arquivo(s) em public/assets)"
fi
else
# NÃO sai com erro: sem JS o sistema fica ruim, mas ainda dá para entrar e
# ler os dados — e um `exit 1` aqui viraria loop de reinício com o