[Bug]: Rapid table and database searches are not debounced

Abierto
#4,411 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

@hutiefang76 ya está trabajando en esto.

Desde el 4/10/2026.

  • #4414 de @hutiefang76 — abierto

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Área
frontend

Línea de trabajo

Start at the dashboard table/database menu and the regression runner that mounts the TablesMenu setup with fake timers. Run the five reported cases and verify that rapid input makes one request for the final keyword, clearing replaces pending work, and unmounting cancels callbacks.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

type:bug
What happened?

Rapid typing schedules one search per input event because each event creates a separate debounce wrapper. Clearing the field leaves earlier callbacks pending, and pending callbacks survive component unmount.

Expected: one request for the final keyword per field after 300ms; clear replaces the pending search; unmount cancels callbacks that have not run.

Affects Versions

master at 061eb724e93592fe87cf44b61af34c1d799f5db6

What table formats are you seeing the problem on?

No response

What engines are you seeing the problem on?

No response

How to reproduce
  1. Open the dashboard table/database menu.
  2. Type several characters into either search field within 300ms.
  3. Inspect the search requests: every pending callback runs instead of only the last.
  4. Repeat while clearing the field or leaving the view before 300ms. Earlier pending callbacks still run.
Relevant log output

Anything else

The regression runner compiles and mounts the actual TablesMenu setup with fake timers. All five cases fail on the base and pass with per-instance timers and unmount cleanup. A tested fix is ready in hutiefang76/amoro branch fix/table-menu-search-debounce.

Are you willing to submit a PR?
  • Yes I am willing to submit a PR!
Code of Conduct
  • I agree to follow this project's Code of Conduct
Lenguaje dominante
Java
Estrellas
1.2k
Forks
398
Merge medio
4 d 25 min
PR fusionados (30 d)
20

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de apache/amoro

Todos los issues de apache/amoro

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.