Al parecer nos faltan 25 iconos en comparación con la última versión (4.29.0), pero tampoco vi copos de nieve.
Existe un fork de Feather en Icons – Lucide
Habrá que ver si podemos integrarlo o no.
Hay más opciones en este fork

Acabo de encontrarme con esto y parece estar mejor mantenido en comparación con Feather.
A ver si realmente podemos reemplazar Feather por Lucide sin (demasiados) problemas.
@pierre-gilles ¡hola!
Estoy mirando el reemplazo de Feather por Lucide.
Vi en este post (que ya tiene un tiempo) que no te planteaba ningún problema en particular, ¿sigue siendo el caso?
Ahora Lucide tiene una webfont:
Si todo está bien, he comenzado el cambio con la ayuda de Claude y necesito tus consejos para seguir en la dirección correcta.
Además de la modificación de los nombres de los iconos que pueden diferir (y, por lo tanto, el script de migración), ¿cambiamos la clase fe en todas partes de Gladys como a continuación como sugiere Claude, o modificamos lo mínimo para limitar el impacto (manteniendo las fe, solo cambiando las referencias en dashboard.css)?
He realizado una migración completa para estar lo más limpio posible en el tema y en Gladys, aquí están las PR:
¡En espera de revisiones y ajustes por mi parte!
Replace feather by lucide by smuteau · Pull Request #4 · GladysAssistant/theme-optimized · GitHub
Replace Feather webfont by Lucide webfont by smuteau · Pull Request #2485 · GladysAssistant/Gladys · GitHub
También he añadido el archivo de LICENCIA de Lucide.
@pierre-gilles dime qué opinas.
He dejado los scripts de migración en el repositorio del tema para que puedas analizar lo que se ha hecho en los 2 repositorios.
Hay un informe de lo que se ha realizado:
Quedan 6 ocurrencias dinámicas para verificar manualmente, admito que no sé exactamente a qué corresponden:
He eliminado los archivos .backup creados por el script
El script de migración ha creado archivos de backup en el repositorio de Gladys (lo que añade más archivos).
Si todo está bien en cuanto a la migración para ti, podremos limpiar (código de Claude):
# Eliminar los archivos .backup
find . -name "*.backup" -delete
find ../Gladys/front/src -name "*.backup" -delete
# Eliminar la antigua carpeta Feather
rm -rf fonts/feather
Lo que no sé hacer es probar el front en mi máquina para validar, no he encontrado el login/pwd adecuado ![]()
Puedes ejecutar solo el front en modo demo con el comando
npm run start-demo
desde la carpeta front
Sí, debe ser normal, es un icono añadido en código (seguramente svg) ¡no me acuerdo exactamente dónde está colocado!
Acabo de terminar el cambio de Feather a Lucide, no es una tarea fácil cuando empiezas ![]()
@pierre-gilles tendrás que validar la PR de theme-optimized (versión 1.0.5):
Reemplazado por https://github.com/GladysAssistant/theme-optimized/pull/5
Replace feather by lucide by smuteau · Pull Request #4 · GladysAssistant/theme-optimized · GitHub
para que luego la PR de Gladys pueda avanzar, ya que depende del nuevo theme-optimized:
En cuanto a theme-optimized, se instalaron las webfonts y los nombres de las iconos Feather se renombraron si era necesario, y se añadieron las iconos Lucide en el dashboard.css.
Hay una pequeña diferencia visual en algunas iconos, puede que sea necesario gestionar algunos casos en el css del tema si es necesario:
- añadir un
display: inline-blockyvertical-align: -0.125empara que las iconos estén mejor posicionadas y que el texto+valor/botón se desplace hacia la izquierda (mejor visual) - aumentar el tamaño de las iconos
signalafont-size: 1.25rem
En cuanto a Gladys, hubo muchas modificaciones:
- reemplazar las clases
fe fe-poricon-recuperando los nuevos nombres si es necesario - actualizar las clases con iconos dinámicos:
<i class={`fe ${TRIGGER_ICON[...]}`} /> -> <i class={TRIGGER_ICON[...]} />
<i className={`fe fe-${props.icon}`} -> <i className={`icon-${props.icon}`}
etc.
- actualizar los cx() simples y dinámicos:
cx('fe', 'fe-x-square', styles.iconUnselectAll) -> cx('icon-square-x', styles.iconUnselectAll)
cx('btn btn-sm btn-secondary', 'fe', 'fe-pause', { -> cx('btn btn-sm btn-secondary', 'icon-pause', {
etc.
- eliminar los
import cxque ya no son necesarios - reemplazar el icono svg para el
signal(LQI) por la webfont Lucide con ajuste de tamaño en dashboard.css que era demasiado pequeña para mi gusto. NOTA: no he eliminado los archivos referentes a los svg. - añadir varias iconos en el selector de iconos para las escenas, pasamos de aproximadamente 260 iconos a 470. Se pueden añadir/eliminar, tengo una lista completa de los nombres. Y para @Will_71, hay copos de nieve para tu termostato

- actualización para el modo oscuro
- una tipografía corregida para
day.weather_iconque debía serday.weatherIcon - modificación de la versión de theme-optimized en el
package.jsonde/front.
Espero que todo esté bien y disponible para preguntas ![]()
¡Ah, qué avance tan tonto pero tan agradable, me parece!!
Hola @mutmut,
Gracias por la PR ![]()
Aún no he revisado el código en detalle, pero se me ocurren algunas preguntas:
- ¿Has previsto la migración de las escenas existentes?
- Con 470 iconos, ¿sigue siendo fácil de usar la vista de selección de iconos en las escenas?
- ¿Lo has desarrollado tú mismo o con la ayuda de una IA? Si es así, ¿qué modelo has utilizado?
¡Gracias!
Hola @pierre-gilles
Pues no, porque no he pensado en absoluto en eso.
Por otro lado, ¿de qué iconos hablas? ¿Los que están encima del nombre de las escenas o de otros de los que no tengo conocimiento?
Aún es bien utilizable. Intencionalmente puse un máximo de 500 cuando le pedí a Claude que hiciera una selección para los iconos adicionales.
Y, por lo tanto, me hice ayudar por la aplicación Claude en mac, modelo Sonnet 4.6, reiterando varias veces la búsqueda de los « fe ».
Deben ser los iconos guardados en la base de datos para cada escena ya creada
pues sobre eso no tengo ni idea de cómo hacerlo ![]()
En el sitio de demostración, en las escenas hay una que tiene una campana, y después de cambiar la webfont, la campana seguía allí.
Debería intentar reemplazar la campana con alert-triangle que cambia de nombre a triangle-alert (o al revés) para ver qué pasa.
EDICIÓN: al final no es un buen ejemplo porque la campana está definida en el demo.js:
Acabo de limpiar la migración de theme-optimized con el script de migración y los informes, @pierre-gilles aquí está la PR:
Voy a intentar hacer lo mismo para reemplazar los fe en el repositorio Gladys en primer lugar para que sea más claro y reproducible, a diferencia de mis pasos que he podido realizar. Luego intentaré hacer el script de migración de iconos de escenas.
@mutmut no estoy seguro de que estemos hablando de lo mismo ![]()
Las escenas se registran en la base de datos, y si queremos pasar de Feather a Lucide, hay que codificar en Gladys una migración de base que vaya a convertir todos los antiguos nombres de iconos a sus nuevos nombres… Pero es bastante técnico, lo sé ![]()
sí, sí, hablamos de lo mismo.
Le pregunté a esta querida IA si los iconos se almacenaban en la base de datos y la respuesta fue afirmativa, en la tabla t_scenes de memoria.
Por lo tanto, voy a buscar un script limpio que reemplace en los archivos Gladys, y un script para reemplazar los iconos en la base de datos.
Pero primero, habría que validar theme-optimized cuando tengas un momento
Hola @pierre-gilles
¿Crees que podemos (bueno, tú sobre todo
) retomar este desarrollo?
Un poco de Fable y de Cursor y listo ![]()
¡Hola!
El 100 % de mi tiempo disponible lo dedico a las integraciones externas en este momento
Creo que ahí es donde tengo el mayor impacto.







