From cc6a2b1c54f7149bac6b4d14196508c2baa307ba Mon Sep 17 00:00:00 2001 From: chiyi Date: Thu, 9 Jul 2026 16:55:02 +0800 Subject: [PATCH] fix(runway): raise the tls-client timeout so large artifact downloads don't cancel Runway (Nano Banana 2) used a 30s whole-request timeout that includes reading the response body, so downloading a rendered image/video artifact off a slow CDN aborted with 'request canceled (Client.Timeout or context cancellation while reading body)'. Raised to 300s; genCtx still bounds the overall generation. --- backend/internal/provider/runway/client.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/backend/internal/provider/runway/client.go b/backend/internal/provider/runway/client.go index 5712ed9..2f4bfd8 100644 --- a/backend/internal/provider/runway/client.go +++ b/backend/internal/provider/runway/client.go @@ -188,7 +188,11 @@ func (c *Client) newDirectTLSClient() (tlsclient.HttpClient, error) { return c.n func (c *Client) newTLSClientP(useProxy bool) (tlsclient.HttpClient, error) { options := []tlsclient.HttpClientOption{ - tlsclient.WithTimeoutSeconds(30), + // Whole-request timeout, incl. reading the response body. 30s was too + // tight for downloading a rendered image/video artifact off a slow CDN, + // surfacing as "request canceled (Client.Timeout ... while reading body)". + // The caller's genCtx still bounds the overall generation. + tlsclient.WithTimeoutSeconds(300), tlsclient.WithClientProfile(profiles.Chrome_133), tlsclient.WithRandomTLSExtensionOrder(), }