Algo muy similar a esto parece haber regresado:
Con Discourse 3.5.2, cada vez que intento instalar un componente específico (desde el código fuente), siempre instala una versión antigua del mismo. Puedo confirmarlo exportando: contiene el JavaScript antiguo. Además, en las herramientas de desarrollo del navegador, si busco un archivo, siempre muestra la versión antigua del archivo. También muestra el nombre antiguo si construyo después de haberlo cambiado en about.json.
Esto ocurre tanto si lo instalo manualmente desde GitHub en la página de Componentes, como si lo instalo desde app.yml.
De acuerdo con Install a Theme programatically, el final de mi app.yml es:
## Cualquier comando personalizado para ejecutar después de la compilación
run:
- exec: echo "Inicio de comandos personalizados"
## Si deseas establecer la dirección de correo 'From' para tu primera registración, descomenta y cambia:
## Después de recibir el primer correo de registro, vuelve a comentar la línea. Solo necesita ejecutarse una vez.
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- file:
path: /tmp/mythemes.yml
contents: |
discourse-new-topic-button:
url: https://github.com/toad/discourse-new-topic-button-theme-component.git
add_to_all_themes: true
# Repositorios antiguos: parece que necesitaremos crear uno nuevo para cada commit debido a algún caché extraño?
#url: https://github.com/toad/discourse-new-topic-button.git
#url: https://github.com/toad/discourse-new-topic-button-theme-component.git
#url: https://github.com/toad/discourse-new-topic-button-mod.git
- exec:
cd: $home
cmd: su discourse -c 'bundle exec rake themes:install < /tmp/mythemes.yml'
- exec: echo "Fin de comandos personalizados"
Y la salida es:
I, [2025-11-12T01:43:24.323446 #1] INFO -- : > echo "Inicio de comandos personalizados"
I, [2025-11-12T01:43:24.325106 #1] INFO -- : Inicio de comandos personalizados
I, [2025-11-12T01:43:24.327203 #1] INFO -- : File > /tmp/mythemes.yml chmod: chown:
I, [2025-11-12T01:43:24.327361 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:install < /tmp/mythemes.yml'
I, [2025-11-12T01:43:32.778093 #1] INFO -- : discourse-new-topic-button: instalado desde https://github.com/toad/discourse-new-topic-button.git
Resultados:
Instalado: 1
Actualizado: 0
Errores: 0
Omitido: 0
I, [2025-11-12T01:43:32.778262 #1] INFO -- : > echo "Fin de comandos personalizados"
I, [2025-11-12T01:43:32.779694 #1] INFO -- : Fin de comandos personalizados
Si no elimino el componente antes de ejecutar rebuild, muestra “Actualizado” en lugar de “Instalado”. De cualquier manera, terminamos con la versión antigua del componente.
Navegar lejos de la página, shift+recargar, etc., no hace ninguna diferencia. Moverlo a un repositorio diferente tampoco ayuda, por lo que no es un problema de caché por URL (dos de esos repositorios son iguales).
También he intentado construirlo directamente con rake dentro del contenedor.
¿Alguna idea sobre cómo podría depurar esto? Sería útil poder ver el registro de compilación, pero rake con --verbose no me da más información.
Mi configuración es ligeramente inusual (esto utiliza Docker sin root en producción, aunque este es el servidor de staging).
¿Ayuda?!
Parece que siempre construye algo antes del commit 990dec4f3e8411215122c74b2684782244eeffa2, que movió el botón de nuevo tema a soporte Glimmer, y será requerido para 3.6. Por lo tanto, esto fallará cuando actualice a 3.6; he estado intentando corregir nuestra bifurcación del componente del botón de nuevo tema, pero parece que incluso la versión original también fallará.
Una vez más, ¿qué puedo hacer para depurar esto? ![]()