on main help sign in
fix(tui): fix progress not cleaning up some times (#1219)

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

commita824240d128010ef52f870356dea6ba7c5b5f00e authorCarlos Alexandro Becker <caarlos0@users.noreply.github.com> dateSat 11 Oct 2025, 18:11 (1 year ago) parent4969c34
4 files changed+7−8
go.mod+1−1 go.sum+2−2 internal/app/app.go+4−4 internal/tui/tui.go−1
go.mod+1−1
@@ -13,7 +13,7 @@ require (
1313 github.com/bmatcuk/doublestar/v4 v4.9.1
1414 github.com/charlievieth/fastwalk v1.0.14
1515 github.com/charmbracelet/bubbles/v2 v2.0.0-beta.1.0.20250820203609-601216f68ee2
16− github.com/charmbracelet/bubbletea/v2 v2.0.0-beta.4.0.20250930175933-4cafc092c5e7
16+ github.com/charmbracelet/bubbletea/v2 v2.0.0-beta.4.0.20251011205917-3b687ffc1619
1717 github.com/charmbracelet/catwalk v0.6.3
1818 github.com/charmbracelet/fang v0.4.3
1919 github.com/charmbracelet/glamour/v2 v2.0.0-20250811143442-a27abb32f018
go.sum+2−2
@@ -78,8 +78,8 @@ github.com/charlievieth/fastwalk v1.0.14 h1:3Eh5uaFGwHZd8EGwTjJnSpBkfwfsak9h6ICg
7878github.com/charlievieth/fastwalk v1.0.14/go.mod h1:diVcUreiU1aQ4/Wu3NbxxH4/KYdKpLDojrQ1Bb2KgNY=
7979github.com/charmbracelet/bubbles/v2 v2.0.0-beta.1.0.20250820203609-601216f68ee2 h1:973OHYuq2Jx9deyuPwe/6lsuQrDCatOsjP8uCd02URE=
8080github.com/charmbracelet/bubbles/v2 v2.0.0-beta.1.0.20250820203609-601216f68ee2/go.mod h1:6HamsBKWqEC/FVHuQMHgQL+knPyvHH55HwJDHl/adMw=
81−github.com/charmbracelet/bubbletea/v2 v2.0.0-beta.4.0.20250930175933-4cafc092c5e7 h1:wH4F+UvxcZSDOxy8j45tghiRo8amrYHejbE9+1C6xv0=
82−github.com/charmbracelet/bubbletea/v2 v2.0.0-beta.4.0.20250930175933-4cafc092c5e7/go.mod h1:5IzIGXU1n0foRc8bRAherC8ZuQCQURPlwx3ANLq1138=
81+github.com/charmbracelet/bubbletea/v2 v2.0.0-beta.4.0.20251011205917-3b687ffc1619 h1:hjOhtqsxa+LVuCAkzhfA43wtusOaUPyQdSTg/wbRscw=
82+github.com/charmbracelet/bubbletea/v2 v2.0.0-beta.4.0.20251011205917-3b687ffc1619/go.mod h1:5IzIGXU1n0foRc8bRAherC8ZuQCQURPlwx3ANLq1138=
8383github.com/charmbracelet/catwalk v0.6.3 h1:RyL8Yqd4QsV3VyvBEsePScv1z2vKaZxPfQQ0XB5L5AA=
8484github.com/charmbracelet/catwalk v0.6.3/go.mod h1:ReU4SdrLfe63jkEjWMdX2wlZMV3k9r11oQAmzN0m+KY=
8585github.com/charmbracelet/colorprofile v0.3.2 h1:9J27WdztfJQVAQKX2WOlSSRB+5gaKqqITmrvb1uTIiI=
internal/app/app.go+4−4
@@ -107,10 +107,6 @@ func (app *App) RunNonInteractive(ctx context.Context, prompt string, quiet bool
107107 ctx, cancel := context.WithCancel(ctx)
108108 defer cancel()
109109
110− // Start progress bar and spinner
111− fmt.Printf(ansi.SetIndeterminateProgressBar)
112− defer fmt.Printf(ansi.ResetProgressBar)
113−
114110 var spinner *format.Spinner
115111 if !quiet {
116112 spinner = format.NewSpinner(ctx, cancel, "Generating")
@@ -154,7 +150,11 @@ func (app *App) RunNonInteractive(ctx context.Context, prompt string, quiet bool
154150 messageEvents := app.Messages.Subscribe(ctx)
155151 messageReadBytes := make(map[string]int)
156152
153+ defer fmt.Printf(ansi.ResetProgressBar)
157154 for {
155+ // HACK: add it again on every iteration so it doesn't get hidden by
156+ // the terminal due to inactivity.
157+ fmt.Printf(ansi.SetIndeterminateProgressBar)
158158 select {
159159 case result := <-done:
160160 stopSpinner()
internal/tui/tui.go−1
@@ -602,7 +602,6 @@ func (a *appModel) View() tea.View {
602602
603603 view.Layer = canvas
604604 view.Cursor = cursor
605− view.ProgressBar = tea.NewProgressBar(tea.ProgressBarNone, 0)
606605 if a.app != nil && a.app.CoderAgent != nil && a.app.CoderAgent.IsBusy() {
607606 // HACK: use a random percentage to prevent ghostty from hiding it
608607 // after a timeout.