Files
mercadodevida/work/artifacts/TPV-FIXES/implementer.md
2026-08-25 06:31:00 +02:00

1.7 KiB

TPV-FIXES — Implementer Report

Cambios Realizados

1. Fix favicon 404 (storefront)

Archivo: project/storefront/src/app/layout.tsx

export const metadata: Metadata = {
  title: 'mercadodevida',
  description: '...',
  alternates: { canonical: absoluteUrl('/') },
+ icons: { icon: '/favicon.ico', shortcut: '/favicon.ico' },
  openGraph: { ... },
};

Rationale: El storefront tenía public/favicon.ico pero Next.js App Router no lo servía automáticamente. Agregar la referencia en metadata resuelve el 404.

2. Fix Cashier label (POS Receipt)

Archivo: project/apps/pos/src/components/ReceiptModal.tsx

- <strong>Cajero:</strong> {receipt.cashier}
+ <strong>Cajero:</strong> {receipt.cashier?.split('@')[0] ?? '—'}

Rationale: receipt.cashier contiene el email completo del usuario (ej: cajero1@tienda.com). Mostrar solo la parte antes del @ es más legible y profesional.

3. pos/sales 400 error

Estado: REQUIERE MÁS INFORMACIÓN

No hay logs específicos del error. El análisis sugiere posibles causas:

  • Código de payment en mayúsculas que no pasa regex Zod
  • Falta de header x-terminal-id en ciertas condiciones

Recomendación: Solicitar al reporter los detalles del request/response que falla.

Archivos Modificados

  1. project/storefront/src/app/layout.tsx — favicon metadata
  2. project/apps/pos/src/components/ReceiptModal.tsx — cashier label format

Testing Recomendado

  1. Navegar storefront → verificar que favicon carga en browser tab
  2. Crear venta POS → verificar receipt muestra nombre de cajero sin @
  3. Para bug 400: proporcionar request/response específicos si persiste

Complejidad: Low

Riesgo: Low

Impacto: UX (favicon, label legible)