Skip to content

Debounce Quick Access keystrokes before computing proposals#4144

Open
vogella wants to merge 1 commit into
eclipse-platform:masterfrom
vogella:lv/quickaccess-keystroke-debounce
Open

Debounce Quick Access keystrokes before computing proposals#4144
vogella wants to merge 1 commit into
eclipse-platform:masterfrom
vogella:lv/quickaccess-keystroke-debounce

Conversation

@vogella

@vogella vogella commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Quick Access scheduled a fresh background compute on every keystroke and cancelled the previous one, so fast typing kicked off a computation per character when only the final filter matters.

This debounces the keystroke path: the modify listener now schedules the compute job with a 100 ms delay, and each new keystroke cancels the still-sleeping job from the previous one, so only the last keystroke in a burst actually computes. Initial open, the show-all toggle and resize keep their immediate behavior.

The job is scheduled for the whole delay, so it stays visible to the compute job family and QuickAccessDialogTest still joins that family deterministically. All ten tests in that class pass locally.

@github-actions

github-actions Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Test Results

   855 files  ±0     855 suites  ±0   1h 10m 48s ⏱️ + 19m 52s
 8 083 tests ±0   7 840 ✅ +1  243 💤 ±0  0 ❌  - 1 
20 151 runs  ±0  19 497 ✅ +1  654 💤 ±0  0 ❌  - 1 

Results for commit b5fad35. ± Comparison against base commit 8059976.

♻️ This comment has been updated with latest results.

Every keystroke scheduled the background compute job immediately and
cancelled the in-flight one, so fast typing triggered a compute per
character even though only the final filter matters.

Collapse a burst of keystrokes into a single computation: the modify
listener now schedules the compute job with a 100 ms delay, and each new
keystroke cancels the still-sleeping job from the previous one, so only
the last keystroke in the window actually computes. The other callers
(initial open, show-all toggle, resize) keep zero delay.

The job is scheduled for the whole delay, so it stays visible to
COMPUTE_JOB_FAMILY and tests that join that family still observe the
pending compute.
@vogella vogella force-pushed the lv/quickaccess-keystroke-debounce branch from 81466ea to b5fad35 Compare June 26, 2026 17:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant