Cuando Medium no tiene API: sondeo de RSS y republicación cruzada en LinkedIn
Detectar publicaciones en Medium sondeando el feed RSS, los cuatro encabezados de LinkedIn, y la regla de Zeitwerk que rompió un rollback de migración en CI.
Notas sobre el software, los juegos y la música que salen de Imperfect Systems.
Feed RSSDetectar publicaciones en Medium sondeando el feed RSS, los cuatro encabezados de LinkedIn, y la regla de Zeitwerk que rompió un rollback de migración en CI.
Haciendo que los títulos del dashboard enlacen a los posts en vivo: un prefijo de ruta configurable, una condición con pub_date contra enlaces rotos, y una columna del spec que descarté.
Búsqueda de Pexels en la página con Turbo Frames, la rareza del header que devuelve 401 a los tokens Bearer, y un modelo singleton para la API key.
Un botón para publicar en Medium sobre una API obsoleta pero funcional: Net::HTTP inyectable, markdown bajo demanda, y estados divididos entre job y servicio.
Conectando Turbo Streams para que los jobs de escaneo actualicen la página mientras corren, y la trampa del adaptador async de cable.yml que se tragaba cada broadcast del worker.
Mover el escaneo de GitHub a un trabajo en segundo plano después de que superó el tiempo límite del proxy, y la trampa del orden LIFO de rescue_from que rompió el camino de descarte.
Hacer que cada merge despliegue staging automáticamente: un runner autoalojado, cuatro obstáculos seguidos, y la trampa de los secretos de Kamal que más costó resolver.
Las reglas para cuando el CI se pone en rojo en un proyecto Rails en solitario, y el límite de GitHub que convirtió la puerta de fusión en un comentario.
La petición GraphQL nunca se dispara: Medium renderiza su estado Apollo en el servidor. Tres intentos fallidos y el arreglo final con wrappedJSObject.
La API de Medium no tiene concepto de publicación programada. Fase 1: modelar el estado con un enum de solo agregar, y ver si la fricción justifica la automatización.
Página 15 de 16