diff options
| author | Dax Raad <[email protected]> | 2025-09-11 02:31:28 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-09-11 02:31:28 -0400 |
| commit | aa9ebe5d7cf0a188166e4af8e6245bf3161dca9f (patch) | |
| tree | 00e8e1d18a05350c3b35ab39ba3aab33103e4b05 /packages/tui/internal/app | |
| parent | 4c94753eda3714176a29c651e4bd43c5ff079c14 (diff) | |
| download | opencode-aa9ebe5d7cf0a188166e4af8e6245bf3161dca9f.tar.gz opencode-aa9ebe5d7cf0a188166e4af8e6245bf3161dca9f.zip | |
ignore: compacting
Diffstat (limited to 'packages/tui/internal/app')
| -rw-r--r-- | packages/tui/internal/app/app.go | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/packages/tui/internal/app/app.go b/packages/tui/internal/app/app.go index 85b21165c..4a891f282 100644 --- a/packages/tui/internal/app/app.go +++ b/packages/tui/internal/app/app.go @@ -7,6 +7,7 @@ import ( "path/filepath" "slices" "strings" + "time" "log/slog" @@ -653,12 +654,12 @@ func getDefaultModel( } func (a *App) IsBusy() bool { - if a.Session.Time.Compacting > 0 { - return true - } if len(a.Messages) == 0 { return false } + if a.IsCompacting() { + return true + } lastMessage := a.Messages[len(a.Messages)-1] if casted, ok := lastMessage.Info.(opencode.AssistantMessage); ok { return casted.Time.Completed == 0 @@ -666,6 +667,13 @@ func (a *App) IsBusy() bool { return false } +func (a *App) IsCompacting() bool { + if time.Since(time.UnixMilli(int64(a.Session.Time.Compacting))) < time.Second*30 { + return true + } + return false +} + func (a *App) HasAnimatingWork() bool { for _, msg := range a.Messages { switch casted := msg.Info.(type) { |
