fix: assign data provider after $connector function are defined#9625
Merged
Conversation
Artur-
marked this pull request as ready for review
June 26, 2026 12:45
vursen
self-requested a review
June 28, 2026 05:54
The connector assigned comboBox.dataProvider near the start of initLazy, before $connector.requestPage and the other $connector functions were defined. Since Vaadin 25.2 the web component runs the dataProvider property observer synchronously, so the assignment immediately triggered a first-page load that called back into $connector.requestPage while it was still undefined. The resulting error aborted connector initialization, leaving the dropdown stuck on the loading spinner with empty items. Assign the data provider last, after all $connector functions exist, so the synchronous first-page load can safely call back into the connector. Fixes #9622
vursen
force-pushed
the
fix/9622-hidden-combobox-items
branch
from
June 29, 2026 10:07
f67678b to
e3f222e
Compare
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
vursen
approved these changes
Jun 29, 2026
vursen
enabled auto-merge
June 29, 2026 10:14
|
vursen
added a commit
that referenced
this pull request
Jun 29, 2026
… (#9635) This PR cherry-picks changes from the original PR #9625 to branch 25.2. --- #### Original PR description > The connector assigned comboBox.dataProvider near the start of initLazy, before $connector.requestPage and the other $connector functions were defined. Since Vaadin 25.2 the web component runs the dataProvider property observer synchronously, so the assignment immediately triggered a first-page load that called back into $connector.requestPage while it was still undefined. The resulting error aborted connector initialization, leaving the dropdown stuck on the loading spinner with empty items. > > Assign the data provider last, after all $connector functions exist, so the synchronous first-page load can safely call back into the connector. > > Fixes #9622 > Co-authored-by: Artur Signell <artur@vaadin.com> Co-authored-by: totally-not-ai[bot] <290682512+totally-not-ai[bot]@users.noreply.github.com> Co-authored-by: Sergey Vinogradov <mr.vursen@gmail.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



The connector assigned comboBox.dataProvider near the start of initLazy, before $connector.requestPage and the other $connector functions were defined. Since Vaadin 25.2 the web component runs the dataProvider property observer synchronously, so the assignment immediately triggered a first-page load that called back into $connector.requestPage while it was still undefined. The resulting error aborted connector initialization, leaving the dropdown stuck on the loading spinner with empty items.
Assign the data provider last, after all $connector functions exist, so the synchronous first-page load can safely call back into the connector.
Fixes #9622