Skip to content

feat: Remaining Phases (4+5+6) - Background Concurrency, Panel UI, Task Visibility (#12330)#12349

Open
roomote-v0[bot] wants to merge 5 commits into
feature/phase-2-3-combinedfrom
feature/remaining-phases-4-5-6
Open

feat: Remaining Phases (4+5+6) - Background Concurrency, Panel UI, Task Visibility (#12330)#12349
roomote-v0[bot] wants to merge 5 commits into
feature/phase-2-3-combinedfrom
feature/remaining-phases-4-5-6

Conversation

@roomote-v0
Copy link
Copy Markdown
Contributor

@roomote-v0 roomote-v0 Bot commented May 12, 2026

This PR attempts to address Issue #12330 by combining the remaining phases (4, 5, and 6) into a single PR with proper stacked branching.

What is included

Phase 4: Background Read-Only Concurrency

  • Background task execution with read-only tool restrictions
  • User notifications for background task completion, errors, and timeouts

Phase 5: Background Tasks Panel UI

  • Visual panel for monitoring parallel background tasks
  • Cancel confirmation and scroll constraints

Phase 6a: Conversation Replay

  • Replay completed background task conversations
  • Architectural design document for background task visibility

Phase 6b: Tab/Panel Switching

  • Switch between active background tasks via tabs
  • Command registration for background task navigation

Phase 6c: Real-time Progress Streaming

  • Live progress updates from running background tasks
  • Background task live view component

Branch Stack

Phase 3d remains deferred per discussion in #12330.

Feedback and guidance are welcome.

Interactively review PR in Roo Code Cloud

roomote added 5 commits May 12, 2026 14:40
…ner)

Implements the MVP for Phase 4 of the parallel execution roadmap:

- Add BackgroundTaskRunner service that manages concurrent read-only
  background tasks separately from the clineStack
- Add isBackgroundTask flag to Task class that suppresses webview
  updates and auto-approves all tool uses
- Extend new_task tool with optional background parameter
- Background tasks are restricted to read-only tools only
- Results are delivered asynchronously to the parent task via
  onBackgroundComplete callback
- Configurable concurrency limit (default 3) and timeout (default 5min)
- Proper cleanup on task cancellation, parent cancellation, and
  provider disposal
- 17 new tests for BackgroundTaskRunner, all existing tests pass

Issue #12330
…nd timeouts

- Add BackgroundTaskRunnerCallbacks interface with onTaskTimeout and onTaskError
- Wire VS Code notifications in ClineProvider: info on completion, warning on timeout/error
- Document auto-approval design decision for read-only background tasks
- Add 2 new tests for callback invocation (19 total, all passing)
Adds a collapsible Background Tasks Panel to the chat sidebar that shows
active and recently completed background tasks. This builds on the Phase 4
BackgroundTaskRunner to give users visibility into background work.

Key changes:
- BackgroundTaskStatusInfo type for exposing task status to the webview
- BackgroundTaskRunner tracks completed tasks with result summaries
- BackgroundTaskRunner.getTasksStatus() returns combined active + completed
- BackgroundTaskRunner.onStateChanged callback for UI refresh
- backgroundTasks field added to ExtensionState and getStateToPostToWebview
- cancelBackgroundTask webview message handler
- postBackgroundTasksToWebview() for lightweight status-only updates
- BackgroundTasksPanel React component with collapsible panel, cancel
  buttons, active count badge, and result summaries
- 31 backend tests (BackgroundTaskRunner) + 7 UI tests (panel component)
…#12330)

Phase 4: Background Read-Only Concurrency
Phase 5: Background Tasks Panel UI
Phase 6a: Conversation Replay for background tasks
Phase 6b: Tab/Panel Switching for background tasks
Phase 6c: Real-time Progress Streaming
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Enhancement New feature or request size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant