From 1b34e1f2501b8def0a0fb4eae28bf6c19a8adde2 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 13 Mar 2026 20:52:54 +0200 Subject: Fix serverless output draining regressions --- internal/session/spec.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'internal/session/spec.go') diff --git a/internal/session/spec.go b/internal/session/spec.go index 0a6ad4e..6df11fd 100644 --- a/internal/session/spec.go +++ b/internal/session/spec.go @@ -24,9 +24,14 @@ type Spec struct { // NewSpec returns a session specification from client args. func NewSpec(args config.Args) Spec { + files := splitFiles(args.What) + if args.Serverless && len(files) == 0 && supportsServerlessPipe(args.Mode) { + files = []string{"-"} + } + return Spec{ Mode: args.Mode, - Files: splitFiles(args.What), + Files: files, Options: args.SerializeOptions(), Query: strings.TrimSpace(args.QueryStr), Regex: args.RegexStr, @@ -149,6 +154,15 @@ func splitFiles(what string) []string { return files } +func supportsServerlessPipe(mode omode.Mode) bool { + switch mode { + case omode.TailClient, omode.CatClient, omode.GrepClient, omode.MapClient: + return true + default: + return false + } +} + func (s Spec) encodedPayload() (string, error) { payload, err := json.Marshal(s) if err != nil { -- cgit v1.2.3