-
Notifications
You must be signed in to change notification settings - Fork 69
Rename workspace to task throughout codebase #487
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Rename WorkspaceSnapshot to TaskSnapshot - Rename workspaceStates/workspaceListeners to taskStates/taskListeners - Rename ensureWorkspaceState/updateWorkspaceState to ensureTaskState/updateTaskState - Rename subscribeToWorkspaceRunState to subscribeToTaskRunState - Rename refreshWorkspaceRunState to refreshTaskRunState - Rename watchWorkspacePty/Containers/Activity to watchTaskPty/Containers/Activity - Update comments and internal variable names
- Rename prevWorkspaceIdRef/lastWorkspaceUrlRef to prevTaskIdRef/lastTaskUrlRef - Rename isWorkspaceMultiAgent prop to isTaskMultiAgent - Update imports to use renamed functions - Update comments and telemetry events (workspace_created -> task_created)
- Rename Workspace interface to Task in DatabaseService.ts - Rename loadWorkspaceContainerConfig to loadTaskContainerConfig - Rename inferPackageManagerForWorkspace to inferPackageManagerForTask - Rename resolveWorkspacePath to resolveTaskPath in containerIpc.ts - Rename parseWorkspaceMetadata to parseTaskMetadata
- Update ContainerConfigService tests for loadTaskContainerConfig - Update ContainerIpc tests for loadTaskContainerConfig - Update ContainerRunnerService tests for loadTaskContainerConfig - Rename test helper makeWorkspaceDir to makeTaskDir
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Resolved conflicts by applying task terminology to new features from main: - PR generation with auto-generated titles/descriptions - Global terminal support with mode switching - Improved file change detection with untracked files - Enhanced delete confirmations with PR detection
9c7e61b to
44b741c
Compare
Updates the PR generation API to use taskPath consistently with other git operations. Also renames getWorkspaceByPath to getTaskByPath in DatabaseService.
workspaceName refers to Linear's organization/workspace concept, not emdash's task concept. Should not have been renamed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the final PR Bugbot will review for you during this billing cycle
Your free Bugbot reviews will reset on January 7
Details
You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
| --> statement-breakpoint | ||
| INSERT INTO `__new_conversations`("id", "task_id", "title", "created_at", "updated_at") SELECT "id", "workspace_id", "title", "created_at", "updated_at" FROM `conversations`;--> statement-breakpoint | ||
| DROP TABLE `conversations`;--> statement-breakpoint | ||
| ALTER TABLE `__new_conversations` RENAME TO `conversations`;--> statement-breakpoint |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: SQLite migration drops table with FKs enabled
PRAGMA foreign_keys=ON is re-enabled before recreating conversations, but the migration later executes DROP TABLE conversations while messages still has a foreign key referencing conversations. With foreign keys enforced, SQLite commonly rejects dropping the referenced table, causing the migration (and app startup) to fail.
Resolved conflicts by keeping task/taskId naming from this branch and merging in new features from main: - Auto-approve functionality with provider flag checks - Monaco diff editor implementation - PR status checking with isActivePr - Loading states for delete confirmations - Temp file cleanup in PR creation
- PrGenerationService: workspacePath → taskPath (all params & comments) - ProjectDeleteButton: 'Checking workspaces...' → 'Checking tasks...' - TerminalSessionManager: update comment workspaceId → taskId - AllChangesDiffModal: workspacePath → taskPath (prop & all usages) - FileChangesPanel: fix workspaceId → taskId in AllChangesDiffModal These were introduced in the merge from origin/main and needed to be updated to match the workspace→task rename refactor.
e533e36 to
dcbae42
Compare
Summary
Closes #408
Completes the terminology rename from "workspace" to "task" across the codebase. Updates database schema, types, components, UI strings, telemetry events, and storage keys.
✅ Latest main merged - All conflicts resolved while preserving task naming
✅ Database migration safe - Automatically runs on first launch, preserves all user data (projects, tasks, conversations, messages)
Kept unchanged: Docker mount path
/workspace(container convention), Linear APIworkspaceName(their field name)Minor impact: Provider preferences in localStorage will reset (users re-select Claude/Codex/etc)
Recent Updates
AllChangesDiffModal&FileChangesPanel(workspacePath → taskPath)PrGenerationService(workspacePath → taskPath throughout)Database Migration
The migration automatically runs on first app launch:
No data loss: All projects, tasks, conversations, and messages are fully preserved.
Testing Before Merge
Must verify
Quick checks
Note
Renames “workspace” to “task” across DB, IPC/services, UI, telemetry, and tests, with a migration that preserves existing data.
workspaces→tasks; update FKs (conversations.workspace_id→conversations.task_id) and indexes; update drizzle snapshots/journal.workspace*→task*(container, git, DB, host preview, icons, telemetry, plan lock, fs).workspaceId→taskId), compose helpers, port mapping, mock runner.workspace_*→task_*.task*names and container event field changes.Written by Cursor Bugbot for commit 277f8fa. This will update automatically on new commits. Configure here.