diff options
| author | Fuwn <[email protected]> | 2026-01-30 12:50:48 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-01-30 12:50:48 +0000 |
| commit | 0131f7ea5d268bfa999e3b7fb262532c70398ac0 (patch) | |
| tree | dc42435316752bb3f97874dfd373d72617a930c0 | |
| parent | feat: Add folder reassignment for relocated projects (diff) | |
| download | faustus-0131f7ea5d268bfa999e3b7fb262532c70398ac0.tar.xz faustus-0131f7ea5d268bfa999e3b7fb262532c70398ac0.zip | |
fix(claude:session): Handle empty session index
| -rw-r--r-- | internal/claude/session.go | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/internal/claude/session.go b/internal/claude/session.go index e541586..c2f191b 100644 --- a/internal/claude/session.go +++ b/internal/claude/session.go @@ -69,7 +69,7 @@ func LoadAllSessions() ([]Session, error) { indexPath := filepath.Join(projectDirectory, "sessions-index.json") sessions, loadError := loadSessionsFromIndex(indexPath, directoryEntry.Name(), false) - if loadError != nil { + if loadError != nil || len(sessions) == 0 { sessions = loadSessionsFromJsonlFiles(projectDirectory, directoryEntry.Name(), false) } @@ -91,7 +91,7 @@ func LoadAllSessions() ([]Session, error) { indexPath := filepath.Join(projectDirectory, "sessions-index.json") sessions, loadError := loadSessionsFromIndex(indexPath, directoryEntry.Name(), true) - if loadError != nil { + if loadError != nil || len(sessions) == 0 { sessions = loadSessionsFromJsonlFiles(projectDirectory, directoryEntry.Name(), true) } @@ -453,7 +453,11 @@ func removeFromIndex(projectDirectory, sessionID string) error { return unmarshalError } - filteredEntries := make([]Session, 0, len(sessionIndex.Entries)-1) + if len(sessionIndex.Entries) == 0 { + return nil + } + + filteredEntries := make([]Session, 0, len(sessionIndex.Entries)) for _, entry := range sessionIndex.Entries { if entry.SessionID != sessionID { |