From d0dcdcaff932716596170a3a25564c4a2c04e377 Mon Sep 17 00:00:00 2001 From: Jason Robinaugh Date: Fri, 6 Feb 2026 08:43:02 -0500 Subject: [PATCH] Only print a dot every 30 seconds instead of every 1 second when using our progress spinner in a non-TTY --- internal/cli/spin.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/internal/cli/spin.go b/internal/cli/spin.go index cbbe03a..29802e0 100644 --- a/internal/cli/spin.go +++ b/internal/cli/spin.go @@ -8,6 +8,8 @@ import ( "github.com/briandowns/spinner" ) +var nonTTYTickInterval = 30 * time.Second + func Spin(message string, tty bool, out io.Writer) func() { if tty { indicator := spinner.New(spinner.CharSets[11], 100*time.Millisecond, spinner.WithWriter(out)) @@ -15,7 +17,7 @@ func Spin(message string, tty bool, out io.Writer) func() { indicator.Start() return indicator.Stop } else { - ticker := time.NewTicker(1 * time.Second) + ticker := time.NewTicker(nonTTYTickInterval) fmt.Fprintln(out, message) go func() { for range ticker.C { @@ -42,7 +44,7 @@ func SpinUntilDone(message string, tty bool, out io.Writer) func(finalMsg string indicator.Stop() } } else { - ticker := time.NewTicker(1 * time.Second) + ticker := time.NewTicker(nonTTYTickInterval) fmt.Fprintln(out, message) go func() { for range ticker.C {