Skip to content

fix(agent-manager): scope multi-project session state - #13304

Merged
marius-kilocode merged 3 commits into
mainfrom
fix-agent-manager-multi-project-session-loading
Aug 21, 2026
Merged

fix(agent-manager): scope multi-project session state#13304
marius-kilocode merged 3 commits into
mainfrom
fix-agent-manager-multi-project-session-loading

Conversation

@marius-kilocode

@marius-kilocode marius-kilocode commented Aug 21, 2026

Copy link
Copy Markdown
Collaborator

Agent Manager can display several projects at the same time, but its session and async-message state was still partly shared. Responses from one project could arrive after switching to another project and be applied to the active UI. The same problem affected remembered tabs, review panels, diff results, PR actions, and session status indicators. In practice, projects could show the wrong sessions, stay on loading skeletons, or show stopped worktrees as still running.

This change makes project ownership explicit at the boundaries where state enters and leaves Agent Manager. Session lists, selections, tabs, reviews, diffs, PR actions, and status updates are accepted only for their owning project, while background projects keep their own cached state. Switching projects now restores the correct local or worktree target without allowing late responses from the previous project to overwrite it. Missing session statuses are treated as stopped, so activity indicators show a spinner only when a session has a known active status.

The result is stable project isolation during normal use and during rapid project or session switching. Each project keeps the sessions, tabs, review state, diffs, PR data, and activity indicators that belong to it.

…ti-project-session-loading

# Conflicts:
#	packages/kilo-vscode/src/agent-manager/pr-status-bridge.ts
#	packages/kilo-vscode/tests/unit/am-pr-status-bridge.test.ts
#	packages/kilo-vscode/webview-ui/agent-manager/pr/PRPanel.tsx
Comment thread packages/kilo-vscode/src/agent-manager/pr-status-bridge.ts
Comment thread packages/kilo-vscode/src/agent-manager/pr-status-bridge.ts Outdated
Comment thread packages/kilo-vscode/src/agent-manager/worktree-diff-controller.ts Outdated
Comment thread packages/kilo-vscode/webview-ui/agent-manager/sidebar-collapse.ts Outdated
Comment thread packages/kilo-vscode/webview-ui/agent-manager/selection-actions.ts Outdated
Comment thread packages/kilo-vscode/webview-ui/agent-manager/selection-actions.ts
Comment thread packages/kilo-vscode/webview-ui/agent-manager/project/switch.ts Outdated
@kilo-code-bot

kilo-code-bot Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: 1 Issue Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 1
SUGGESTION 0
Issue Details (click to expand)

WARNING

