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 tree jitters after modifying a setting #204207

Closed
rzhao271 opened this issue Feb 3, 2024 · 1 comment · Fixed by #220126
Closed

Settings tree jitters after modifying a setting #204207

rzhao271 opened this issue Feb 3, 2024 · 1 comment · Fixed by #220126
Assignees
Labels
bug Issue identified by VS Code Team member as probable bug confirmed Issue has been confirmed by VS Code Team member papercut 🩸 A particularly annoying issue impacting someone on the team settings-editor VS Code settings editor issues unreleased Patch has not yet been released in VS Code Insiders
Milestone

Comments

@rzhao271
Copy link
Contributor

rzhao271 commented Feb 3, 2024

Regression from #68385

I haven't identified when the issue started happening again.

Repro steps:

  1. Navigate to the Settings editor
  2. Scroll down
  3. Click on a checkbox or edit an inputbox on an unmodified setting, and wait for the setting to become modified, or click another nearby setting.
  4. 🐛 The Settings editor settings tree jumps.
@rzhao271 rzhao271 added bug Issue identified by VS Code Team member as probable bug confirmed Issue has been confirmed by VS Code Team member papercut 🩸 A particularly annoying issue impacting someone on the team settings-editor VS Code settings editor issues labels Feb 3, 2024
@rzhao271 rzhao271 added this to the February 2024 milestone Feb 3, 2024
@rzhao271 rzhao271 self-assigned this Feb 3, 2024
@rzhao271
Copy link
Contributor Author

rzhao271 commented Feb 3, 2024

I noticed the following:

  • Not rendering the Settings indicator labels does not fix the issue
  • After a setting value changes, SettingsTree#setChildren is called. Then, when ListView#insertItemInDOM is called during ListView#_splice, the setting tree elements are all smushed together. That behaviour is even more dramatic when a setting has a multi-line description.
  • ListView#insertItemInDOM calls ListView#updateItemInDOM, which sets the top of the DOM node to an incorrect value. It looks like the value that is used is an estimate. I believe this estimation process is what causes the settings tree elements to shift upwards and smush together.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Issue identified by VS Code Team member as probable bug confirmed Issue has been confirmed by VS Code Team member papercut 🩸 A particularly annoying issue impacting someone on the team settings-editor VS Code settings editor issues unreleased Patch has not yet been released in VS Code Insiders
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants