diff --git a/cmd/analyze/main.go b/cmd/analyze/main.go index d3d34d5..269b493 100644 --- a/cmd/analyze/main.go +++ b/cmd/analyze/main.go @@ -394,7 +394,7 @@ func (m model) scanCmd(path string) tea.Cmd { } func tickCmd() tea.Cmd { - return tea.Tick(time.Millisecond*80, func(t time.Time) tea.Msg { + return tea.Tick(time.Millisecond*100, func(t time.Time) tea.Msg { return tickMsg(t) }) } @@ -683,6 +683,11 @@ func (m model) updateKey(msg tea.KeyMsg) (tea.Model, tea.Cmd) { m.largeMultiSelected = make(map[string]bool) if m.inOverviewMode() { + // Explicitly invalidate cache for all overview entries to force re-scan + for _, entry := range m.entries { + invalidateCache(entry.Path) + } + m.overviewSizeCache = make(map[string]int64) m.overviewScanningSet = make(map[string]bool) m.hydrateOverviewEntries() // Reset sizes to pending diff --git a/cmd/analyze/view.go b/cmd/analyze/view.go index f2845a9..43263e7 100644 --- a/cmd/analyze/view.go +++ b/cmd/analyze/view.go @@ -32,7 +32,7 @@ func (m model) View() string { return b.String() } else { fmt.Fprintf(&b, "%sSelect a location to explore:%s ", colorGray, colorReset) - fmt.Fprintf(&b, "%s%s%s%s Scanning...\n\n", colorCyan, colorBold, spinnerFrames[m.spinner], colorReset) + fmt.Fprintf(&b, "%s%s%s%s %s\n\n", colorCyan, colorBold, spinnerFrames[m.spinner], colorReset, m.status) } } else { hasPending := false @@ -44,7 +44,7 @@ func (m model) View() string { } if hasPending { fmt.Fprintf(&b, "%sSelect a location to explore:%s ", colorGray, colorReset) - fmt.Fprintf(&b, "%s%s%s%s Scanning...\n\n", colorCyan, colorBold, spinnerFrames[m.spinner], colorReset) + fmt.Fprintf(&b, "%s%s%s%s %s\n\n", colorCyan, colorBold, spinnerFrames[m.spinner], colorReset, m.status) } else { fmt.Fprintf(&b, "%sSelect a location to explore:%s\n\n", colorGray, colorReset) }