fix(tui): preserve fallback provider during refresh - #2501
Draft
xushun007 wants to merge 1 commit into
Draft
Conversation
🦋 Changeset detectedLatest commit: 63677cd The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
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.
Related Issue
None. This is a focused, reproducible bug fix found while reviewing the current main branch.
Problem
Provider model refreshes use a remove-then-set flow so stale model aliases can be deleted. Removing a provider also clears
defaultProviderwhen it points to that provider.The managed OAuth, open-platform, and custom-registry refresh branches rebuilt the provider successfully but omitted
defaultProviderfrom the complete config patch. On the v2 atomic persistence path, that left the staged config without the configured fallback. A later provider refresh could then persist the missing value and silently remove a still-valid fallback provider.What changed
defaultProvidervalue in every complete provider-refresh config patch.undefined.Validation
pnpm exec vitest run apps/kimi-code/test/tui/utils/refresh-providers.test.ts apps/kimi-code/test/tui/kimi-tui-startup.test.ts— 74 tests passed.pnpm run typecheck— passed across all packages and applications.pnpm run lint— passed with no errors (existing repository warnings remain).git diff --checkand changeset status validation — passed.EMFILE: too many open files; the affected provider-refresh suites passed independently.Checklist
gen-changesetsskill, or this PR needs no changeset.gen-docsskill, or this PR needs no doc update.