Skip to content

Comments

feat: add workspace support#78

Open
simoncdna wants to merge 15 commits intomainfrom
15-feat-add-projects-support
Open

feat: add workspace support#78
simoncdna wants to merge 15 commits intomainfrom
15-feat-add-projects-support

Conversation

@simoncdna
Copy link
Owner

No description provided.

@simoncdna simoncdna self-assigned this Feb 2, 2026
Copilot AI review requested due to automatic review settings February 2, 2026 11:56
@simoncdna simoncdna linked an issue Feb 2, 2026 that may be closed by this pull request
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds comprehensive workspace support to the application, allowing users to organize tasks into workspaces with a hierarchical tree view. The implementation includes full CRUD operations for workspaces, task-to-workspace associations, and a new tree-based navigation interface.

Changes:

  • Added workspace data model with database schema and repository implementation
  • Implemented tree-based UI for hierarchical workspace/task navigation in the sidebar
  • Added CRUD operations and modals for workspace management (create, delete, archive, move tasks)

Reviewed changes

Copilot reviewed 42 out of 43 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/state.rs Added workspace tree state and updated modal states to support workspace operations
src/models/workspace.rs Introduced new Workspace model with archival support
src/models/task.rs Added workspace_id field to associate tasks with workspaces
src/models/mod.rs Exported new Workspace model
src/keybindings.rs Extended keybindings to handle workspace-related actions and tree navigation
src/db/schema/workspaces.sql Created workspaces table schema
src/db/schema/tasks.sql Added workspace_id foreign key constraint to tasks table
src/db/repositories/workspace.rs Implemented workspace repository for database operations
src/db/repositories/task.rs Updated task repository to handle workspace_id field
src/db/repositories/mod.rs Exported WorkspaceRepository
src/db/connection.rs Updated schema initialization to include workspaces table
src/components/workspace/sidebar/active_workspaces.rs New tree-based workspace/task view component
src/components/workspace/sidebar/mod.rs Switched from active_tasks to active_workspaces view
src/components/workspace/context_view/workspace_view.rs Added workspace detail view showing associated tasks
src/components/workspace/context_view/task_view.rs Refactored to support rendering individual tasks or empty state
src/components/workspace/context_view/mod.rs Updated context view routing to handle workspace and task selection
src/components/modals/move_task.rs New modal for moving tasks between workspaces
src/components/modals/delete_workspace.rs New modal for workspace deletion confirmation
src/components/modals/create_task.rs Updated to accept dynamic title for reuse
src/components/modals/archive_workspace.rs New modal for archiving/unarchiving workspaces
src/components/modals/mod.rs Added new workspace-related modal modules
src/components/bottom_bar/key_hints.rs Updated help text to include workspace operations
src/app.rs Added workspace state management and modal rendering
src/actions/*.rs Updated all action handlers to support workspace tree navigation
Cargo.toml Added tui-tree-widget dependency and updated library versions
Comments suppressed due to low confidence (1)

Cargo.toml:1

  • Version downgrade from 0.29.0 to 0.28.1 may introduce compatibility issues or remove features. Verify this downgrade is intentional and test thoroughly for breaking changes.
[package]

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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.

[FEAT] Add projects support

1 participant