Fix: los buscadores ignoran tildes y orden, y mejoras en el detalle de auditoría
Qué
- Los buscadores de la app ignoran tildes y mayúsculas y aceptan nombre y apellido en cualquier orden (Estudiantes, Auditoría, Instancias, Incidencias, selector de estudiante, Roles y Catálogos).
- El detalle de un evento de Auditoría muestra solo lo que cambió, en un panel claro; LOGIN y LOGOUT ya no tienen botón de detalle.
- Login y logout reenvían la IP real del cliente al backend.
Por qué
- Buscadores: el
textodel backend compara por campo y distingue tildes, así que "Agustina Acosta" daba 0 resultados y "Baez" no encontraba a "Báez". - Detalle de auditoría: se listaban los ~30 campos de la fila con el mismo peso sobre un fondo gris que se leía mal, y los que cambiaban se perdían. Los eventos de LOGIN y LOGOUT abrían un detalle vacío.
- IP: los handlers de auth y el logout no mandaban
X-Forwarded-For, por lo que desde Vercel todos los LOGIN y LOGOUT quedaban con IPs de AWS en lugar de la del usuario.
Cambios
-
lib/buscar-estudiante.ts: helpers de búsqueda normalizada (coincideTexto,coincidenciasPersona), lista de estudiantes y funcionarios con caché de 30 s y paginación mezclada para varios ids. -
StudentsListView,EstudianteSelector,RolesListViewycatalogos.ts: filtran en el cliente con esos helpers. -
InstanciasListView,IncidenciasListViewyAuditListView: resuelven las personas que coinciden y piden poridEstudianteoidAutor; con más de 15 coincidencias se avisa que hay que acotar la búsqueda. -
AuditDetalleEvento.tsx(nuevo): panel con borde del color de la acción, campos modificados arriba (anterior tachado, nuevo en negrita), los iguales plegados y altas y bajas como lista. -
lib/client-ip.ts(nuevo),auth-handlers.tsylogout/route.ts: toman la IP dex-vercel-forwarded-forox-forwarded-fory la reenvían, igual que ya hace el proxy genérico.
Cómo probar
- En Estudiantes buscar "agustina acosta", "acosta agustina" y "baez": encuentra a Agustina Acosta y a los Báez.
- En Auditoría buscar "varsi belen": trae los eventos de ambos autores. Abrir "Ver detalle" de un UPDATE: arriba solo los campos que cambiaron.
- En Auditoría, un evento LOGIN o LOGOUT no muestra "Ver detalle".
- En Roles y en Catálogos buscar sin tildes ("categoria"): encuentra "Categoría".
- En Instancias buscar "ana" (muchas coincidencias): muestra el aviso de acotar la búsqueda.
- IP: tras el despliegue en Vercel, iniciar sesión y revisar en Auditoría que el evento LOGIN tenga la IP del usuario y no una de AWS.