Skip to content

Conversation

@EhabY
Copy link
Collaborator

@EhabY EhabY commented Feb 4, 2026

Summary

Clicking a task in the list now navigates to a detail page with header, log history, and message input.

Components

  • TaskDetailView: composes the header, chat history, error banner, and message input
  • TaskDetailHeader: back button, status dot, task label with loading text (e.g. "Pausing..."), action menu
  • AgentChatHistory: log entries grouped by role (user/agent) with auto-scroll via useFollowScroll
  • TaskMessageInput: placeholder changes per task status, shows a pause button when the agent is working, Ctrl+Enter to send
  • ErrorBanner: error message with "View logs" link, shown when task status is error

Hooks

  • useSelectedTask: tracks selected task, validates against the task list, fetches details with adaptive polling (faster when active, slower when idle)
  • useFollowScroll: keeps chat scrolled to bottom as logs grow, backs off when the user scrolls up

Other changes

  • sendTaskMessage promoted from command to request (now returns a response)
  • canSendMessage added to TaskPermissions
  • taskDetails() test factory and Proxy-based useTasksApi mock for cleaner tests
  • Tests for all new components and utilities

@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
@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 10 times, most recently from 07d17be to 23e1504 Compare February 9, 2026 11:58
@EhabY EhabY force-pushed the tasks/detail-view branch from 5a3c6ae to d21133d Compare February 9, 2026 13:12
@EhabY EhabY force-pushed the tasks/detail-view branch from 8fdc5f0 to 686ede3 Compare February 9, 2026 21:17
@EhabY EhabY force-pushed the tasks/detail-view branch 2 times, most recently from e7e96f8 to 4cafe0a Compare February 10, 2026 21:23
@EhabY EhabY force-pushed the tasks/detail-view branch from 4cafe0a to 38479a6 Compare February 10, 2026 21:27
@EhabY EhabY force-pushed the tasks/list-ui branch 2 times, most recently from 0302286 to 508db63 Compare February 11, 2026 00:18
@EhabY EhabY force-pushed the tasks/detail-view branch 2 times, most recently from aa6e31c to 86aac04 Compare February 11, 2026 12:24
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.
- Use plain div for history section to enable flex layout that pins
  header and input while chat scrolls via inner VscodeScrollable
- Add useFollowScroll hook supporting both VscodeScrollable
  (scrollPos/scrollMax API) and plain scrollable divs
- Extract LogEntry component with user/agent role labels and styled
  message groups
- Restyle error banner with color-mixed --vscode-errorForeground
@EhabY EhabY force-pushed the tasks/detail-view branch from 86aac04 to 7ca43c9 Compare February 11, 2026 16:52
@EhabY EhabY changed the title Add task detail view with navigation and log streaming Add task detail view with navigation, messaging, and log history Feb 11, 2026
@EhabY EhabY force-pushed the tasks/detail-view branch from f02beeb to 565ebe8 Compare February 11, 2026 21:56
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