This is an automated email from the ASF dual-hosted git repository.
pierrejeambrun pushed a commit to branch v3-3-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/v3-3-test by this push:
new 4ed94096c88 Percent-encode API client path params for keys with
slashes (#68667) (#68669)
4ed94096c88 is described below
commit 4ed94096c8821a9ac05600dce54a0c37163d46d5
Author: Pierre Jeambrun <[email protected]>
AuthorDate: Thu Jun 18 11:32:30 2026 +0200
Percent-encode API client path params for keys with slashes (#68667)
(#68669)
(cherry picked from commit 9140ce5aee1960094beb6e58f8d21cb13a6167ab)
---
airflow-core/src/airflow/ui/src/queryClient.ts | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/airflow-core/src/airflow/ui/src/queryClient.ts
b/airflow-core/src/airflow/ui/src/queryClient.ts
index e465402c308..48b47499046 100644
--- a/airflow-core/src/airflow/ui/src/queryClient.ts
+++ b/airflow-core/src/airflow/ui/src/queryClient.ts
@@ -29,6 +29,12 @@ if (OpenAPI.BASE.endsWith("/")) {
OpenAPI.BASE = OpenAPI.BASE.slice(0, -1);
}
+// Encode path params as full URI components so values containing "/" (e.g. a
variable key like
+// "/foo") become "%2Ffoo" rather than a literal "//", which proxies may
collapse. The generated
+// client otherwise defaults to encodeURI, which leaves "/" untouched.
+// The backend automatically decodes path params.
+OpenAPI.ENCODE_PATH = encodeURIComponent;
+
const RETRY_COUNT = 3;
const retryFunction = (failureCount: number, error: unknown) => {