Skip to content

Add task detail view with navigation and log streaming#774

Open
EhabY wants to merge 3 commits intotasks/list-uifrom
tasks/detail-view
Open

Add task detail view with navigation and log streaming#774
EhabY wants to merge 3 commits intotasks/list-uifrom
tasks/detail-view

Conversation

@EhabY
Copy link
Collaborator

@EhabY EhabY commented Feb 4, 2026

Summary

  • Adds task detail view with navigation from list
  • Real-time log streaming via push messages
  • Adaptive polling based on task state
  • Inline detail view within Task History section

Changes

Components:

  • TaskDetailView - main detail view container
  • TaskDetailHeader - back button, status, action menu
  • AgentChatHistory - log entries with smart scroll tracking
  • TaskInput - message input with pause button and state-aware placeholder
  • ErrorBanner - task error display with link to logs

App.tsx enhancements:

  • Navigation between task list and detail view
  • Selected task state persistence and validation
  • Adaptive polling intervals (faster when task is active)
  • Real-time log streaming via logsAppend push messages
  • Transition animation when switching views

Config additions:

  • TASK_ACTIVE_INTERVAL_MS (5s) for working tasks
  • TASK_IDLE_INTERVAL_MS (10s) for idle/complete tasks

Adds foundational infrastructure for the Tasks panel:

Backend (TasksPanel.ts):
- CRUD operations for tasks (create, delete, pause, resume)
- Template and preset management
- Log fetching with caching
- Real-time push notifications to webview

Type-safe IPC Protocol:
- Generic request/response/notification patterns
- Compile-time type safety for webview-extension messages
- useIpc hook for React components
- useTasksApi hook with typed methods

Supporting infrastructure:
- Test setup for jsdom compatibility with Lit elements
- Codicon stylesheet integration for vscode-elements
- React Compiler integration with ESLint plugin
- pnpm catalog for consistent dependency versions
@EhabY EhabY self-assigned this Feb 4, 2026
@EhabY EhabY changed the base branch from main to tasks/list-ui February 4, 2026 07:52
Adds the task list UI layer including:
- Collapsible sections for Create Task and Task History
- CreateTaskSection with template/preset selection
- TaskList and TaskItem components with status indicators
- ActionMenu component for task actions (pause, resume, delete)
- StatusIndicator with state-based styling
- ErrorState, NotSupportedState, NoTemplateState empty states
- State persistence across webview visibility changes
- Polling for task list updates with ref-based comparison
- Push message handling for real-time updates

Utilities:
- taskArraysEqual/templateArraysEqual for efficient diffing
- getDisplayName/getLoadingLabel helper functions
Adds the task detail view layer including:

Components:
- TaskDetailView as the main detail view container
- TaskDetailHeader with back button, status, and action menu
- AgentChatHistory for displaying task log entries with scroll tracking
- TaskInput with pause button and state-aware placeholder
- ErrorBanner for displaying task errors with link to logs

App.tsx enhancements:
- Navigation between task list and detail view (inline in Task History)
- Selected task state persistence and validation
- Adaptive polling intervals based on task state (active vs idle)
- Real-time log streaming via logsAppend push messages
- refs to avoid stale closures in message handlers
- Transition animation when switching views

Config additions:
- TASK_ACTIVE_INTERVAL_MS for faster updates when task is working
- TASK_IDLE_INTERVAL_MS for slower updates when task is idle/complete

Also adds codicons CSS import for icon rendering.
@EhabY EhabY force-pushed the tasks/detail-view branch from 9f3ab70 to 5a3c6ae Compare February 4, 2026 07:54
@EhabY EhabY force-pushed the tasks/list-ui branch 3 times, most recently from c3372ac to 8e0e928 Compare February 5, 2026 12:31
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.

1 participant