Skip to content

Add Tasks panel list view with components and polling#773

Open
EhabY wants to merge 1 commit intotasks/infrastructurefrom
tasks/list-ui
Open

Add Tasks panel list view with components and polling#773
EhabY wants to merge 1 commit intotasks/infrastructurefrom
tasks/list-ui

Conversation

@EhabY
Copy link
Collaborator

@EhabY EhabY commented Feb 4, 2026

Summary

  • Adds the task list UI layer with React components
  • Collapsible sections for Create Task and Task History
  • State persistence across webview visibility changes
  • Polling for task list updates with efficient diffing

Changes

Components:

  • CollapsibleSection - expandable/collapsible container
  • CreateTaskSection - template/preset selection form
  • TaskList / TaskItem - task listing with status indicators
  • ActionMenu - dropdown for task actions (pause, resume, delete)
  • StatusIndicator - state-based status dot styling
  • Empty states: ErrorState, NotSupportedState, NoTemplateState

App.tsx:

  • Task list display with polling
  • Push message handling for real-time updates
  • State persistence via VS Code webview state API
  • Refs to avoid stale closures in callbacks

Utilities:

  • taskArraysEqual / templateArraysEqual for efficient diffing
  • getDisplayName / getLoadingLabel helper functions

@EhabY EhabY self-assigned this Feb 4, 2026
@EhabY EhabY force-pushed the tasks/infrastructure branch from 318c084 to 33757b5 Compare February 4, 2026 07:49
@EhabY EhabY force-pushed the tasks/infrastructure branch 5 times, most recently from 343940c to f7f9316 Compare February 5, 2026 09:29
@EhabY EhabY force-pushed the tasks/list-ui branch 2 times, most recently from 8b03ff4 to c3372ac Compare February 5, 2026 12:29
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
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