diff --git a/backend/package-lock.json b/backend/package-lock.json index ea2ab68..da0dc57 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -1,12 +1,12 @@ { "name": "ripster-backend", - "version": "0.12.0-12", + "version": "0.12.0-13", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ripster-backend", - "version": "0.12.0-12", + "version": "0.12.0-13", "dependencies": { "archiver": "^7.0.1", "cors": "^2.8.5", diff --git a/backend/package.json b/backend/package.json index e8a48c8..67196d6 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "ripster-backend", - "version": "0.12.0-12", + "version": "0.12.0-13", "private": true, "type": "commonjs", "scripts": { diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 3749297..cff31e5 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "ripster-frontend", - "version": "0.12.0-12", + "version": "0.12.0-13", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ripster-frontend", - "version": "0.12.0-12", + "version": "0.12.0-13", "dependencies": { "primeicons": "^7.0.0", "primereact": "^10.9.2", diff --git a/frontend/package.json b/frontend/package.json index fc1e362..d7e487b 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "ripster-frontend", - "version": "0.12.0-12", + "version": "0.12.0-13", "private": true, "type": "module", "scripts": { diff --git a/frontend/src/pages/DashboardPage.jsx b/frontend/src/pages/DashboardPage.jsx index fcdd0e3..6560b7e 100644 --- a/frontend/src/pages/DashboardPage.jsx +++ b/frontend/src/pages/DashboardPage.jsx @@ -960,19 +960,15 @@ export default function DashboardPage({ const state = String(pipeline?.state || 'IDLE').trim().toUpperCase(); const currentPipelineJobId = normalizeJobId(pipeline?.activeJobId || pipeline?.context?.jobId); const isProcessing = processingStates.includes(state); - // When the pipeline transitions to METADATA_SELECTION for a new job while another job - // is still encoding in the background, isProcessing becomes false and the log clears. - // Track the background encoding job so its live log keeps polling. - const backgroundProcessingJobId = useMemo(() => { - if (isProcessing) return null; - const bg = dashboardJobs.find((job) => { - const s = normalizeStatus(job?.status); - return processingStates.includes(s); - }); + // Always prefer the ENCODING job from dashboardJobs for the live log. + // When a second job enters ANALYZING, isProcessing becomes true (ANALYZING is a processingState) + // and currentPipelineJobId switches to job2 — but job1 is still ENCODING and its log must stay visible. + const encodingJobId = useMemo(() => { + const bg = dashboardJobs.find((job) => normalizeStatus(job?.status) === 'ENCODING'); return bg ? normalizeJobId(bg.id) : null; - }, [isProcessing, dashboardJobs]); - const liveLogJobId = backgroundProcessingJobId || currentPipelineJobId; - const liveLogActive = isProcessing || Boolean(backgroundProcessingJobId); + }, [dashboardJobs]); + const liveLogJobId = encodingJobId || currentPipelineJobId; + const liveLogActive = isProcessing || Boolean(encodingJobId); const monitoringState = useMemo( () => normalizeHardwareMonitoringPayload(hardwareMonitoring), [hardwareMonitoring] diff --git a/package-lock.json b/package-lock.json index d518781..1a4df55 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ripster", - "version": "0.12.0-12", + "version": "0.12.0-13", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ripster", - "version": "0.12.0-12", + "version": "0.12.0-13", "devDependencies": { "concurrently": "^9.1.2" } diff --git a/package.json b/package.json index 65e9814..8169e10 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ripster", "private": true, - "version": "0.12.0-12", + "version": "0.12.0-13", "scripts": { "dev": "concurrently \"npm run dev --prefix backend\" \"npm run dev --prefix frontend\"", "dev:backend": "npm run dev --prefix backend",