Problem
When multiple webview instances run in parallel mode, mode switches and provider profile changes are not properly isolated per view. This causes:
handleModeSwitch writes global state instead of per-view state
- Provider profile divergence between parallel tabs — one tab changes the profile, others see stale data
- Profile delete operations use merged (global) state instead of view-local state, causing incorrect deletions
Solution
Route all mode and provider profile write operations through the per-view state base introduced in PR #977:
handleModeSwitch writes to view-local state instead of global state
- Provider profile upsert/activate/delete use merged view-local state for correct per-view behavior
- Profile divergence is resolved by each tab maintaining its own profile selection
Scope
Tests
- Targeted tests: 74 passed
- Expanded mode/API-related set: 200 passed
- Full core run: 2184 passed / 9 skipped
Related
Problem
When multiple webview instances run in parallel mode, mode switches and provider profile changes are not properly isolated per view. This causes:
handleModeSwitchwrites global state instead of per-view stateSolution
Route all mode and provider profile write operations through the per-view state base introduced in PR #977:
handleModeSwitchwrites to view-local state instead of global stateScope
handleModeSwitch→ view-local mode persistenceTests
Related