aboutsummaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-01-30 12:50:48 +0000
committerFuwn <[email protected]>2026-01-30 12:50:48 +0000
commit0131f7ea5d268bfa999e3b7fb262532c70398ac0 (patch)
treedc42435316752bb3f97874dfd373d72617a930c0 /internal
parentfeat: Add folder reassignment for relocated projects (diff)
downloadfaustus-0131f7ea5d268bfa999e3b7fb262532c70398ac0.tar.xz
faustus-0131f7ea5d268bfa999e3b7fb262532c70398ac0.zip
fix(claude:session): Handle empty session index
Diffstat (limited to 'internal')
-rw-r--r--internal/claude/session.go10
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 {