Cómo arreglar la lista desactualizada de repos fijados de GitHub
La sección “En GitHub” de la portada tiene una fila de tarjetas de repos generadas automáticamente, tomadas de un servicio de estadísticas basado en una lista fija en src/data/projects.ts. El comentario sobre esa lista dice “Mirrors the pinned repos on the GitHub profile.” No era cierto.
El array todavía tenía trello-extractor y programming-problems, dos repos que dejaron de estar fijados hace un tiempo. Y le faltaban astro-affiliate y astro-opt-in-analytics, dos librerías fijadas más recientemente. Para confirmarlo, se verificó el conjunto real de repos fijados a través de la API GraphQL de GitHub, en vez de confiar en lo que decía el código.
Vale la pena aclarar: este sitio ya tiene una sección “Paquetes compartidos” separada y escrita a mano que lista las tres librerías @vdaluz/* con descripciones y enlaces. Esta corrección es específicamente sobre las imágenes de tarjetas de repos fijados generadas automáticamente, que es una ruta de renderizado distinta que solo conocía astro-blog de las tres.
La corrección fue de una sola línea:
pinnedRepos: ['homelab-tools', 'astro-blog', 'astro-affiliate', 'astro-opt-in-analytics'],
Se verificó en un navegador real en vez de confiar en el build: se inició el servidor de desarrollo, se navegó a la portada, y se revisaron tanto el árbol de accesibilidad como las solicitudes de red reales que llegaban a la API de estadísticas. Las cuatro solicitudes de tarjetas de repo devolvieron 200 con los nombres correctos en el orden correcto, y las tarjetas renderizadas coincidían.
La lección acá no es realmente sobre el código, es sobre el comentario. “Mirrors the pinned repos” era cierto cuando se escribió y después quedó obsoleto en silencio a medida que cambió el perfil de GitHub. Una lista fija sin verificación de desincronización siempre termina mintiendo sobre lo que dice reflejar.
Lecturas relacionadas
Los pills de filtro existían, solo que no donde alguien pudiera encontrarlos
Vistas filtradas por proyecto con una linda barra de navegación de pills, accesibles solo desde las tarjetas de la portada. El índice principal /blog, donde realmente aterriza todo el mundo, no tenía ninguna forma de entrar.
El CTA que apuntaba al dev log equivocado
El único llamado a la acción de la página de Deep Cut Atlas enlazaba al blog completo sin filtrar, un enlace que funcionaba, devolvía 200, y en silencio mandó a todos al lugar equivocado durante semanas.
El linter estaba señalando la línea correcta por el motivo equivocado
Un atributo que casi borré por una suposición, un desborde que solo existe en ancho de teléfono, y una suite de accesibilidad que pasó en cada versión de esto, la rota y la arreglada.