Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Maintains backward compatibility with existing functionality
- All ccundo commands now work properly in directories containing underscores

## [1.1.2] - 2026-02-08

### Fixed
- **Windows session path decoding**: Fix `getAllSessions()` incorrectly decoding UNC/WSL paths (e.g. `--wsl-localhost-...` was decoded as `:\wsl\...` instead of `//wsl/...`)
- The `--` prefix is now only treated as a drive letter (`C:\`) when preceded by `[A-Z]`; otherwise it's treated as a UNC path prefix (`//`)

### Note
- PR #6 cross-platform fix (os.homedir, Windows path encoding) was merged to main but never published to npm — this release includes those fixes plus the UNC path decode fix above

## [Unreleased]

### Planned Features
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ccundo",
"version": "1.1.1",
"version": "1.1.2",
"description": "Intelligent undo for Claude Code sessions - Revert individual operations with cascading safety and detailed previews",
"main": "index.js",
"bin": {
Expand Down
9 changes: 5 additions & 4 deletions src/core/ClaudeSessionParser.js
Original file line number Diff line number Diff line change
Expand Up @@ -208,12 +208,13 @@ export class ClaudeSessionParser {
// Convert back to proper path - reverse the Claude encoding
let projectPath = projectDir;

if (process.platform === 'win32') {
// Windows: C--Users-... → C:\Users\...
projectPath = projectPath.replace(/--/g, ':\\');
if (process.platform === 'win32' && /^[A-Z]--/.test(projectDir)) {
// Windows drive path: C--Users-... → C:\Users\...
projectPath = projectPath.replace(/^([A-Z])--/, '$1:\\');
projectPath = projectPath.replace(/-/g, '\\');
} else {
// Linux/macOS: -home-... → /home/...
// Unix or UNC/WSL path: --wsl-... → //wsl/... or -home-... → /home/...
projectPath = projectPath.replace(/^--/, '//');
projectPath = projectPath.replace(/^-/, '/');
projectPath = projectPath.replace(/-/g, '/');
}
Expand Down