aboutsummaryrefslogtreecommitdiff
path: root/internal/app/state.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/app/state.go')
-rw-r--r--internal/app/state.go15
1 files changed, 12 insertions, 3 deletions
diff --git a/internal/app/state.go b/internal/app/state.go
index 82e186d..cebd672 100644
--- a/internal/app/state.go
+++ b/internal/app/state.go
@@ -72,10 +72,19 @@ func (m *Model) updateFilteredFromOriginal() {
func (m *Model) reloadSessions() {
sessions, loadError := claude.LoadAllSessions()
- if loadError == nil {
- m.sessions = sessions
+ if loadError != nil {
+ m.setMessage("Reload error: " + loadError.Error())
- m.updateFiltered()
+ return
+ }
+
+ m.sessions = sessions
+
+ m.updateFiltered()
+ m.invalidatePreviewCache()
+
+ if m.cursor >= len(m.filtered) {
+ m.cursor = max(0, len(m.filtered)-1)
}
}