Actualización del componente de tema siempre instala la versión antigua (vía rake o manualmente)

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? :neutral_face:

1 me gusta

El archivo de compatibilidad instala una versión específica para instalaciones de Discourse inferiores a 3.6

3 Me gusta

¡Ups! Gracias. :grinning_face:

Aunque interesante; las cosas de Glimmer deberían ser compatibles con 3.5. Así que la portación hacia Glimmer podría estar todavía en desarrollo. Supongo que lo probaré, y tal vez lo revise en 3.6. Gracias.

Actualización: falso alarmas, se han añadido más cambios específicos de 3.6, pero la versión 3.5 soluciona las advertencias sobre la eliminación de widgets. Así que estoy contento.

PD: mover los botones (mi cambio) soluciona un error de upstream (la categoría no se detecta automáticamente). Ver aquí: