notes
19 oct 2024 · 1 min read

Haciendo bien el feed de RSS

Agregué un feed de RSS a este sitio el primer día, apunté un lector hacia él una vez para confirmar que parseaba, y no lo volví a mirar durante más de un año. La semana pasada me suscribí de verdad a mi propio blog en un lector de feeds que uso a diario, de la forma en que lo haría un lector real, y encontré tres cosas mal en los primeros cinco minutos.

Las fechas de publicación eran todas correctas, pero el feed estaba ordenado por fecha de modificación de archivo en lugar de pubDate, así que un arreglo de tipeo del mes pasado subía al tope una entrada de un año atrás. Nadie lo había mencionado, lo que significa que nadie usa el feed o que todos fueron demasiado educados como para decir algo —elijo creer lo primero.

El campo de descripción estaba tomando el cuerpo completo de la entrada en lugar de la descripción de una sola frase del frontmatter, así que cada entrada en mi lector mostraba un muro de texto sin formato en lugar de un resumen limpio. Y el feed no tenía ninguna etiqueta <language>, que algunos lectores usan para elegir un locale para el formato de fecha.

Los tres eran del tipo de bug que un build nunca atrapa, porque el feed seguía validando como XML bien formado —solo estaba mal de maneras que solo aparecen cuando un humano lo usa de verdad de la forma en que está pensado para usarse. Que es, creo, la lección real: validar un feed y leer un feed son pruebas distintas, y yo solo había hecho la primera.