summaryrefslogtreecommitdiffhomepage
path: root/packages/tui/internal/app
diff options
context:
space:
mode:
Diffstat (limited to 'packages/tui/internal/app')
-rw-r--r--packages/tui/internal/app/app.go14
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) {