fix(mcp): preserve OAuth policy and smooth settings transitions - #2955
Merged
Merged
Conversation
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.
Summary
Type and Areas
Type: Bug fix, UI/UX
Areas: Rust MCP services, Web UI settings
Motivation / Impact
An MCP server configured with
oauth: falsecould unexpectedly start OAuth because the configuration parser discarded the boolean value. Explicit OAuth policy now survives configuration round trips and participates in configuration identity.Background polling could briefly insert a loading placeholder above existing cards. MCP detail collapse also left a temporary padded gap, while closing the authentication dialog removed its body before the exit animation finished. These transitions now preserve stable content and layout through completion.
Verification
Passed:
pnpm --dir src/web-ui run test:run src/infrastructure/config/components/McpToolsConfig.test.tsx src/infrastructure/config/components/McpToolsConfig.presentation.test.ts src/infrastructure/config/components/common/ConfigCollectionItem.test.tsx— 24 tests.pnpm run check:web— type checking and appearance/theme checks.pnpm run motion:audit— completed the motion inventory.cargo test -p openbitfun-services-integrations --no-default-features --features mcp --test mcp_contracts mcp_cursor_— 4 tests.cargo test -p openbitfun-services-integrations --no-default-features --features mcp --test mcp_contracts mcp_json_config_helpers— 1 test.cargo test -p openbitfun-services-integrations --no-default-features --features mcp --test mcp_contracts mcp_config_merge_helpers— 1 test.cargo test -p openbitfun-services-integrations --no-default-features --features mcp --test mcp_contracts remote_mcp_oauth_can_be_explicitly_disabled— 1 test.Verification used local automated tests, including simulated Peer Device capability changes. No live remote-workspace, remote-control, Peer Device, or Detached Dispatch integration was exercised. Animation appearance was not manually verified in the desktop window.
Reviewer Notes
Checklist