This is an automated email from the ASF dual-hosted git repository. jedcunningham pushed a commit to branch v2-9-test in repository https://gitbox.apache.org/repos/asf/airflow.git
commit 1725139a42925ca369d36101e0af694af5486c3f Author: Jens Scheffler <[email protected]> AuthorDate: Wed Apr 10 13:40:45 2024 +0200 Fix problem that links in legacy log view can not be clicked (#38882) * Remove problems by double-linkification from coloring * Fix problem that links in legacy log view can not be clicked (cherry picked from commit 87acf61f574daf47ce9e03a986e352a2c727f4ce) --- airflow/www/static/js/dag/details/taskInstance/Logs/utils.ts | 1 + airflow/www/static/js/ti_log.js | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/airflow/www/static/js/dag/details/taskInstance/Logs/utils.ts b/airflow/www/static/js/dag/details/taskInstance/Logs/utils.ts index a7043cb32f..1d41b3dccd 100644 --- a/airflow/www/static/js/dag/details/taskInstance/Logs/utils.ts +++ b/airflow/www/static/js/dag/details/taskInstance/Logs/utils.ts @@ -62,6 +62,7 @@ export const parseLogs = ( const parsedLines: Array<string> = []; const fileSources: Set<string> = new Set(); const ansiUp = new AnsiUp(); + ansiUp.url_allowlist = {}; const urlRegex = /((https?:\/\/|http:\/\/)[^\s]+)/g; // Detect log groups which can be collapsed diff --git a/airflow/www/static/js/ti_log.js b/airflow/www/static/js/ti_log.js index 465af4be6d..1fd66acee6 100644 --- a/airflow/www/static/js/ti_log.js +++ b/airflow/www/static/js/ti_log.js @@ -111,6 +111,7 @@ function autoTailingLog(tryNumber, metadata = null, autoTailing = false) { // Text coloring, detect urls and log timestamps const ansiUp = new AnsiUp(); + ansiUp.url_allowlist = {}; // Detect urls and log timestamps const urlRegex = /http(s)?:\/\/[\w.-]+(\.?:[\w.-]+)*([/?#][\w\-._~:/?#[\]@!$&'()*+,;=.%]+)?/g; @@ -194,11 +195,14 @@ function handleLogGroupClick(e) { if (e.target.id?.endsWith(unfoldIdSuffix)) { e.target.style.display = "none"; e.target.nextSibling.style.display = "inline"; - } else if (e.target.id?.endsWith(foldIdSuffix)) { + return false; + } + if (e.target.id?.endsWith(foldIdSuffix)) { e.target.parentNode.style.display = "none"; e.target.parentNode.previousSibling.style.display = "inline"; + return false; } - return false; + return true; } function setDownloadUrl(tryNumber) {
