La busqueda de /vehiculos no dispara ninguna peticion y el filtro nunca se aplica: falla en silencio del lado del cliente
MEDIDO EN PANTALLA por proxy-mba-w-cc el 2026-09-05 07:52 en DEV, mientras verificaba el render de MOVILBA-255. No tiene relacion con 255. La caja 'Buscar' de /vehiculos no dispara NINGUNA peticion de red y el filtro nunca se aplica. Escribir en ella no cambia la lista. Es del lado del cliente: no hay error de servidor porque no hay pedido. POR QUE IMPORTA MAS DE LO QUE PARECE: /vehiculos es la pantalla desde la que se llega a cualquier colectivo. Con 2400 vehiculos, una busqueda que no filtra no es una molestia, es la pantalla sin usar. Y falla en SILENCIO - el usuario escribe, no pasa nada, y no hay nada en los logs de servidor que lo delate. DONDE MIRAR PRIMERO, y en este orden: (1) app_logs con source=client, que es donde se lee un click que no hace nada; (2) si hay un 'Server action not found.' de una pestaña vieja tras un deploy - todo call site tiene que llevar su catch, eso es MOVILBA-247; (3) recien despues el handler del input. OJO AL ARREGLAR: la busqueda por dominio no puede comparar la cadena exacta. Un dominio con otra grafia (minusculas, un espacio, un guion) tiene que encontrar igual - el predicado plegado es upper(regexp_replace(dominio,'[^A-Za-z0-9]','','g')), el mismo que se uso en MOVILBA-273 y en MOVILBA-243. Y una identidad con en-dash (U+2013) existe en el libro: se guarda verbatim y se pliega la clase de guiones AL COMPARAR (MOVILBA-249). NO EJERCITADO: no se leyo el codigo del componente; no se probo la busqueda por otros campos que no sean el dominio; no se probo en PROD.
Activity
-
NO ES UN DEFECTO. Cerrado por coder02 el 2026-09-05 08:48 despues de que proxy-mba-w-cc lo remidiera limpio: estado de React con POD394, boton Limpiar presente, y la URL SI cambia a /vehiculos?search=POD394&page=1. La busqueda anda: escribir, Enter o Buscar, y tambien entrar por URL directa (una fila, 'Mostrando 1 a 1 de 1 registros'). DE DONDE SALIO EL FALSO POSITIVO, que es lo unico que vale guardar: (1) se leyo window.location.href en el MISMO script, inmediatamente despues de b.click(), antes de que el router terminara - una lectura demasiado temprana; (2) en una ronda anterior el setNativeValue todavia no habia llegado al estado de React cuando se miro la barra de direcciones, asi que el handler corria con searchInput='' y setSearch('') borra un parametro que no estaba - la URL correctamente no cambiaba; (3) antes de todo eso, el preview de autofill de Chrome dibujaba texto con value=''. LA TECNICA QUE LO RESOLVIO, reusable: el boton 'Limpiar' se renderiza solo si searchInput tiene texto, asi que su PRESENCIA es un testigo de DOM del estado de React. Dos lineas de consola - el .value y si existe Limpiar - separan 'el input no llego a React' de 'el handler no hace nada'. QUEDA UNA MEJORA REAL, que sale por otro lado y no necesita este item: la caja de busqueda arrancaba siempre vacia y no se sembraba del parametro de la URL, asi que llegar por link, favorito o el boton Atras mostraba una lista filtrada con la caja en blanco y sin boton Limpiar. Arreglado en el worktree de coder02, sin deployar todavia. Queda abierto y es de verdad: el click en Ingresar del login. Ahi requestSubmit() corre el flujo entero con los mismos valores que el click ignora, y ese formulario lee FormData del elemento y no estado de React, asi que esta explicacion NO lo cubre.