diff options
Diffstat (limited to 'internal/app/state.go')
| -rw-r--r-- | internal/app/state.go | 15 |
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) } } |