Files
apps-registry/workloads/ecommerce
devopsandClaude Sonnet 5 cc7ddddf58
Build and Push Frontend / Escaneo de Secretos (Gitleaks) (push) Successful in 33s
Build and Push Medusa / Escaneo de Secretos (Gitleaks) (push) Successful in 23s
Build and Push Frontend / Construir y Subir Imagen (push) Successful in 20m5s
Build and Push Medusa / Construir y publicar Medusa (push) Successful in 27m10s
fix: usar normalizeTitleForMatch en import de productos + notFound() en generateMetadata
El importador de commerce-backend definia normalizeTitleForMatch (colapsa
guion largo/comillas tipograficas) pero nunca la usaba en el matching de
producto/categoria/coleccion -- seguia comparando con toLowerCase().trim()
plano, por eso un re-import de "Toy Story 5 - Woody" con guion largo pegado
desde Excel volvio a crear un duplicado en vez de actualizar el existente.

En el storefront, cualquier slug de producto inexistente devolvia HTTP 200
en vez de 404 (confirmado con un slug inventado): el Suspense del navbar
hace que el layout empiece a stream-ear la respuesta con status 200 antes
de que notFound() se ejecute dentro de la pagina. Se mueve la verificacion
a generateMetadata, que se resuelve completo antes de iniciar el stream.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-09-19 19:38:07 +00:00
..
2026-07-24 06:40:21 +00:00
2026-07-31 23:27:01 -05:00

ARI Shopping Headless Storefront v4.1

Actualización enfocada en UX, interactividad y rendimiento sobre Next.js 15.5.10.

Correcciones principales

  • Encabezado blanco premium con acentos cyan, violeta, fucsia y navegación negra.
  • Imágenes promocionales sin opacity, mix-blend ni filtros de color.
  • Menú principal funcional mediante Drawer accesible de Radix UI.
  • Cuenta y favoritos funcionales.
  • Carrusel con flechas, teclado, scroll suave y scroll-snap.
  • Zoom real de producto entre 100% y 300%, rueda, botones, doble clic y arrastre.
  • Thumbnails WebP dedicados para tarjetas, búsqueda, carrito y favoritos.
  • Recursos originales recomprimidos y caché HTTP para /images.
  • next/image en modo unoptimized porque los recursos ya vienen procesados; evita latencia del optimizador durante la primera visita.
  • Menos componentes animados con JavaScript; las tarjetas usan transiciones CSS.
  • content-visibility para contenido fuera de pantalla.
  • Pantalla loading.tsx para transiciones de ruta.

Validación

npm ci
npm run typecheck
npm run build

Flujo

Gitea → Gitea Actions → Registry → actualización de frontend.yaml → Argo CD → Kubernetes.