Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Settings editor UI is slow to update and sometimes renders out of date values #55803

Closed
roblourens opened this issue Aug 4, 2018 · 1 comment
Assignees
Labels
feature-request Request for new features or functionality settings-editor VS Code settings editor issues verification-needed Verification of issue is requested verified Verification succeeded
Milestone

Comments

@roblourens
Copy link
Member

roblourens commented Aug 4, 2018

When changing settings, we debounce edits, then rerender the whole tree when the edit actually happens, really just to get the "Modified" label to show up. We try to maintain focus on the control because the user may still be editing it.

This leads to a couple problems which aren't blocking anyone right now, but it isn't quite right.

  • If you edit a setting then quickly select a different setting, it will render the old value until the configuration service comes back with the new value. This will usually be quick but could be slow if saving settings.json is slow
  • When refreshing the list while the user is typing, the cursor position may not be restored correctly. e.g. with (decreasing the debounce to make it easier to repro):
    aug-03-2018 17-49-40

We need to

  • Not render the setting row that the user is currently editing, but show the "Modified" label when they start changing the value
    • The tree only lets us rerender a row from scratch, so we probably have to resort to hacks for this
  • Keep a local copy of the configuration that reflects the latest edits and resolves them with the slightly out of date config service
    • If user sends edit A and B, then config service notifies us that edit A happened, we need to know not to render the out of date edit A
@roblourens roblourens added feature-request Request for new features or functionality settings-editor VS Code settings editor issues labels Aug 4, 2018
@roblourens roblourens added this to the August 2018 milestone Aug 4, 2018
@roblourens roblourens self-assigned this Aug 4, 2018
roblourens added a commit that referenced this issue Aug 13, 2018
@roblourens roblourens added the verification-needed Verification of issue is requested label Aug 28, 2018
@isidorn
Copy link
Contributor

isidorn commented Aug 28, 2018

I did not experience issue like this while testing settings today -> verified
Also tried some of the corner cases Rob described above and it seems to be ok.

@isidorn isidorn added the verified Verification succeeded label Aug 28, 2018
@vscodebot vscodebot bot locked and limited conversation to collaborators Sep 27, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature-request Request for new features or functionality settings-editor VS Code settings editor issues verification-needed Verification of issue is requested verified Verification succeeded
Projects
None yet
Development

No branches or pull requests

2 participants