fix: persist chat settings to config.yaml, not unregistered VS Code keys - #124
Merged
Conversation
The in-webview settings overlay and Add-Model dialogue posted a saveSettings message whose host handler wrote champ.provider and champ.<provider>.model/baseUrl to VS Code global settings. Those keys were removed from package.json in the YAML-only migration (#118), so any interaction surfaced "Unable to write to User Settings because champ.provider is not a registered configuration." saveSettings now writes the provider/model/baseUrl block into .champ/config.yaml (workspace or ~/.champ fallback) via upsertProviderInYaml with setActive, then reloads — never touching VS Code settings. Closes #123
The in-webview "Add Model" discovery fetch sent no Authorization header, so a key-required endpoint (MLX/OpenAI-compatible, vLLM) returned 401 and the UI showed "Connected · 0 models found" even though chat worked. The discovery probe now resolves the provider's apiKey (YAML config, then SecretStorage) via a new ChatViewProvider.setApiKeyResolver and sends it as Authorization: Bearer on /v1/models — mirroring the extension's probe fix. Refs #123
Owner
Author
|
Added a second fix to this branch: the model-discovery probe now sends the provider's apiKey as Authorization: Bearer (commit 8f8a2ef), so key-required endpoints like the MLX server show their models instead of '0 models found'. Tests: 1747 passed / 5 skipped. |
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.
Problem
The in-webview settings overlay and Add-Model dialogue posted a
saveSettingsmessage whose host handler wrote
champ.providerandchamp.<provider>.model/baseUrlto VS Code global settings. Those keys were removed from package.jsonin the YAML-only migration (#118), so any interaction surfaced:
Fix
saveSettingsnow writes the provider/model/baseUrl block into.champ/config.yaml(workspace, or~/.champfallback) viaupsertProviderInYamlwith setActive, then reloads. It no longer touches VSCode settings for provider/model/baseUrl.
Tests
Closes #123