From 089a4c0f8b8dc0f75d76c55ef863f3063c58031d Mon Sep 17 00:00:00 2001 From: vorotamoroz Date: Mon, 15 Jun 2026 10:41:26 +0100 Subject: [PATCH] ### Fixed - Now S3 connection with custom headers works properly. --- src/lib | 2 +- .../essentialObsidian/APILib/ObsHttpHandler.ts | 14 ++++++++++++-- updates.md | 6 ++++++ 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/lib b/src/lib index 5a552b3..6a33b00 160000 --- a/src/lib +++ b/src/lib @@ -1 +1 @@ -Subproject commit 5a552b3ec430518e8da92c674296c4279e7a0b57 +Subproject commit 6a33b00ae95b2fbdee12581636a101cf6fa07aeb diff --git a/src/modules/essentialObsidian/APILib/ObsHttpHandler.ts b/src/modules/essentialObsidian/APILib/ObsHttpHandler.ts index ef5614c..9886255 100644 --- a/src/modules/essentialObsidian/APILib/ObsHttpHandler.ts +++ b/src/modules/essentialObsidian/APILib/ObsHttpHandler.ts @@ -5,14 +5,24 @@ import { FetchHttpHandler, type FetchHttpHandlerOptions } from "@smithy/fetch-http-handler"; import { HttpRequest, HttpResponse, type HttpHandlerOptions } from "@smithy/protocol-http"; -//@ts-ignore -import { requestTimeout } from "@smithy/fetch-http-handler/dist-es/request-timeout"; import { buildQueryString } from "@smithy/querystring-builder"; import { requestUrl, type RequestUrlParam } from "../../../deps.ts"; //////////////////////////////////////////////////////////////////////////////// // special handler using Obsidian requestUrl //////////////////////////////////////////////////////////////////////////////// +function requestTimeout(timeoutInMs: number = 0): Promise { + return new Promise((_, reject) => { + if (timeoutInMs) { + window.setTimeout(() => { + const timeoutError = new Error(`Request did not complete within ${timeoutInMs} ms`); + timeoutError.name = "TimeoutError"; + reject(timeoutError); + }, timeoutInMs); + } + }); +} + /** * This is close to origin implementation of FetchHttpHandler * https://github.com/aws/aws-sdk-js-v3/blob/main/packages/fetch-http-handler/src/fetch-http-handler.ts diff --git a/updates.md b/updates.md index 04a09ef..411a8f9 100644 --- a/updates.md +++ b/updates.md @@ -3,6 +3,12 @@ Since 19th July, 2025 (beta1 in 0.25.0-beta1, 13th July, 2025) The head note of 0.25 is now in [updates_old.md](https://github.com/vrtmrz/obsidian-livesync/blob/main/updates_old.md). Because 0.25 got a lot of updates, thankfully, compatibility is kept and we do not need breaking changes! In other words, when get enough stabled. The next version will be v1.0.0. Even though it my hope. +## Unreleased + +### Fixed +- Now S3 connection with custom headers works properly. + - Previously, custom headers injected for proxy authentication were incorrectly included in the AWS Signature v4 calculation. This led to a '400 Bad Request' error (such as 'signed header is not present') on strict S3 backends (for example, Garage), or when reverse proxies modified, renamed, or stripped these headers before they reached the storage service. + ## 0.25.75 13th June, 2026