Skip to content

fix project overrides getting lost on saving global configs - #2932

Merged
rchl merged 2 commits into
mainfrom
fix/reload-settings
May 28, 2026
Merged

rchl merged 2 commits into
mainfrom
fix/reload-settings

Conversation

@rchl

@rchl rchl commented May 27, 2026 •

Copy link
Copy Markdown
Member

I've discovered a bug with saving LSP packages preferences.

After making any change in settings and saving, we'd send workspace/didChangeConfiguration to the server without including project overrides.

To reproduce:

  1. Set in project settings:
{
    "settings": {
        "LSP": {
            "LSP-pyright": {
                "settings": {
                    "pyright.dev_environment": "sublime_text"
                }
            }
        }
    }
}
  1. Open Preferences: LSP-pyright Settings
  2. Change (add/remove) some other key in settings
  3. Save

We'd send updated configuration without pyright.dev_environment.

The issue was that we've evaluated whether config has changed too early (in ClientConfigs). We have to let WindowConfigManager evaluate that after merging project overrides and then notify session about changes from within WindowManager.

@jwortmann

Copy link
Copy Markdown
Member

I think there is still another bug that if you modify a server setting in project settings, then the server is restarted (but that also happens on main, so it's not a new bug).

@rchl

rchl commented May 28, 2026

Copy link
Copy Markdown
Member Author

I'll have a look at it next.

@rchl
rchl merged commit 570b889 into main May 28, 2026
8 checks passed
@rchl
rchl deleted the fix/reload-settings branch May 28, 2026 18:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants