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
});