Actualización del componente de tema mediante rake no funciona

Tenemos un componente de tema que instalamos mediante el comando rake. El plugin y su instalación a través del comando rake funcionan perfectamente. La actualización también funciona sin problemas cuando se realiza desde la interfaz de administración, por ejemplo, en /admin/customize/themes/40. El problema surge cuando intentamos actualizarlo desde la línea de comandos con ese comando rake. La salida es exactamente la que esperaría. Sin embargo, los cambios no se reflejan. ¿Esto parece un error?

$ rake themes:install -- '--{"discourse-login-modal": {"url": "https://github.com/example/discourse-login-modal.git", "add_to_all_themes": true}}'
discourse-login-modal: ya está instalado. Actualizando desde el remoto.

Resultados:
 Instalados: 0
 Actualizados:   1
 Errores:    0

Proporcionando más detalles del problema. Ejecutar el comando rake para la actualización no produjo ningún cambio visible en mi componente del tema, pero después de eso, la interfaz de usuario de Admin cree que la actualización se ha aplicado (se me olvidó capturar la captura de pantalla).

Después de un cambio posterior en mi componente del tema, la interfaz de usuario de Admin ahora muestra que hay una actualización disponible, pero al aplicarla, recibo esta advertencia de que mis cambios locales serán sobrescritos. Estos cambios son exactamente los que quería aplicar mediante el comando rake install, el cual no se aplicó realmente.


.

Hola @markvanlan, ¡gracias por tu trabajo en el comando rake para instalar un tema! ¿Sabrías por qué no funciona la actualización mediante rake install?

Lo revisaré un poco más adelante esta semana. No sabía que el comando rake no funcionaba.

No pude entender por qué la actualización no funciona, pero se me ocurrió una solución alternativa: agregar un comando de desinstalación. Desinstalar el tema antes de ejecutar el comando rake install parece estar funcionando.

He abierto una PR breve para verificar si este enfoque es viable: [WIP] FEATURE: Rake task to uninstall theme by chandandi · Pull Request #10138 · discourse/discourse · GitHub

¡Disculpa por no haber vuelto sobre esto!

Tengo una idea de por qué esto podría no estar actualizándose. Si tengo razón, esto debería ser una solución muy rápida.

Algo es muy extraño aquí. Cuando ThemesInstallTask actualiza un tema remoto, la información remota se actualiza correctamente (se muestra el SHA más reciente y commits_behind es 0, como notaste)

Pero el SCSS no se actualiza en la base de datos. Asumía que se trataba de un problema de invalidación de caché, ¡pero no es el caso! El SCSS en la base de datos no se está actualizando.

El valor debería ser diferente en esta captura de pantalla

Al revisar cómo el controlador de temas de administración maneja las actualizaciones en comparación con cómo la tarea actualiza los temas remotos, no veo qué es diferente.

:male_detective: :mag:

Voy a llegar al fondo de este misterio.

He llegado al fondo del problema y he creado una PR. Explico el problema en la descripción.

¡Fusionado! La actualización está solucionada.