From b7c4151497bbb71a80d4173d7371bca769b03fde Mon Sep 17 00:00:00 2001 From: Alexander Gil Date: Wed, 24 Jan 2024 08:24:37 +0100 Subject: [PATCH] feat(ui): Show progress bar and remove one unnecessary column --- server/web/ui/src/JobTable.tsx | 67 +++++++++++++++++++++++++--------- worker/task/encode.go | 3 +- 2 files changed, 51 insertions(+), 19 deletions(-) diff --git a/server/web/ui/src/JobTable.tsx b/server/web/ui/src/JobTable.tsx index e8046cf..9ff73d4 100644 --- a/server/web/ui/src/JobTable.tsx +++ b/server/web/ui/src/JobTable.tsx @@ -21,8 +21,8 @@ import { Cached, CalendarMonth, Delete, + Error, Feed, - Info, MoreVert, QuestionMark, Replay, @@ -345,6 +345,54 @@ const JobTable: React.FC = ({ token, setShowJobTable }) => { } }; + const renderStatusCellContent = (job: Job) => { + if (job.status === 'started') { + return job.status_message ? ( + (() => { + try { + const messageObj = JSON.parse(job.status_message); + if (messageObj.progress !== undefined) { + const progress = parseFloat(messageObj.progress); + return ( +
+
+
+ ); + } + } catch (error) { + return ( +
+ +
+ ); + } + })() + ) : ( + + ); + } else if (job.status === 'failed') { + return ( +
+ +
+ ); + } else { + return ( + + ); + } + }; + return (
@@ -419,11 +467,6 @@ const JobTable: React.FC = ({ token, setShowJobTable }) => { - - - - - @@ -444,18 +487,8 @@ const JobTable: React.FC = ({ token, setShowJobTable }) => { {job.destinationPath} - - - - {job.status_message} + {renderStatusCellContent(job)}
diff --git a/worker/task/encode.go b/worker/task/encode.go index 5eb8a8d..51c986e 100644 --- a/worker/task/encode.go +++ b/worker/task/encode.go @@ -895,7 +895,7 @@ func (J *EncodeWorker) encodeVideo(job *model.WorkTaskEncode, track *TaskTracks) videoContainer, err := J.clearData(sourceVideoParams) if err != nil { - J.terminal.Warn("error in clear data", J.GetID()) + J.terminal.Warn("error in clear data. Id: %s", J.GetID()) return err } if err = J.PGSMkvExtractDetectAndConvert(job, track, videoContainer); err != nil { @@ -918,7 +918,6 @@ func (J *EncodeWorker) encodeVideo(job *model.WorkTaskEncode, track *TaskTracks) if !open { break loop } - videoContainer.Video.Duration.Seconds() encodeFramesIncrement := (FFMPEGProgress.duration - lastDuration) * videoContainer.Video.FrameRate lastDuration = FFMPEGProgress.duration