diff --git a/web/src/components/repo/pipeline/PipelineLog.vue b/web/src/components/repo/pipeline/PipelineLog.vue index 4636f2f48..f296c5eff 100644 --- a/web/src/components/repo/pipeline/PipelineLog.vue +++ b/web/src/components/repo/pipeline/PipelineLog.vue @@ -180,11 +180,21 @@ function formatTime(time?: number): string { return time === undefined ? '' : `${time}s`; } +function processText(text: string): string { + const urlRegex = /https?:\/\/\S+/g; + let txt = ansiUp.value.ansi_to_html(`${decode(text)}\n`); + txt = txt.replace( + urlRegex, + (url) => `${url}`, + ); + return txt; +} + function writeLog(line: Partial) { logBuffer.value.push({ index: line.index ?? 0, number: (line.index ?? 0) + 1, - text: ansiUp.value.ansi_to_html(`${decode(line.text ?? '')}\n`), + text: processText(line.text ?? ''), time: line.time ?? 0, type: null, // TODO: implement way to detect errors and warnings });