From 905ad68844189bece79244744d2bcbc00a141c9c Mon Sep 17 00:00:00 2001 From: tomasmik Date: Thu, 29 Aug 2024 15:36:02 +0300 Subject: [PATCH] fix: Watch log hangs when we're in a terminal state --- internal/cmd/stack/run_logs.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/cmd/stack/run_logs.go b/internal/cmd/stack/run_logs.go index 17ace7a..7326d33 100644 --- a/internal/cmd/stack/run_logs.go +++ b/internal/cmd/stack/run_logs.go @@ -129,7 +129,7 @@ func runStates(ctx context.Context, stack, run string, sink chan<- string, acFn fmt.Println("") if transition.HasLogs { - if err := runStateLogs(ctx, stack, run, transition.State, transition.StateVersion, sink); err != nil { + if err := runStateLogs(ctx, stack, run, transition.State, transition.StateVersion, sink, transition.Terminal); err != nil { return nil, err } } @@ -153,7 +153,7 @@ func runStates(ctx context.Context, stack, run string, sink chan<- string, acFn } } -func runStateLogs(ctx context.Context, stack, run string, state structs.RunState, version int, sink chan<- string) error { +func runStateLogs(ctx context.Context, stack, run string, state structs.RunState, version int, sink chan<- string, stateTerminal bool) error { var query struct { Stack *struct { Run *struct { @@ -205,7 +205,7 @@ func runStateLogs(ctx context.Context, stack, run string, state structs.RunState sink <- message.Body } - if logs.Finished { + if logs.Finished || (!logs.HasMore && stateTerminal) { break }