Sprint 2: User-facing features
- Add autoGenerateProjectId configuration setting
- Implement automatic project ID generation on workspace open
- Show status bar notification for 15 seconds when ID is generated
- Trigger task history migration when ID is generated
Sprint 3: Handling moved & copied projects
- Detect when project with existing ID is opened at new location
- Show modal dialog asking if project was moved or copied
- Allow user to keep existing history (moved) or generate new ID (copied)
- Link history from previous location when project is moved
- Fix generateProjectId to check for existing ID before creating new one
- Add workspace filtering to task history based on project ID/workspace path
- Add migration logic when generating project ID for existing workspace
- Add missing translation keys
- Update tests to cover new functionality
This ensures that task history actually follows the project when it's moved,
which was the core requirement that was missing from the original implementation.
Sprint 1 implementation includes:
- Added projectId utility module with getProjectId, generateProjectId, and getWorkspaceStorageKey functions
- Modified Task.ts to use project ID instead of workspace path for task metadata storage
- Added "Generate Project ID" command to VSCode extension
- Added comprehensive tests for projectId utility functions
This is the foundation for stable project IDs that will preserve chat history when projects are moved or renamed.
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
* feat: add symlink support for AGENTS.md file loading
- Add safeReadFileFollowingSymlinks function to handle symlink resolution
- Update loadAgentRulesFile to use the new symlink-aware function
- Add comprehensive tests for both symlink and regular file scenarios
- Ensures AGENTS.md can be a symlink pointing to actual rules file
* refactor: use existing symlink resolution pattern for AGENTS.md
- Extracted resolveSymlinkPath function to handle symlink resolution
- Removed duplicate safeReadFileFollowingSymlinks function
- Updated loadAgentRulesFile to use resolveSymlinkPath + safeReadFile
- Updated tests to match new implementation
- Maintains same functionality while reusing existing patterns
* fix: simplify symlink resolution for AGENTS.md to fix Windows compatibility
- Remove duplicate resolveSymlinkPath function as suggested by @mrubens
- Use simpler inline symlink resolution in loadAgentRulesFile
- Update tests to match simplified implementation
- This should fix the failing Windows unit tests while maintaining functionality
* refactor: use existing resolveSymLink function for AGENTS.md symlink support
- Remove duplicate inline symlink resolution logic
- Reuse existing resolveSymLink function with MAX_DEPTH protection
- Adapt loadAgentRulesFile to work with resolveSymLink's fileInfo interface
- Fix test to properly mock fs.stat for resolved symlink targets
- All tests pass (36/36)
---------
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
- Update mammoth from ^1.8.0 to ^1.9.1
- Add pnpm override to force bluebird >=3.7.2 (was 3.4.7)
- Fixes PendingMigrationError: navigator is now a global in nodejs
- Resolves extension crashes in VS Code nightly builds
Fixes#6356
Co-authored-by: Roo Code <roomote@roocode.com>