From ce929188acf7d9d85e39ba2d01f12c3ffcd72375 Mon Sep 17 00:00:00 2001 From: Cristian Felipe Cruz Buitron Date: Fri, 28 Aug 2026 04:35:18 +0000 Subject: [PATCH] fix(ecommerce): baja TTL de cache a 5min para /images/brand/* El header de /images/:path* (7 dias, pensado para fotos de producto que no cambian) tambien alcanzaba a los assets de marca (logo, favicon), que si cambian con cada iteracion de identidad visual. Confirmado en vivo contra shop.cruzcloud.net: Cloudflare seguia sirviendo el logo de la iteracion anterior 'Navy & Coral' (fill #122844/#D85A30) mas de 14h despues de que el pod ya corria v1.0.185 con el logo 'Azul & Amarillo' (#0055B8/#FFC220) -- cf-cache-status: HIT, age: 51378s, last-modified anterior al redeploy. No es un bug del logo.svg en si (el contenido del archivo ya era correcto desde la sub-fase 1 de ADR 0008) sino de una politica de cache compartida con assets que no deberian tener el mismo TTL. --- workloads/ecommerce/next.config.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/workloads/ecommerce/next.config.ts b/workloads/ecommerce/next.config.ts index 247d8ea..cfffecc 100644 --- a/workloads/ecommerce/next.config.ts +++ b/workloads/ecommerce/next.config.ts @@ -42,6 +42,22 @@ const nextConfig: NextConfig = { }, ], }, + // Assets de marca (logo, favicon) cambian con cada iteracion de + // identidad visual, a diferencia de las fotos de producto -- el + // cache de 7 dias de la regla anterior dejaba servido el logo + // viejo en Cloudflare/navegador durante toda una semana despues de + // cada deploy (ver ADR 0008). Next.js aplica el ultimo header que + // matchee un mismo path, asi que esta regla, al ir despues, + // sobreescribe el Cache-Control solo para /images/brand/*. + { + source: "/images/brand/:path*", + headers: [ + { + key: "Cache-Control", + value: "public, max-age=300, must-revalidate", + }, + ], + }, ]; }, };