diff --git a/src/components/logs/hooks/useWebSocketLogs.ts b/src/components/logs/hooks/useWebSocketLogs.ts index f4c0c850..974c5b34 100644 --- a/src/components/logs/hooks/useWebSocketLogs.ts +++ b/src/components/logs/hooks/useWebSocketLogs.ts @@ -89,18 +89,18 @@ export function useWebSocketLogs(showTimestamps: boolean, uuid?: string) { const params = new URLSearchParams(); if (jobInfo.websocket) { + const follow = jobInfo.websocket.parameters.follow; params.append('podName', jobInfo.websocket.parameters.podName); params.append('namespace', jobInfo.websocket.parameters.namespace); params.append('containerName', containerName); - params.append('follow', jobInfo.websocket.parameters.follow.toString()); - params.append('tailLines', '500'); + params.append('follow', follow.toString()); + if (follow) params.append('tailLines', '1000'); params.append('timestamps', showTimestamps.toString()); } else if (jobInfo.podName) { params.append('podName', jobInfo.podName); params.append('namespace', `env-${uuid}`); params.append('containerName', containerName); params.append('follow', 'false'); - params.append('tailLines', '500'); params.append('timestamps', showTimestamps.toString()); } diff --git a/src/server/lib/k8sStreamer.ts b/src/server/lib/k8sStreamer.ts index 2e750284..b134efa5 100644 --- a/src/server/lib/k8sStreamer.ts +++ b/src/server/lib/k8sStreamer.ts @@ -35,7 +35,7 @@ export function streamK8sLogs( namespace: string; containerName: string; follow: boolean; - tailLines: number; + tailLines?: number; timestamps: boolean; }, callbacks: { @@ -112,7 +112,7 @@ export function streamK8sLogs( try { const logOptions = { follow, - tailLines, + ...(tailLines !== undefined ? { tailLines } : {}), timestamps, pretty: false, }; diff --git a/ws-server.ts b/ws-server.ts index ff64f01b..55f71fc9 100644 --- a/ws-server.ts +++ b/ws-server.ts @@ -104,9 +104,9 @@ app.prepare().then(() => { throw new Error('Missing or invalid required parameters: podName, namespace, containerName'); } const follow = followStr === 'true'; - const tailLines = tailLinesStr ? parseInt(tailLinesStr as string, 10) : 200; + const tailLines = tailLinesStr ? parseInt(tailLinesStr as string, 10) : undefined; const timestamps = timestampsStr === 'true'; - if (isNaN(tailLines)) throw new Error('Invalid tailLines parameter.'); + if (tailLines !== undefined && isNaN(tailLines)) throw new Error('Invalid tailLines parameter.'); logger.debug(logCtx, 'Initiating K8s log stream'); k8sStreamAbort = streamK8sLogs(