Skip to content

MCP settings changes in second Roo tab do not persist (multi-tab state sync bug) #8634

@roomote

Description

@roomote

Summary
A multi-tab persistence bug was discovered while testing PR #8633. When two Roo tabs are open in the same workspace, changes made to MCP tool permissions or MCP Servers from the second tab do not persist and appear to be applied to the original tab.

Reproduction steps

  1. Open Roo in a workspace
  2. Open a second Roo tab in the same workspace
  3. In the newly opened Roo tab, instruct Roo to call an MCP tool
  4. Toggle the "always allow" checkbox for the MCP tool
  5. Make changes in the "MCP Servers" menu from the second tab
  6. Observe: changes from the second tab are not recognized/persisted and appear applied to the first tab

Expected behavior

  • Changes made from any tab persist and are reflected across all open Roo tabs.
  • The tab that initiated the change immediately reflects the new state.

Actual behavior

  • Changes from the second tab do not persist locally in that tab.
  • Changes seem to be applied to the original tab instance instead.

Environment

Notes / suspected cause

  • Likely cross-tab state synchronization issue between multiple Roo webviews sharing a single extension host process.
  • Programmatic config writes/read consistency might be scoped to one McpHub instance; other webviews may not receive/broadcast updates.
  • Needs explicit cross-webview broadcasting (postMessage) and/or subscription to config file changes, with fresh reads from disk.

Related PR

Acceptance criteria

  • Toggling "always allow" or MCP Server settings in any Roo tab persists and is reflected in all tabs within the same workspace.
  • No unintended server restarts or reconnections when toggling.
  • Add tests or instrumentation to cover multi-tab scenarios where feasible.

Linked PR

Metadata

Metadata

Assignees

No one assigned

    Labels

    Issue/PR - TriageNew issue. Needs quick review to confirm validity and assign labels.UI/UXUI/UX related or focusedbugSomething isn't workingfrontend

    Type

    No type

    Projects

    Status

    Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions