diff --git a/web/app/src/stores/tasks.js b/web/app/src/stores/tasks.js index 43d23306..9fefbf9e 100644 --- a/web/app/src/stores/tasks.js +++ b/web/app/src/stores/tasks.js @@ -44,6 +44,16 @@ export const useTasks = defineStore('tasks', { }, }, actions: { + updateActiveTask(taskUpdate) { + if (!this.activeTask) return; + + // Refuse to handle task update of another task. + if (this.activeTask.id != taskUpdate.id) return; + + for (let field in taskUpdate) { + this.activeTask[field] = taskUpdate[field]; + } + }, setSelectedTasks(tasks) { this.$patch({ selectedTasks: tasks, diff --git a/web/app/src/views/JobsView.vue b/web/app/src/views/JobsView.vue index 4e0768b6..6be78778 100644 --- a/web/app/src/views/JobsView.vue +++ b/web/app/src/views/JobsView.vue @@ -147,7 +147,7 @@ export default { */ onSioTaskUpdate(taskUpdate) { if (this.$refs.tasksTable) this.$refs.tasksTable.processTaskUpdate(taskUpdate); - + this.tasks.updateActiveTask(taskUpdate); this.notifs.addTaskUpdate(taskUpdate); },