Antes de nada, es posible que veas cosas que no se ven o no aparecen. Eso es porque está realizado, pero no publicado. La idea es tener un control de todas las acciones realizadas. Cuando se publiquen las páginas/apps, se actualizará para añadir los enlaces correspondientes.
2026/mayo/09
- Mis discos:
- Mejoras en el código gracias a las recomendaciones de React Doctor para subir del 91 al 100 (o lo más cercano):
- Reestructurar algunas funciones
setpara utilizar actualizaciones funcionales y mejorar la gestión del estado (usar prev) - Los «…» parece que no les gustan a los puristas de diseño de código, pero es entendible para que no se confundan con las uniones. Así que en acciones como Cargando o Recargando, se añadirá la forma tipográfica de ellipsis «…».
- Se eliminan funciones y exportaciones no usadas.
- En la función de Banderas de Países, para los emojis, se cambia .map().filter() por .flatMap() para hacerlo todo de golpe.
- Cambiando un par de useEffect por varios setState dentro. Se cambia a useReduces o a un estado derivado.
- Se añaden algunas mejoras a los index de algún bucle como para skeletons y apartados sin importancia.
- Reconstrucción entera de Discs, DiscList y FilterSection para no poner un kilo de atributos y hacer prop drilling hacia abajo. Se pasan a componentes compuestos y uniendo cosas para más simpleza en el código.
- Se optimizan un par de custom hooks que pillé en su día para obtener datos. Añadir useCallback para optimizar.
- Cambiando un
[...array].sort()porarray.toSorted(). - El componente Discs es un poco largo (300 líneas) y lo he dividido en mini funciones para mejorar la lectura y reducir el fichero.
- Reestructurar algunas funciones
- Mejoras en el código gracias a las recomendaciones de React Doctor para subir del 91 al 100 (o lo más cercano):
2026/mayo/08
- Mis discos:
- Se reduce de 50 a 25 discos por páginación para que la carga sea más rápida.
- Se elimina src_set y sizes de las imágenes para usar una sola imagen tanto para móviles como para desktop.
- General:
- Se reconfigura la caché de Redis para que funcione mejor para las dimensiones de este sitio.
- Se configura el uso de caché de Objectos para la caché de WPGraphQL.
2026/mayo/05
- Best by year:
- He descubierto que existe @wordpress/dataviews y cómo usarlos. Me lo he leído (la mitad) y me he agobiado. Se lo he chutado entero a Cursor y nos hemos (él solo, yo miraba) puesto a pasar las diferentes tablas del plugin personalizado sobre los discos más escuchados por años. Buah.
- Las vistas que han sido cambiadas a DataViews son:
- Todos los discos
- Discos sin años
- Discos escaneados con MusicBrainz ID
- Discos escaneados sin MusicBrainz ID
- ¿Qué hemos ganado con la conversión?
- Sistema en React con todas las funciones disponibles en la tabla tales como:
- filtrados por columnas
- elección de columnas
- edición rápida en la propia columna (con DataForm)
- búsquedas prácticamente instantáneas
- experiencia visual moderna
- velocidad prácticamente instantánea y asíncrona sin cambiar de página
- vistas en formato tabla, grid o lista sin tener que programarlas
- orden de listas por columnas, ascendente/descendente, espaciado entre filas, items por página
- comodidad del usuario (yo siendo feliz)
- Sistema en React con todas las funciones disponibles en la tabla tales como:
- Es una pena que vosotros no podáis verlo, pero buah, han quedado genial, se arreglan errores y está todo muy funcional. Esto mola.
- Las vistas que han sido cambiadas a DataViews son:
- Se revisa de limpiar los duplicados cada hora en vez de cada 4 horas.
- He añadido de limpiar los duplicados justo después de la actualización, aunque esto nunca me ha funcionado bien. Por eso la tarea de que se eliminen los duplicados cada 4 horas (ahora, cada hora).
- He descubierto que existe @wordpress/dataviews y cómo usarlos. Me lo he leído (la mitad) y me he agobiado. Se lo he chutado entero a Cursor y nos hemos (él solo, yo miraba) puesto a pasar las diferentes tablas del plugin personalizado sobre los discos más escuchados por años. Buah.
2026/mayo/04
- Taskbar:
- Arreglado un bug por el que no se eliminaban las ventanas del taskbar cuando se cerraban.
2026/mayo/02
- Convirtiendo páginas/apps a bloques nativos de Gutenberg:
- Se ha convertido el bloque ‘Frases que me marcaron‘.
- Se ha convertido el bloque ‘Discos‘, pero manteniendo el Vite/React separado del WordPress. Básicamente incluye los estilos/scripts cuando se carga el bloque.
- Se ha convertido el bloque ‘Estadísticas de concierto‘, pero manteniendo el Vite/React separado del WordPress. Básicamente incluye los estilos/scripts cuando se carga el bloque.
- Se ha convertido el bloque ‘Mis conciertos‘.
- En estos cuatro bloques, volvemos a tener mejoría global. Sobre todo porque Mis Conciertos era algo pesado. Los números y porcentajes son a partir de la última vez que convertí páginas a bloques:
- Estilos globales se reducen 10KB (un 5% menos, consiguiendo un 15% total de reducción).
- Scripts globales se reducen 7KB (un 8% menos, consiguiendo un 20% total de reducción).
- El CSS crítico se reduce 7KB (un 18% menos).
- Desde que empezamos, ya tenemos un total de 61 KB ahorrados en llamadas globales. Pasito a pasito. Ya, cuando acabemos de trasladar todo, habrá que limpiar manualmente el CSS crítico y otros apartados. Esto marcha bien.
- Convirtiendo páginas/apps a bloques nativos de Gutenberg, parte 2 (unas horas más tarde):
- Se ha reajustado el bloque ‘Estadísticas de conciertos‘.
- Los estilos han sido enjaulados dentro del contenedor del bloque. Ya que reiniciaba partes globales que ya estaban afectando al editor del sitio.
- Se ha desencolado los estilos, ya que en el admin no cargo los bloques (no me hace falta).
- Se ha convertido el bloque ‘Llaveros de AriExpress‘.
- Se ha cambiado la opción para que se muestren aleatoriamente, en vez de la primera paginación de discos.
- Se ha convertido el bloque ‘Estadísticas musicales (por años)‘:
- Además de trasladarlo al bloque, ahora se hará carga según se va haciendo scroll.
- En este bloque de cambios, se ha reducido:
- La hoja de estilos en 4Kb (es un 2,1% menos, 16.9% del global).
- Se ha reajustado el bloque ‘Estadísticas de conciertos‘.
- Limpiezas en script global:
- Revisando, veo que hay un par de proyectos antiguos que he dejado aparcados y se pueden limpiar.
- Desactivando funciones de utilidad como isMobile.
- Desactivando los scripts de Spotify Main Hub para dejarlo aparcado por si lo añado a un bloque en un futuro.
- Eliminadas funciones que estaban en los ficheros, pero no estaban importadas.
- Aquí sí hemos reducido el código no usado en el global:
- En la hoja de scripts se ha reducido 27 KB (reducción del 33,75%, global del casi 47% de reducción!!)
- Revisando, veo que hay un par de proyectos antiguos que he dejado aparcados y se pueden limpiar.
- Convirtiendo páginas/apps a bloques nativos de Gutenberg, parte 3 (después de la pausa para merendar):
- Tema ‘Adamtube‘:
- Todo el apartado de Adamtube es algo especial porque tenemos una página listado y una vista detalle de vídeo. Además, tenemos el problema de que no estoy usando FSE porque el tema sigue siendo clásico (ya lo he intentado un par de veces de convertirlo, pero los estilos por defecto me destrozan todo).
- ¿Qué se me ha ocurrido y no es del todo malo?
- Hacer dos bloques: vista listado y vista detalle.
- Mi intención no es construir toda la web con mini bloques de Gutenberg. Sería un suplicio y me agobiaría.
- Cargar en la página correspondiente el bloque y que esté optimizado (código, estilos, scripts) para cada uno de ellos.
- Si no tengo FSE, ¿cómo crearé la plantilla para el single de vídeo?
- Lo haré desde el render y filtraré el código del bloque con do_blocks.
- Por el momento, sé que funciona y, hasta que haga el cambio o encuentre una mejor solución, se quedará así.
- Tareas hechas:
- Traslado a bloque nativo de Gutenberg la vista de ‘Adamtube‘
- Traslado del single de vídeo a bloque nativo de Gutenberg.
- Se arregla un bug por el que los vídeos relaciones pueden repetirse si se alinean los astros, a pesar de tener medidas para evitarlo (era un caso muy muy concreto que ya ha sido subsanado).
- Aquí tenemos las siguientes mejoras:
- La hoja de estilos se ha reducido 5KB (un 2.7% menos, con lo que llevamos ya un 19,1% global de reducción).
- La hoja de scripts se ha reducido en 1KB (un 2% menos y ya llegamos al 48% global de optimización). Aquí no se ha reducido mucho porque estaba bien optimizado cargando scripts dependiendo de la vista y he dejado el modo claro/oscuro en el global. Pero ya está muy afinado.
- Tema ‘Adamtube‘:
2026/mayo/01
- Estantería:
- Mejora del esqueleto de carga añadiendo animaciones.
- Reordenar alfabéticamente los artistas (algunos no estaban mostrando el orden correcto)
- Futura dirección de la web => convertir las páginas en PHP a bloques de Gutenberg en JS:
- Como el proyecto ya tiene casi sus 6 añitos, es hora de ir usando mucho más Gutenberg/FSE y sus funcionalidades.
- He decidido convertir todas las Apps/Páginas en Gutenberg para ir reduciendo la carga por cada página y hacer una carga controlada. Hemos creado muchas cosas y hay que reducirlo.
- La primera app que se ha trasladado es Estantería:
- Bloque nativo en Gutenberg.
- Trasladamos tanto JS como estilos a su propio fichero y estáticos.
- Hemos reducido de 225KB a 211KB los estilos generales.
- La segunda app que se ha trasladado es Fotos:
- Pasa ser bloque nativo también con sus ficheros propios.
- En este caso es muy pequeñita y solo reduce 1KB.
- Además, le he añadido carga asíncrona según se va haciendo scroll. En vez de cargar las tropecientas imágenes, ahora va de 50 en 50.
- También se añade el «loader» para que, si va como el culo la web, se vea que está cargando.
- A estas alturas, me acabo de dar cuenta de que está reduciéndose muchas cosas de tamaño. Todos los ficheros de CSS críticos de los temas, el CSS crítico de la ventana y otros también se han visto beneficiado de los cambios de estos dos bloques. Se ha eliminado muchísimo código en cada fichero.
- La tercera app que se ha trasladado es Archivo de Escaneos:
- Tanto scripts como styles globales se reducen 9-10KB cada uno.
- Hasta aquí, hago un resumen de lo que hemos hecho y ganado y hay muy buenas cifras para unos cambios de tres páginas/apps a Gutenberg:
- En la hoja de estilos se ha reducido en 24KB (un 10.7 % menos)
- En la hoja de scripts se ha reducido en 13KB (13% menos).
- Se nota más rapidez y fluídez. Ahora que puedo añadirle mejoras desde el propio bloque, va algo más rápido haciendo los cambios desde JS.
2026/abril/30
- General:
- Ahora que ha petado el mundo entre vulnerabilidades del kernel de Linux, secuentro en npm de ‘Tanstack’ con robos de .env y más paquetes con malware en NPM/PyPi… pues me he rallado y vamos a hacer mantenimiento.
- Aunque prácticamente no me afectan nada de eso, hay que ir haciendo mantemiento:
- Se actualizan todos los paquetes de Vite/React a versiones sin vulnerabilidades
- Se mejora el sistema de generación de estáticos del tema de WordPress para actualizar tanto Vite como generación de estáticos.
2026/abril/24
- Best by Year / Estadísticas musicales por años:
- Se refactoriza el sistema de eliminación de duplicados para eliminar y reducir coincidencias.
- Opciones:
- En el menú de Inicio, ahora hay un nuevo apartado ‘Iconos de escritorio’, que explica todos los estados de las apps que aparecen en el escritorio, como Nuevo o Actualizado.
2026/abril/20
- Discos:
- Tengo muchas taxonomías para los discos:
- Fecha de publicación
- Artista
- Discográfica
- Formato
- Descripción de formato
- Tipo de formato
- Género
- Estilo
- Región
- Por si no lo sabéis, cada taxonomía y cada clasificación de esta taxonomía tiene una vista listado de items. Yo las tengo desactivadas porque habría más de 2.000 páginas que no me interesa indexar ni que veáis. Para eso existe Mis Discos.
- Pero bueno, como Google está siendo muy pesado queriendo entrar, le he añadido la vista listado, aunque el enlace no es público. Ya tendréis que pelearos para verlo.
- Tengo muchas taxonomías para los discos:
2026/abril/19
- Discos:
- Como sabréis, tengo muchos discos en japonés y, a pesar de que convierto la mayoría de hiragana/katakana/kanjis en romaji, algunos se cuelan.
- Esto estaba ocasionando algún que otro problema con las URLs en las que ciertos motores de búsqueda o ciertos navegadores, no estaban leyendo estos caracteres de forma correcta y me daba como URLs vacías o con cosas.
- He revisado muchos datos como discos y artistas donde he arreglado los enlaces permanentes (slugs) para que no fallen, además de sus redirecciones.
- Además, se ha añadido un nuevo patrón al importar los discos que, al generar el slug, tendrán los siguientes datos:
- título
- artista
- año (si disponible)
- formatos (máximo tres entre todos y si están disponibles)
- formato principal (si disponible y hasta dos)
- tipo de formato (si disponible y hasta dos)
- región (si disponible y solo uno)
- Para que luego digan que tener proyectos personales no te ayuda a aprender.
- Se actualizan más de 200 URLs para que se vean algo diferentes 🙂
- Como sabréis, tengo muchos discos en japonés y, a pesar de que convierto la mayoría de hiragana/katakana/kanjis en romaji, algunos se cuelan.
2026/abril/16
- Opciones:
- Nuevos temas: Lime Surge Violet Tea
- Mi música:
- Se arreglan los botones de categorias de la vista detalle de disco.
- Best by Year / Estadísticas musicales por años:
- Se añade la opción de poder unir ediciones especiales a la de uno principal para que se sume. Así, si descubro alguno que quiera unificar, puedo hacerlo fácilmente.
- Se añade una vista para buscar similares:
- Cogiendo la lista de 100 en 100, se buscará otros discos que tengan el mismo artista y que empiecen igual que el título actual.
- Se mostrarán en una lista para poder seleccionar el disco padre para que suman.
- Irán cargando de 100 en 100 según se va bajando mediante carga asíncrona.
2026/abril/14
- Conciertos:
- Aunque no tiene vista detalle, se podría acceder (al igual que los Discos).
- Se añade la vista detalle por si acaso algún día hago algo.
- Discos:
- En la vista detalle, se arreglan un par de enlaces que se han fastidiado con proyectos futuros y los nuevos temas con estilos.
2026/abril/13
- Opciones:
- Nuevo tema Neon Mint
- (soy un pesado ya con los colores)
- Temas actualizados:
- Se preparan todos los iconos de estado dentro de los iconos de escritorio para funcionar con el nuevo apartado (ver Iconos de escritorio dentro de este día).
- Nuevo tema Neon Mint
- Iconos de escritorio:
- Cuando se actualice una app/página, se mostrará un icono indicando que hay nuevo contenido.
- Esto no quita la etiqueta de NEW (app nueva publicada).
- Prevalecerá si es nueva app antes que la actualización.
- Después de los treinta días, mostrará el icono de actualización si modifico algo.
- Esto está pensado para las páginas de Changelog y Changelog (otros proyectos).
- La gente no tiene por qué estar entrando cada dos por tres.
- Ahora podrán verlo desde los iconos.
- Está pensado que hay cambios a los siete días anteriores. Quizás lo rebaje a tres. Estoy haciendo pruebas.
2026/abril/12
- General:
- Mejorar la funcionalidad del reloj y del wifi en el apartado para móviles añadiendo comprobaciones de valores nulos para los elementos del reloj y asegurándose de que la hora solo se actualice si dichos elementos existen.
2026/abril/09
- General:
- Se arregla el scroll con enlaces de anclas que hacía que la ventana de la app se saliera de la propia ventana del navegador. Ahora se hace haciendo scroll dentro del contenido de la ventana de la app.
- Se arreglan los enlaces que hay dentro de los párrafos y listas dentro del .c-window__content para enlaces genéricos y páginas hechas con Gutenberg.
- Tema oscuro: se arreglan las páginas de texto para que sean legibles.
2026/abril/07
- Sobre este PC:
- He tenido la idea de crear una página presentación del proyecto explicando un poco de qué va, qué tiene y cómo va.
- Estaba agobiado y no quería pensar mucho, así que me he puesto a escribir sin pensar.
- Quizas en un futuro le de una vuelta y le siga añadiendo cosas.
- Un saludo si vienes desde allí.
- Opciones:
- Tema Oscuro: Añado estilos forzados para Sobre este PC para que se lea un pijo. Porque este tema tendría que rehacerlo mejor y no fuerzo colores para no cargarme media web.
2026/abril/05
- Opciones:
- Se añade la funcionalidad Fondos de pantalla.
- Ahora, se podrá elegir una serie de colecciones de fondos de pantalla para que vayan cambiando cada 30 segundos.
- Se ha creado un sistema de campos con ACF para crear rápidamente la selección y colecciones de fondos.
- Se mejoran los estilos para los temas de tonos duales.
- Se mejoran los estilos para el tema Mario’s Rainbow, Dark y Royal Neon.
- Se añade la funcionalidad Fondos de pantalla.
- Ventana de app:
- Se arregla un fallo en Adamtube que extendía el modo Claro/Oscuro a otras ventanas, haciendo que se incluyeran estilos visuales en ventanas que no tenían nada que ver.
2026/abril/04
- Opciones:
- Nuevo tema Mario’s Rainbow
2026/abril/03
- Discos:
- Mejoramos el rendimiento reduciendo consultas (de 475…. a 65, no sé qué estaba pensando).
- Mejoramos el IntersectionObserver para que no haya tanto overhead y se centre más a nivel global que en cada imagen.
- Opciones:
- Nuevo tema Iris Sunglow
2026/marzo/29
- Opciones:
- Nuevo tema Crimson red




















