From 1f232d96d8020bda87961a7edb1d2ee034679392 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Thu, 15 Sep 2022 10:03:38 +0200 Subject: [PATCH] differentiate between db logs and not --- .../src/routes/api/v1/applications/handlers.ts | 2 ++ .../applications/[id]/logs/_BuildLog.svelte | 17 ++++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/apps/api/src/routes/api/v1/applications/handlers.ts b/apps/api/src/routes/api/v1/applications/handlers.ts index 51798fdaa..dfb076b09 100644 --- a/apps/api/src/routes/api/v1/applications/handlers.ts +++ b/apps/api/src/routes/api/v1/applications/handlers.ts @@ -1206,6 +1206,7 @@ export async function getBuildIdLogs(request: FastifyRequest) { log.time = Number(log.time) return log }), + fromDb: true, took: day().diff(createdAt) / 1000, status: data?.status || 'queued' } @@ -1221,6 +1222,7 @@ export async function getBuildIdLogs(request: FastifyRequest) { }).filter(log => log.time > sequence) return { logs, + fromDb: false, took: day().diff(createdAt) / 1000, status: data?.status || 'queued' } diff --git a/apps/ui/src/routes/applications/[id]/logs/_BuildLog.svelte b/apps/ui/src/routes/applications/[id]/logs/_BuildLog.svelte index fbf67c618..69bbf0be8 100644 --- a/apps/ui/src/routes/applications/[id]/logs/_BuildLog.svelte +++ b/apps/ui/src/routes/applications/[id]/logs/_BuildLog.svelte @@ -18,7 +18,7 @@ let followingBuild: any; let followingInterval: any; let logsEl: any; - + let fromDb = false; let cancelInprogress = false; const { id } = $page.params; @@ -38,13 +38,16 @@ } async function streamLogs(sequence = 0) { try { - let { logs: responseLogs, status } = await get( - `/applications/${id}/logs/build/${buildId}?sequence=${sequence}` - ); + let { + logs: responseLogs, + status, + fromDb: from + } = await get(`/applications/${id}/logs/build/${buildId}?sequence=${sequence}`); currentStatus = status; logs = logs.concat( responseLogs.map((log: any) => ({ ...log, line: cleanAnsiCodes(log.line) })) ); + fromDb = from; streamInterval = setInterval(async () => { if (status !== 'running' && status !== 'queued') { clearInterval(streamInterval); @@ -159,7 +162,11 @@ bind:this={logsEl} > {#each logs as log} -
[{day.unix(log.time).format('HH:mm:ss.SSS')}] {log.line + '\n'}
+ {#if fromDb} +
[{day.unix(log.time).format('HH:mm:ss.SSS')}] {log.line + '\n'}
+ {:else} +
{log.line + '\n'}
+ {/if} {/each} {:else}