File Line Issue
packages/kilo-vscode/webview-ui/agent-manager/selection-actions.ts 48 localTab false skips remembering Local session tabs
Files Reviewed (49 files)
  • .changeset/quiet-project-session-switch.md
  • packages/kilo-vscode/src/KiloProvider.ts
  • packages/kilo-vscode/src/agent-manager/AgentManagerProvider.ts
  • packages/kilo-vscode/src/agent-manager/orchestration-setup.ts
  • packages/kilo-vscode/src/agent-manager/pr-status-bridge.ts
  • packages/kilo-vscode/src/agent-manager/project/diff-branches.ts
  • packages/kilo-vscode/src/agent-manager/project/messages.ts
  • packages/kilo-vscode/src/agent-manager/project/pollers.ts
  • packages/kilo-vscode/src/agent-manager/types.ts
  • packages/kilo-vscode/src/agent-manager/worktree-diff-controller.ts
  • packages/kilo-vscode/tests/unit/agent-manager-new-worktree-project.test.ts
  • packages/kilo-vscode/tests/unit/agent-manager-selection-actions.test.ts
  • packages/kilo-vscode/tests/unit/agent-project-restore.test.ts
  • packages/kilo-vscode/tests/unit/agent-project-selection-webview.test.ts
  • packages/kilo-vscode/tests/unit/am-pr-status-bridge.test.ts
  • packages/kilo-vscode/tests/unit/project-message-ownership.test.ts
  • packages/kilo-vscode/tests/unit/project-review-state.test.ts
  • packages/kilo-vscode/tests/unit/project-session-busy.test.ts
  • packages/kilo-vscode/tests/unit/project-state-handlers.test.ts
  • packages/kilo-vscode/tests/unit/tab-order-sync.test.ts
  • packages/kilo-vscode/webview-ui/agent-manager/AgentManagerApp.tsx
  • packages/kilo-vscode/webview-ui/agent-manager/ProjectBranchDialog.tsx
  • packages/kilo-vscode/webview-ui/agent-manager/ProjectSidebarBody.tsx
  • packages/kilo-vscode/webview-ui/agent-manager/ProjectsSection.tsx
  • packages/kilo-vscode/webview-ui/agent-manager/SidebarBody.tsx
  • packages/kilo-vscode/webview-ui/agent-manager/SidebarSectionHeader.tsx
  • packages/kilo-vscode/webview-ui/agent-manager/apply-to-local.tsx
  • packages/kilo-vscode/webview-ui/agent-manager/diff-review-scope.ts
  • packages/kilo-vscode/webview-ui/agent-manager/pr/PRComments.tsx
  • packages/kilo-vscode/webview-ui/agent-manager/pr/PRPanel.tsx
  • packages/kilo-vscode/webview-ui/agent-manager/pr/PRPanelHost.tsx
  • packages/kilo-vscode/webview-ui/agent-manager/project/local-tabs.ts
  • packages/kilo-vscode/webview-ui/agent-manager/project/message-ownership.ts
  • packages/kilo-vscode/webview-ui/agent-manager/project/restore.ts
  • packages/kilo-vscode/webview-ui/agent-manager/project/review-state.ts
  • packages/kilo-vscode/webview-ui/agent-manager/project/selection.ts
  • packages/kilo-vscode/webview-ui/agent-manager/project/session-busy.ts
  • packages/kilo-vscode/webview-ui/agent-manager/project/state-handlers.ts
  • packages/kilo-vscode/webview-ui/agent-manager/project/switch.ts
  • packages/kilo-vscode/webview-ui/agent-manager/revert-file.ts
  • packages/kilo-vscode/webview-ui/agent-manager/selection-actions.ts - 1 issue
  • packages/kilo-vscode/webview-ui/agent-manager/sidebar-collapse.ts
  • packages/kilo-vscode/webview-ui/agent-manager/subagent-tabs.ts
  • packages/kilo-vscode/webview-ui/agent-manager/tab-order-sync.ts
  • packages/kilo-vscode/webview-ui/agent-manager/worktree-diffs.ts
  • packages/kilo-vscode/webview-ui/src/context/session-project.ts
  • packages/kilo-vscode/webview-ui/src/context/session.tsx
  • packages/kilo-vscode/webview-ui/src/types/messages/extension-messages.ts
  • packages/kilo-vscode/webview-ui/src/types/messages/webview-messages.ts

Fix these issues in Kilo Cloud

Previous Review Summary (commit 7a448d7)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit 7a448d7)

Status: 7 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 6
SUGGESTION 1
Issue Details (click to expand)

WARNING

File Line Issue
packages/kilo-vscode/src/agent-manager/pr-status-bridge.ts 107 Comment resolve/unresolve is not scoped to the active project
packages/kilo-vscode/src/agent-manager/pr-status-bridge.ts 133 Comment failure results dropped ghErrorReason
packages/kilo-vscode/src/agent-manager/worktree-diff-controller.ts 289 Diff owner snapshot vs live project resolve; Local watch no-ops across projects
packages/kilo-vscode/webview-ui/agent-manager/sidebar-collapse.ts 33 Persisted sidebar collapsed state is no longer applied
packages/kilo-vscode/webview-ui/agent-manager/selection-actions.ts 45 Local tab memory drops terminal and review tabs
packages/kilo-vscode/webview-ui/agent-manager/project/switch.ts 13 Subagent reset runs after project id update and clears the wrong scope

SUGGESTION

