Repository navigation
Scope provider profiles to custom storage paths - #2305
FullstackSensei wants to merge 25 commits into
Conversation
Workspace provider isolation
Ref Zoo-Code-Org#2303: Use bracket access in provider tests
|
Important Review skippedAuto reviews are limited based on label configuration. 🏷️ Required labels (at least one): 1
Please check the settings in the CodeRabbit UI or the
|
Review statusThanks for contributing. This comment tracks the review sequence and the next action. Current step: Resolve the merge conflicts. The review sequence resumes after the branch is mergeable. Review-state labels are managed by this workflow; do not edit them manually. |
Fix invalid custom storage setting fallback
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Restore the full API history when rolling back before a compaction. Add a setting to disable automatic compaction and truncation.
Workspace provider isolation
Release 3.94.1
bump version in package.json
add version changes in changelog
add version changes in changelog
fix changelog formatting
Related GitHub Issue
Closes: #2303
Description
This PR scopes provider profiles to the configured custom storage path. It supports the Reliability First goal by keeping profiles separate across custom storage scopes.
When the setting is empty, the manager uses the existing global SecretStorage key. This preserves current behavior for users who do not set a custom path.
When the setting has a value, the manager normalizes the path and uses its hash to select a separate SecretStorage key. Provider profiles remain in VS Code SecretStorage. The custom path does not store them as files.
On first use of a scope, the manager copies the legacy profile only if no scoped profile exists. It keeps the legacy entry. Existing scoped profiles take precedence. The manager continues to use the existing load and store flows.
The manager reads the setting when it starts. Reload the extension after changing the path.
Test Procedure
Run the provider profile tests:
pnpm --dir src exec vitest run core/config/__tests__/ProviderSettingsManager.spec.tsResult: 68 tests passed.
Run the TypeScript check:
pnpm --dir src run check-typesRun ESLint on the changed files:
pnpm --dir src exec eslint --prune-suppressions --max-warnings=0 core/config/ProviderSettingsManager.ts core/config/__tests__/ProviderSettingsManager.spec.tsRun both dead-code checks:
pnpm knippnpm knip:productionBoth Knip checks passed.
These checks ran with Node v24.22.2. The repository requests Node v22.23.4, so pnpm reported an engine warning.
The full test suite did not pass on
mainin this environment. Dist asset tests reported missing generated assets. Checkpoint tests hit theGIT_MERGE_AUTOEDITenvironment guard.Pre-Submission Checklist
Visual Snapshots
Not applicable. This PR does not change the UI.
Videos (interaction / animation only)
Not applicable. This PR does not change an interactive UI flow.
Documentation Updates
Additional Notes
AI tools assisted with implementation and test updates.