From 00593bfa1daf32e57f5622aedc5ada4ad5751de6 Mon Sep 17 00:00:00 2001 From: kandharvishnu <46064835+kandharvishnu@users.noreply.github.com> Date: Thu, 7 Aug 2025 15:29:06 +0530 Subject: [PATCH 01/10] Update helpers.py --- airflow-core/src/airflow/utils/helpers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow-core/src/airflow/utils/helpers.py b/airflow-core/src/airflow/utils/helpers.py index 5fe1277a31880..17bfe9628f50a 100644 --- a/airflow-core/src/airflow/utils/helpers.py +++ b/airflow-core/src/airflow/utils/helpers.py @@ -204,7 +204,7 @@ def build_airflow_dagrun_url(dag_id: str, run_id: str) -> str: http://localhost:8080/dags/hi/runs/manual__2025-02-23T18:27:39.051358+00:00_RZa1at4Q """ baseurl = conf.get("api", "base_url", fallback="/") - return urljoin(baseurl, f"dags/{dag_id}/runs/{run_id}") + return urljoin(f"{baseurl}/", f"dags/{dag_id}/runs/{run_id}") # The 'template' argument is typed as Any because the jinja2.Template is too From a4d03c10057b1cb9539fcc9c670aa79e506368d2 Mon Sep 17 00:00:00 2001 From: kandharvishnu <46064835+kandharvishnu@users.noreply.github.com> Date: Tue, 12 Aug 2025 15:42:23 +0530 Subject: [PATCH 02/10] Update helpers.py --- airflow-core/src/airflow/utils/helpers.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/airflow-core/src/airflow/utils/helpers.py b/airflow-core/src/airflow/utils/helpers.py index 17bfe9628f50a..0192b39439c7e 100644 --- a/airflow-core/src/airflow/utils/helpers.py +++ b/airflow-core/src/airflow/utils/helpers.py @@ -24,7 +24,6 @@ from collections.abc import Callable, Generator, Iterable, MutableMapping from functools import cache from typing import TYPE_CHECKING, Any, TypeVar, cast -from urllib.parse import urljoin from lazy_object_proxy import Proxy @@ -204,7 +203,7 @@ def build_airflow_dagrun_url(dag_id: str, run_id: str) -> str: http://localhost:8080/dags/hi/runs/manual__2025-02-23T18:27:39.051358+00:00_RZa1at4Q """ baseurl = conf.get("api", "base_url", fallback="/") - return urljoin(f"{baseurl}/", f"dags/{dag_id}/runs/{run_id}") + return f"{baseurl.rstrip('/')}/dags/{dag_id}/runs/{run_id}") # The 'template' argument is typed as Any because the jinja2.Template is too From da0ce5f0b72832a67e8ca34dedeb54abf7d665bf Mon Sep 17 00:00:00 2001 From: kandharvishnu <46064835+kandharvishnu@users.noreply.github.com> Date: Tue, 12 Aug 2025 15:52:35 +0530 Subject: [PATCH 03/10] Update airflow-core/src/airflow/utils/helpers.py Co-authored-by: Ash Berlin-Taylor --- airflow-core/src/airflow/utils/helpers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow-core/src/airflow/utils/helpers.py b/airflow-core/src/airflow/utils/helpers.py index 0192b39439c7e..80df2569479c8 100644 --- a/airflow-core/src/airflow/utils/helpers.py +++ b/airflow-core/src/airflow/utils/helpers.py @@ -203,7 +203,7 @@ def build_airflow_dagrun_url(dag_id: str, run_id: str) -> str: http://localhost:8080/dags/hi/runs/manual__2025-02-23T18:27:39.051358+00:00_RZa1at4Q """ baseurl = conf.get("api", "base_url", fallback="/") - return f"{baseurl.rstrip('/')}/dags/{dag_id}/runs/{run_id}") + return urljoin(baseurl + "/", "dags/{dag_id}/runs/{run_id}") # The 'template' argument is typed as Any because the jinja2.Template is too From 920f865d3171ffda15fec45eb5e08953320c3dbd Mon Sep 17 00:00:00 2001 From: kandharvishnu <46064835+kandharvishnu@users.noreply.github.com> Date: Tue, 12 Aug 2025 15:53:46 +0530 Subject: [PATCH 04/10] Update helpers.py --- airflow-core/src/airflow/utils/helpers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow-core/src/airflow/utils/helpers.py b/airflow-core/src/airflow/utils/helpers.py index 80df2569479c8..71d1ce0eca71b 100644 --- a/airflow-core/src/airflow/utils/helpers.py +++ b/airflow-core/src/airflow/utils/helpers.py @@ -203,7 +203,7 @@ def build_airflow_dagrun_url(dag_id: str, run_id: str) -> str: http://localhost:8080/dags/hi/runs/manual__2025-02-23T18:27:39.051358+00:00_RZa1at4Q """ baseurl = conf.get("api", "base_url", fallback="/") - return urljoin(baseurl + "/", "dags/{dag_id}/runs/{run_id}") + return urljoin(f"{baseurl.rstrip('/') + "/", f"dags/{dag_id}/runs/{run_id}") # The 'template' argument is typed as Any because the jinja2.Template is too From aa5b7b8227e27933feee439e23b35f2c195c569e Mon Sep 17 00:00:00 2001 From: kandharvishnu <46064835+kandharvishnu@users.noreply.github.com> Date: Wed, 13 Aug 2025 22:42:10 +0530 Subject: [PATCH 05/10] Update helpers.py --- airflow-core/src/airflow/utils/helpers.py | 1 + 1 file changed, 1 insertion(+) diff --git a/airflow-core/src/airflow/utils/helpers.py b/airflow-core/src/airflow/utils/helpers.py index 71d1ce0eca71b..127dcdca0fbba 100644 --- a/airflow-core/src/airflow/utils/helpers.py +++ b/airflow-core/src/airflow/utils/helpers.py @@ -23,6 +23,7 @@ import signal from collections.abc import Callable, Generator, Iterable, MutableMapping from functools import cache +from urllib.parse import urljoin from typing import TYPE_CHECKING, Any, TypeVar, cast from lazy_object_proxy import Proxy From 68d4943cace66e535c7607986a8d0f9aee8a59b1 Mon Sep 17 00:00:00 2001 From: kandharvishnu <46064835+kandharvishnu@users.noreply.github.com> Date: Wed, 13 Aug 2025 22:42:43 +0530 Subject: [PATCH 06/10] Update helpers.py --- airflow-core/src/airflow/utils/helpers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow-core/src/airflow/utils/helpers.py b/airflow-core/src/airflow/utils/helpers.py index 127dcdca0fbba..4345ebed9ebaf 100644 --- a/airflow-core/src/airflow/utils/helpers.py +++ b/airflow-core/src/airflow/utils/helpers.py @@ -23,8 +23,8 @@ import signal from collections.abc import Callable, Generator, Iterable, MutableMapping from functools import cache -from urllib.parse import urljoin from typing import TYPE_CHECKING, Any, TypeVar, cast +from urllib.parse import urljoin from lazy_object_proxy import Proxy From 2ace8162690bf90d0fd3026f1821e7092ab18e18 Mon Sep 17 00:00:00 2001 From: kandharvishnu <46064835+kandharvishnu@users.noreply.github.com> Date: Thu, 14 Aug 2025 06:26:02 +0530 Subject: [PATCH 07/10] Update helpers.py --- airflow-core/src/airflow/utils/helpers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow-core/src/airflow/utils/helpers.py b/airflow-core/src/airflow/utils/helpers.py index 4345ebed9ebaf..efbd2043a94e3 100644 --- a/airflow-core/src/airflow/utils/helpers.py +++ b/airflow-core/src/airflow/utils/helpers.py @@ -204,7 +204,7 @@ def build_airflow_dagrun_url(dag_id: str, run_id: str) -> str: http://localhost:8080/dags/hi/runs/manual__2025-02-23T18:27:39.051358+00:00_RZa1at4Q """ baseurl = conf.get("api", "base_url", fallback="/") - return urljoin(f"{baseurl.rstrip('/') + "/", f"dags/{dag_id}/runs/{run_id}") + return urljoin(f"{baseurl}.rstrip('/')" + "/", f"dags/{dag_id}/runs/{run_id}") # The 'template' argument is typed as Any because the jinja2.Template is too From e147eaa6ca2d79ce3a3082b2df32f0dc48858d52 Mon Sep 17 00:00:00 2001 From: kandharvishnu <46064835+kandharvishnu@users.noreply.github.com> Date: Thu, 14 Aug 2025 06:44:23 +0530 Subject: [PATCH 08/10] Update helpers.py --- airflow-core/src/airflow/utils/helpers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow-core/src/airflow/utils/helpers.py b/airflow-core/src/airflow/utils/helpers.py index efbd2043a94e3..5d64228c05553 100644 --- a/airflow-core/src/airflow/utils/helpers.py +++ b/airflow-core/src/airflow/utils/helpers.py @@ -204,7 +204,7 @@ def build_airflow_dagrun_url(dag_id: str, run_id: str) -> str: http://localhost:8080/dags/hi/runs/manual__2025-02-23T18:27:39.051358+00:00_RZa1at4Q """ baseurl = conf.get("api", "base_url", fallback="/") - return urljoin(f"{baseurl}.rstrip('/')" + "/", f"dags/{dag_id}/runs/{run_id}") + return urljoin(f"{baseurl.rstrip('/')}" + "/", f"dags/{dag_id}/runs/{run_id}") # The 'template' argument is typed as Any because the jinja2.Template is too From 437e7e504c29298d0c5cd2e505a2270029de5c9a Mon Sep 17 00:00:00 2001 From: kandharvishnu <46064835+kandharvishnu@users.noreply.github.com> Date: Wed, 20 Aug 2025 12:19:20 +0530 Subject: [PATCH 09/10] Update airflow-core/src/airflow/utils/helpers.py Co-authored-by: Pierre Jeambrun --- airflow-core/src/airflow/utils/helpers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow-core/src/airflow/utils/helpers.py b/airflow-core/src/airflow/utils/helpers.py index 5d64228c05553..33f9240db857a 100644 --- a/airflow-core/src/airflow/utils/helpers.py +++ b/airflow-core/src/airflow/utils/helpers.py @@ -204,7 +204,7 @@ def build_airflow_dagrun_url(dag_id: str, run_id: str) -> str: http://localhost:8080/dags/hi/runs/manual__2025-02-23T18:27:39.051358+00:00_RZa1at4Q """ baseurl = conf.get("api", "base_url", fallback="/") - return urljoin(f"{baseurl.rstrip('/')}" + "/", f"dags/{dag_id}/runs/{run_id}") + return urljoin(baseurl.rstrip('/') + "/", f"dags/{dag_id}/runs/{run_id}") # The 'template' argument is typed as Any because the jinja2.Template is too From 2af0647f647e1e4da0364370a0956e5ba5b180ba Mon Sep 17 00:00:00 2001 From: kandharvishnu <46064835+kandharvishnu@users.noreply.github.com> Date: Thu, 21 Aug 2025 08:58:46 +0530 Subject: [PATCH 10/10] Update helpers.py --- airflow-core/src/airflow/utils/helpers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow-core/src/airflow/utils/helpers.py b/airflow-core/src/airflow/utils/helpers.py index 33f9240db857a..3a9b3af4f6773 100644 --- a/airflow-core/src/airflow/utils/helpers.py +++ b/airflow-core/src/airflow/utils/helpers.py @@ -204,7 +204,7 @@ def build_airflow_dagrun_url(dag_id: str, run_id: str) -> str: http://localhost:8080/dags/hi/runs/manual__2025-02-23T18:27:39.051358+00:00_RZa1at4Q """ baseurl = conf.get("api", "base_url", fallback="/") - return urljoin(baseurl.rstrip('/') + "/", f"dags/{dag_id}/runs/{run_id}") + return urljoin(baseurl.rstrip("/") + "/", f"dags/{dag_id}/runs/{run_id}") # The 'template' argument is typed as Any because the jinja2.Template is too