fix: reset loading indicator state after each request#23229
Merged
Conversation
Changes the loading indicator to reset after each individual request completes, rather than staying visible across rapid successive requests. Previously, the timer would continue across multiple requests, causing the indicator to show even when each individual request was fast. Now each request gets independent timing - if a request completes before the threshold (default 450ms), the indicator never appears. This fixes the issue with cursor tracking and other scenarios involving many rapid server calls. Fixes #23223
caalador
reviewed
Feb 11, 2026
…estResponseTracker.java Co-authored-by: caalador <mikael.grankvist@vaadin.com>
caalador
approved these changes
Feb 11, 2026
|
platosha
added a commit
that referenced
this pull request
May 11, 2026
Fixes #24075 This change reverts the eager removal of loading state introduced by #23229, as it causes the indication to disappear during ongoing loading. As a replacement, it re-introduces debouncing tracking of active requests, and adds event-based silencing of the loading indication to avoid flashing the indicator for high-frequency UI interactions. In addition, instead of setting loading state using `ConnectionState.setState()` directly, the proper connection state methods (`loadingStarted()`, `loadingFinished()`) are used to avoid interference with loading state for requests from other sources outside Flow client.
platosha
added a commit
that referenced
this pull request
May 11, 2026
Fixes #24075 This change reverts the eager removal of loading state introduced by #23229, as it causes the indication to disappear during ongoing loading. As a replacement, it re-introduces debouncing tracking of active requests, and adds event-based silencing of the loading indication to avoid flashing the indicator for high-frequency UI interactions. In addition, instead of setting loading state using `ConnectionState.setState()` directly, the proper connection state methods (`loadingStarted()`, `loadingFinished()`) are used to avoid interference with loading state for requests from other sources outside Flow client.
platosha
added a commit
that referenced
this pull request
May 12, 2026
Fixes #24075 This change reverts the eager removal of loading state introduced by #23229, as it causes the indication to disappear during ongoing loading. As a replacement, it re-introduces debouncing tracking of active requests, and adds event-based silencing of the loading indication to avoid flashing the indicator for high-frequency UI interactions. In addition, instead of setting loading state using `ConnectionState.setState()` directly, the proper connection state methods (`loadingStarted()`, `loadingFinished()`) are used to avoid interference with loading state for requests from other sources outside Flow client.
vaadin-bot
added a commit
that referenced
this pull request
May 13, 2026
… (CP: 25.1) (#24335) This PR cherry-picks changes from the original PR #24230 to branch 25.1. --- #### Original PR description > Fixes #24075 > > This change reverts the eager removal of loading state introduced by #23229, as it causes the indication to disappear during ongoing loading. As a replacement, it re-introduces debouncing tracking of active requests, and adds event-based silencing of the loading indication to avoid flashing the indicator for high-frequency UI interactions. > > In addition, instead of setting loading state using `ConnectionState.setState()` directly, the proper connection state methods (`loadingStarted()`, `loadingFinished()`) are used to avoid interference with loading state for requests from other sources outside Flow client. > Co-authored-by: Anton Platonov <anton@vaadin.com> Co-authored-by: Marco Collovati <marco@vaadin.com> Co-authored-by: Mikhail Shabarov <61410877+mshabarov@users.noreply.github.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.



Changes the loading indicator to reset after each individual request completes, rather than staying visible across rapid successive requests. Previously, the timer would continue across multiple requests, causing the indicator to show even when each individual request was fast.
Now each request gets independent timing - if a request completes before the threshold (default 450ms), the indicator never appears. This fixes the issue with cursor tracking and other scenarios involving many rapid server calls.
Fixes #23223
Description
Please list all relevant dependencies in this section and provide summary of the change, motivation and context.
Fixes # (issue)
Type of change
Checklist
Additional for
Featuretype of change