Don't refresh variables on every console execution #5871
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.
This change addresses an issue in which invoking long-running commands causes variables RPC errors to appear.
The underlying issue is that currently every code execution in the Console is triggering a full refresh of the Variables pane (introduced in #5583). So when code is executed, we're asking for a refreshed Variables pane immediately afterwards, but the RPC doesn't go through right away because code is executing. If the code takes a while to execute, the RPC eventually times out.
The fix is to avoid refreshing the Variables pane if it's already showing the correct session.
There are other changes that would improve this, such as having the Variables pane queue refresh requests until the kernel is idle, or auditing refresh triggers so they run when code finishes executing. This change is intended to be the minimal one that fixes the problem.
Addresses #5813 and #5806.
QA Notes
Make sure the behavior described in #5583 still works, too.