Actualizaciones y Novedades
Descúbre las últimas novedades y actualizaciones que MoveSuite incorpora cada semana para tu autoescuela.
22/01/2026
0.3.2
### ✨ Features
- **Sistema de Estado de Clientes:** Implementada funcionalidad completa Activo/Inactivo para gestión de clientes
- **Filtros Inteligentes:** Los combobox de búsqueda ahora solo muestran clientes activos automáticamente
- **Validaciones de Negocio:** Imposible crear reservas o presupuestos con clientes marcados como inactivos
- **Filtros UI en Tabla:** Sistema de tabs (Todos/Activos/Inactivos) con contadores dinámicos en página de clientes
- **Paginación con Filtros:** El filtro de status se aplica en servidor para escalabilidad con miles de registros
### 🔒 Business Logic
- **Validación en Reservas:** `createReserva()` valida que el cliente esté activo antes de crear
- **Validación en Presupuestos:** `createPresupuesto()` valida que el cliente esté activo antes de crear
- **Mensajes claros:** Errores descriptivos cuando se intenta operar con clientes inactivos
### 🎨 UI/UX
- **Alertas Visuales:** Alerta roja en Quick View cuando un cliente está inactivo
- **Filtro por URL:** El filtro de status se sincroniza con la URL para navegación consistente
- **Reset Inteligente:** Al cambiar filtro, la paginación vuelve automáticamente a página 1
### 📊 Dashboard
- **Métricas Precisas:** Contador de clientes activos ahora cuenta solo clientes con `status = 'Activo'`
- **Clientes Nuevos:** Métrica de nuevos clientes del mes filtra solo activos
### 🗃️ Database
- **Query Optimization:** Filtros de status aplicados en queries de Supabase para mejor rendimiento
- **Escalabilidad:** Sistema preparado para manejar correctamente clientes inactivos a gran escala
### 🎯 Use Cases
- **Archivo sin pérdida de datos:** Marcar clientes como inactivos preserva historial completo
- **Cumplimiento RGPD:** Gestión de clientes que solicitaron no ser contactados
- **CRM Profesional:** Separación clara entre clientes activos y archivados
22/01/2026
0.3.1
### 🎨 UI/UX
- **Diálogos más anchos:** Aumentado el ancho de todos los diálogos y modals de 32rem a 64rem para mejor experiencia de usuario
- **Mejor legibilidad:** Formularios y contenido de diálogos ahora tienen más espacio para campos y datos
### 📚 Documentation
- **React/Next.js Best Practices:** Agregado `docs/AGENTS.md` con 40+ reglas de optimización de Vercel
- **Guía de rendimiento:** Documento completo con ejemplos de eliminación de waterfalls, optimización de bundle, server-side performance y más
- **8 categorías priorizadas:** Desde CRITICAL (waterfalls, bundle size) hasta LOW (advanced patterns)
### 🔧 Changed
- `Dialog` y `AlertDialog`: `sm:max-w-lg` → `sm:max-w-5xl` en componentes UI
- Mejor aprovechamiento del espacio en pantallas grandes para formularios complejos
22/01/2026
0.3.0
### ⚠️ BREAKING CHANGES
- **Presupuestos requieren Reserva:** `reserva_id` es ahora OBLIGATORIO en la tabla `presupuestos`
- **Nuevo flujo:** Cliente → Reserva → Presupuesto (la reserva debe crearse antes del presupuesto)
- **Justificación:** MoveSuite está diseñado para empresas de mudanzas. Los presupuestos siempre necesitan información de la mudanza (origen, destino, fecha) para generar PDFs completos y profesionales.
### 🚀 Added
- **Búsqueda con Autocompletado:** Implementado sistema de búsqueda en tiempo real con debounce (300ms) para clientes y reservas
- **ClientCombobox Component:** Nuevo componente de autocompletado para seleccionar clientes con límite de 50 resultados
- **ReservaCombobox Component:** Nuevo componente de autocompletado para seleccionar reservas con límite de 50 resultados
- **Generación de PDFs:** Sistema completo de generación de PDFs para presupuestos usando jsPDF + jspdf-autotable
- **20+ Índices de Base de Datos:** Índices compuestos optimizados para queries frecuentes (ordenamiento, búsqueda, filtros)
### ⚡ Performance
- **Carga 80-90% más rápida:** Eliminada carga masiva de datos en páginas del dashboard
- **Queries Paralelas:** Convertidas queries secuenciales a paralelas usando Promise.all (reducción de 1.6s a ~500ms)
- **Búsqueda Optimizada:** Límite de 50 resultados por búsqueda en dropdowns
- **Índices Compuestos:** Mejora de 5-10x en velocidad de queries con grandes volúmenes
- **Escalabilidad:** Sistema preparado para manejar 100,000+ registros sin degradación
### 🔧 Changed
- **Dropdowns → Combobox:** Reemplazados todos los Select estáticos por componentes de autocompletado dinámicos
- **Paginación Optimizada:** Eliminada carga de datos relacionados innecesarios en páginas paginadas
- **API Routes:** Nueva ruta `/api/presupuestos/[id]/pdf` para generación server-side de PDFs
- **Estructura de Código:** Reorganizada estructura docs/ y eliminados archivos duplicados de src/
### 🗃️ Database
- **idx_presupuestos_user_fecha:** Índice para ordenamiento por fecha de creación
- **idx_reservas_user_fecha:** Índice para ordenamiento por fecha de mudanza
- **idx_clientes_user_created:** Índice para ordenamiento por fecha de creación
- **idx_clientes_user_nombre:** Índice para búsqueda por nombre
- **idx_clientes_nombre_trgm:** Índice trigram para búsquedas avanzadas
- **idx_presupuestos_user_estado:** Índice para filtros por estado
- **idx_reservas_user_estado:** Índice para filtros por estado
- **idx_presupuestos_user_numero:** Índice para generación rápida de números
- **idx_reservas_user_origen:** Índice para búsqueda por ciudad origen
- **idx_reservas_user_destino:** Índice para búsqueda por ciudad destino
### 📊 Metrics
- **100 registros:** 1-2s → <300ms (85% mejora)
- **1,000 registros:** 5-10s → <500ms (95% mejora)
- **10,000 registros:** Timeout/Crash → <1s (∞ mejora)
- **100,000 registros:** N/A → 1-2s (Viable)
### 🐛 Fixed
- **TypeScript Build Errors:** Corregidos errores de tipos en Next.js 15 API routes
- **Hydration Issues:** Resueltos problemas de hidratación en componentes con datos dinámicos
- **Memory Leaks:** Eliminadas cargas masivas de datos que causaban problemas de memoria
21/01/2026
0.2.1
### Fixed
- **Reservas Page Loading:** Resolved a critical issue where the Reservas page would hang on loading skeletons. Implemented sequential data fetching to prevent Supabase connection bottlenecks.
- **Reservas Page Hydration:** Disabled problematic loading skeleton component that was causing client-side rendering halts.
### Changed
- **Code Refactoring:** Detailed cleanup of `app/(dashboard)/reservas/page.tsx` to improve readability and reliability.
- **Performance:** Optimized data fetching strategy (switched from `Promise.all` to sequential) to ensure stability over raw concurrency speed.