Skip to content

fix(aria/combobox): relay every key pressed back to back to the popup - #33975

Open
drakeo338 wants to merge 1 commit into
angular:mainfrom
drakeo338:claude/33973-fix
Open

drakeo338 wants to merge 1 commit into
angular:mainfrom
drakeo338:claude/33973-fix

Conversation

@drakeo338

Copy link
Copy Markdown

Fixes #33973.

ComboboxPattern relays keys to the popup through a signal that holds only the latest event, and an effect re-dispatches it later. When two keys arrived before the effect ran, the first was overwritten and never reached the popup, so quick Down, Down, Down moved once and fast typeahead lost characters.

The key handlers now queue each event, and the effect dispatches every queued event to the popup in order. I added a spec that sends keys back to back and checks that each one is handled; it fails without the change.

The combobox relayed keys to the popup through a single signal that an effect read later. When
several keys arrived before the effect ran, only the last one reached the popup. Queue the events
and relay all of them, in order, when the effect runs.

Fixes angular#33973

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug(aria/combobox): keys pressed back to back are lost; only the last one reaches the popup

1 participant