Perf: Lite skips heavy refresh for non-selected server tabs (P6)#1118
Merged
Conversation
Each open server tab's 60s DispatcherTimer fully refreshed its visible sub-tab — running DuckDB queries and rebuilding charts/grids — every tick even when the tab wasn't the selected one (N open tabs => N query+rebuild batches per minute of pure background churn). Now, on a timer tick, a tab that isn't visible skips the sub-tab data refresh and only keeps its alert badge current (RefreshAlertCountsAsync), marks itself dirty, and does one refresh when it becomes the selected tab again (IsVisibleChanged) — which also means switching to a tab now shows fresh data instead of stale data until the next tick. Build: Lite builds clean (net10). 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.
Each open server tab's 60s
DispatcherTimerfully refreshed its visible sub-tab — DuckDB queries + chart/grid rebuilds — every tick even when the tab wasn't selected (N open tabs => N query+rebuild batches/min of pure background churn).Now a non-visible tab skips the sub-tab data refresh on tick, keeps only its alert badge current, marks itself dirty, and does one refresh when it becomes the selected tab again (
IsVisibleChanged). Bonus: switching to a tab now shows fresh data instead of stale-until-next-tick.Build: Lite clean (net10). Validate on a running Lite (tab switching + badge updates).
🤖 Generated with Claude Code