Context
Port the Desktop Tasks Sidebar feature from upstream PR anomalyco/opencode#7223 by @dbpolito.
This feature adds a Tasks sidebar tab to the desktop app, addressing a commonly requested feature - the ability to view and track task progress (todos) directly in the sidebar panel.
Problem
Currently, the TUI has visibility into tasks/todos, but the desktop web app lacks this feature. Users have no way to see pending or in-progress tasks without switching context.
Solution from Upstream PR
The PR introduces:
- Tasks tab in sidebar - Shows when there are incomplete tasks
- Task indicator in header - Displays task progress (e.g., "2/5 Tasks") with status indicator
- Renamed toggle - "Toggle Review" → "Toggle Sidebar" (more accurate)
- Smart sidebar behavior:
- Shows toggle if files changed OR tasks pending
- Auto-opens to Tasks tab when no file changes exist
- Clicking task indicator in header opens sidebar to Tasks tab
Files to Merge
| File |
Status |
Changes |
packages/app/src/components/session-task-indicator.tsx |
New |
Task progress indicator for header |
packages/app/src/components/session-task-panel.tsx |
New |
Full task list panel component |
packages/app/src/components/session/session-header.tsx |
Modified |
Add indicator, rename toggle, add showSidebarToggle logic |
packages/app/src/context/layout.tsx |
Modified |
Minor formatting (whitespace only) |
packages/app/src/pages/session.tsx |
Modified |
Add tasks tab, hasIncompleteTasks logic, tab filtering |
Implementation Notes
Dependencies Verified ✓
checklist icon - exists at packages/ui/src/components/icon.tsx:L~300
circle-check, dot-grid, close, check icons - all exist
Todo type from SDK - available
Potential Conflicts
Our fork has modifications to session.tsx (AskQuestion wizard integration) and may have minor differences in session-header.tsx. Manual conflict resolution may be needed.
Reference Code Locations
- Current toggle button:
packages/app/src/components/session/session-header.tsx:171
- Current tabs logic:
packages/app/src/pages/session.tsx:741-769
Acceptance Criteria
Tasks
Context
Port the Desktop Tasks Sidebar feature from upstream PR anomalyco/opencode#7223 by @dbpolito.
This feature adds a Tasks sidebar tab to the desktop app, addressing a commonly requested feature - the ability to view and track task progress (todos) directly in the sidebar panel.
Problem
Currently, the TUI has visibility into tasks/todos, but the desktop web app lacks this feature. Users have no way to see pending or in-progress tasks without switching context.
Solution from Upstream PR
The PR introduces:
Files to Merge
packages/app/src/components/session-task-indicator.tsxpackages/app/src/components/session-task-panel.tsxpackages/app/src/components/session/session-header.tsxpackages/app/src/context/layout.tsxpackages/app/src/pages/session.tsxImplementation Notes
Dependencies Verified ✓
checklisticon - exists atpackages/ui/src/components/icon.tsx:L~300circle-check,dot-grid,close,checkicons - all existTodotype from SDK - availablePotential Conflicts
Our fork has modifications to
session.tsx(AskQuestion wizard integration) and may have minor differences insession-header.tsx. Manual conflict resolution may be needed.Reference Code Locations
packages/app/src/components/session/session-header.tsx:171packages/app/src/pages/session.tsx:741-769Acceptance Criteria
session-task-indicator.tsxcomponent createdsession-task-panel.tsxcomponent createdbun turbo check)bun turbo test)Tasks