File Line Issue
packages/kilo-vscode/webview-ui/agent-manager/selection-actions.ts 134 Remembered Local draft tabs are skipped when any real session exists
Files Reviewed (49 files)
  • .changeset/quiet-project-session-switch.md
  • packages/kilo-vscode/src/KiloProvider.ts
  • packages/kilo-vscode/src/agent-manager/AgentManagerProvider.ts
  • packages/kilo-vscode/src/agent-manager/orchestration-setup.ts
  • packages/kilo-vscode/src/agent-manager/pr-status-bridge.ts - 2 issues
  • packages/kilo-vscode/src/agent-manager/project/diff-branches.ts
  • packages/kilo-vscode/src/agent-manager/project/messages.ts
  • packages/kilo-vscode/src/agent-manager/project/pollers.ts
  • packages/kilo-vscode/src/agent-manager/types.ts
  • packages/kilo-vscode/src/agent-manager/worktree-diff-controller.ts - 1 issue
  • packages/kilo-vscode/tests/unit/agent-manager-new-worktree-project.test.ts
  • packages/kilo-vscode/tests/unit/agent-manager-selection-actions.test.ts
  • packages/kilo-vscode/tests/unit/agent-project-restore.test.ts
  • packages/kilo-vscode/tests/unit/agent-project-selection-webview.test.ts
  • packages/kilo-vscode/tests/unit/am-pr-status-bridge.test.ts
  • packages/kilo-vscode/tests/unit/project-message-ownership.test.ts
  • packages/kilo-vscode/tests/unit/project-review-state.test.ts
  • packages/kilo-vscode/tests/unit/project-session-busy.test.ts
  • packages/kilo-vscode/tests/unit/project-state-handlers.test.ts
  • packages/kilo-vscode/tests/unit/tab-order-sync.test.ts
  • packages/kilo-vscode/webview-ui/agent-manager/AgentManagerApp.tsx
  • packages/kilo-vscode/webview-ui/agent-manager/ProjectBranchDialog.tsx
  • packages/kilo-vscode/webview-ui/agent-manager/ProjectSidebarBody.tsx
  • packages/kilo-vscode/webview-ui/agent-manager/ProjectsSection.tsx
  • packages/kilo-vscode/webview-ui/agent-manager/SidebarBody.tsx
  • packages/kilo-vscode/webview-ui/agent-manager/SidebarSectionHeader.tsx
  • packages/kilo-vscode/webview-ui/agent-manager/apply-to-local.tsx
  • packages/kilo-vscode/webview-ui/agent-manager/diff-review-scope.ts
  • packages/kilo-vscode/webview-ui/agent-manager/pr/PRComments.tsx
  • packages/kilo-vscode/webview-ui/agent-manager/pr/PRPanel.tsx
  • packages/kilo-vscode/webview-ui/agent-manager/pr/PRPanelHost.tsx
  • packages/kilo-vscode/webview-ui/agent-manager/project/local-tabs.ts
  • packages/kilo-vscode/webview-ui/agent-manager/project/message-ownership.ts
  • packages/kilo-vscode/webview-ui/agent-manager/project/restore.ts
  • packages/kilo-vscode/webview-ui/agent-manager/project/review-state.ts
  • packages/kilo-vscode/webview-ui/agent-manager/project/selection.ts
  • packages/kilo-vscode/webview-ui/agent-manager/project/session-busy.ts
  • packages/kilo-vscode/webview-ui/agent-manager/project/state-handlers.ts
  • packages/kilo-vscode/webview-ui/agent-manager/project/switch.ts - 1 issue
  • packages/kilo-vscode/webview-ui/agent-manager/revert-file.ts
  • packages/kilo-vscode/webview-ui/agent-manager/selection-actions.ts - 2 issues
  • packages/kilo-vscode/webview-ui/agent-manager/sidebar-collapse.ts - 1 issue
  • packages/kilo-vscode/webview-ui/agent-manager/subagent-tabs.ts
  • packages/kilo-vscode/webview-ui/agent-manager/tab-order-sync.ts
  • packages/kilo-vscode/webview-ui/agent-manager/worktree-diffs.ts
  • packages/kilo-vscode/webview-ui/src/context/session-project.ts
  • packages/kilo-vscode/webview-ui/src/context/session.tsx
  • packages/kilo-vscode/webview-ui/src/types/messages/extension-messages.ts
  • packages/kilo-vscode/webview-ui/src/types/messages/webview-messages.ts

Fix these issues in Kilo Cloud


Reviewed by grok-4.6 · Input: 106.3K · Output: 23.9K · Cached: 1M

Review guidance: REVIEW.md from base branch main

@marius-kilocode
marius-kilocode merged commit 04c3e2a into main Aug 21, 2026
24 checks passed
@marius-kilocode
marius-kilocode deleted the fix-agent-manager-multi-project-session-loading branch August 21, 2026 11:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants