From 6791d5a418e6c9cc221da06e7fe43367b9b13c30 Mon Sep 17 00:00:00 2001 From: silverwind Date: Fri, 24 Jul 2026 06:17:02 +0200 Subject: [PATCH] enhance(actions): action view enhancements (#38594) - avoid layout shift on actions log view page load - retain header border when actions log is scrolled - when copying step output, only copy with timestamp when timestamp display is enabled (useful for example when step output is plain json and copying with timestamp would make that json unparsable). --- web_src/js/components/ActionRunJobView.vue | 5 ++--- web_src/js/components/RepoActionView.vue | 1 + 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/web_src/js/components/ActionRunJobView.vue b/web_src/js/components/ActionRunJobView.vue index 3831d7789b..4e439a6db7 100644 --- a/web_src/js/components/ActionRunJobView.vue +++ b/web_src/js/components/ActionRunJobView.vue @@ -216,9 +216,8 @@ async function copyStepOutput(event: MouseEvent, stepIndex: number) { for (const line of stepLog?.lines ?? []) { const cmd = parseLogLineCommand(line); if (cmd?.name === 'hidden' || cmd?.name === 'endgroup') continue; - const ts = formatDatetimeISO(line.timestamp); const msg = createLogLineMessage(line, cmd).textContent ?? ''; - lines.push(`${ts} ${msg}`); + lines.push(timeVisible.value['log-time-stamp'] ? `${formatDatetimeISO(line.timestamp)} ${msg}` : msg); } return lines.join('\n'); }); @@ -563,6 +562,7 @@ async function hashChangeListener() { .job-info-header:has(+ .job-step-container) { border-radius: var(--border-radius) var(--border-radius) 0 0; + border-bottom: 1px solid var(--color-console-border); } .job-info-header .job-info-header-title { @@ -598,7 +598,6 @@ async function hashChangeListener() { .job-step-container { max-height: 100%; border-radius: 0 0 var(--border-radius) var(--border-radius); - border-top: 1px solid var(--color-console-border); z-index: 0; } diff --git a/web_src/js/components/RepoActionView.vue b/web_src/js/components/RepoActionView.vue index 6557133fe8..e956c4ceda 100644 --- a/web_src/js/components/RepoActionView.vue +++ b/web_src/js/components/RepoActionView.vue @@ -355,6 +355,7 @@ onBeforeUnmount(() => { flex-direction: column; gap: 4px; margin-top: 8px; + min-height: 50px; /* reserve the back link and title height so the body does not shift when the run data arrives */ } .action-view-back {