From ec5e97eb786efd5837030c2a7b669f58114d8be0 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Tue, 14 Jul 2026 14:53:03 +0100 Subject: [PATCH] fix(tlon): use native S3 endpoint parsing --- CHANGELOG.md | 1 + extensions/tlon/src/tlon-api.test.ts | 1 + extensions/tlon/src/tlon-api.ts | 8 +------- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f8db66555c7..77b59bb41828 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,6 +36,7 @@ Docs: https://docs.openclaw.ai ### Fixes +- **Tlon custom S3 uploads:** pass storage endpoints through the AWS SDK's native parser so custom S3-compatible uploads no longer fail before presigning. - **Agent auth storage locks:** surface normal release failures while avoiding redundant release attempts after `proper-lockfile` reports a compromised lock. - **Paired-node session catalogs:** authorize bundled Anthropic and Codex catalog requests to invoke their read-only node commands from Control UI read flows, restoring remote Claude/Codex rows and terminal resume availability. Fixes #107406. - **Sandbox recreate confirmation:** treat Clack cancellation as a decline so Ctrl-C cannot proceed with container removal. diff --git a/extensions/tlon/src/tlon-api.test.ts b/extensions/tlon/src/tlon-api.test.ts index 11a21d66bfc8..3cf83241ee8a 100644 --- a/extensions/tlon/src/tlon-api.test.ts +++ b/extensions/tlon/src/tlon-api.test.ts @@ -496,6 +496,7 @@ describe("uploadFile custom S3 upload hardening", () => { }); expect(result.url.startsWith("https://files.example.com/")).toBe(true); + expect((await mockGetSignedUrl.mock.calls[0]?.[0].config.endpoint()).protocol).toBe("https:"); expect(mockGuardedFetch).toHaveBeenCalledTimes(1); const uploadCall = guardedFetchCall(0); expect(uploadCall?.url).toBe("https://s3.example.com/uploads/file?sig=abc"); diff --git a/extensions/tlon/src/tlon-api.ts b/extensions/tlon/src/tlon-api.ts index a054039fa9d1..798c1fe06955 100644 --- a/extensions/tlon/src/tlon-api.ts +++ b/extensions/tlon/src/tlon-api.ts @@ -335,13 +335,8 @@ export async function uploadFile(params: UploadFileParams): Promise Promise) | undefined;