From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 98E0C1FF13C for ; Thu, 30 Apr 2026 14:10:38 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id AF1B5440D; Thu, 30 Apr 2026 14:10:35 +0200 (CEST) From: Christian Ebner To: pbs-devel@lists.proxmox.com Subject: [PATCH proxmox-backup 2/2] ui: GC/prune: pass tasks last run endtime to task viewer Date: Thu, 30 Apr 2026 14:10:15 +0200 Message-ID: <20260430121015.528664-3-c.ebner@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260430121015.528664-1-c.ebner@proxmox.com> References: <20260430121015.528664-1-c.ebner@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1777550930290 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.070 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: 6PZWEWLTCMF42DNZDS5A7FA2Y4VM5VSA X-Message-ID-Hash: 6PZWEWLTCMF42DNZDS5A7FA2Y4VM5VSA X-MailFrom: c.ebner@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox Backup Server development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Same issue as tackled by commit e8552dae3 ("ui: sync/verify view: show correct duration in task log window"), pass the last run endtime to the task log window for correct calculation of the job duration for finished jobs, not using the current time. For correctly showing the verification task status in datastore contents, an additional API request is required first to get the endtime. Other call sites arelady have the required information. Fixes: https://forum.proxmox.com/threads/183157/ Signed-off-by: Christian Ebner --- www/config/GCView.js | 9 ++++++--- www/config/PruneView.js | 3 +++ www/datastore/Content.js | 14 +++++++++++--- www/tape/BackupJobs.js | 3 +++ 4 files changed, 23 insertions(+), 6 deletions(-) diff --git a/www/config/GCView.js b/www/config/GCView.js index 9fcc22344..5f4e625fa 100644 --- a/www/config/GCView.js +++ b/www/config/GCView.js @@ -98,12 +98,15 @@ Ext.define('PBS.config.GCJobView', { showTaskLog: function () { let _me = this; - let upid = this.getData().upid; - if (!upid) { + let data = this.getData(); + if (!data.upid) { return; } - Ext.create('Proxmox.window.TaskViewer', { upid }).show(); + Ext.create('Proxmox.window.TaskViewer', { + upid: data.upid, + endtime: data['last-run-endtime'], + }).show(); }, startStore: function () { diff --git a/www/config/PruneView.js b/www/config/PruneView.js index f38724687..431a1ddcf 100644 --- a/www/config/PruneView.js +++ b/www/config/PruneView.js @@ -99,9 +99,12 @@ Ext.define('PBS.config.PruneJobView', { return; } + let endtime = selection[0].data['last-run-endtime']; + Ext.create('Proxmox.window.TaskViewer', { autoShow: true, upid, + endtime, }); }, diff --git a/www/datastore/Content.js b/www/datastore/Content.js index 1ec07505d..0d968b52e 100644 --- a/www/datastore/Content.js +++ b/www/datastore/Content.js @@ -1399,9 +1399,17 @@ Ext.define('PBS.DataStoreContent', { dblclick: function (view, el, row, col, ev, rec) { let verify = rec?.data?.verification; if (verify?.upid && rec.parentNode?.id !== 'root') { - Ext.create('Proxmox.window.TaskViewer', { - autoShow: true, - upid: verify.upid, + Proxmox.Utils.API2Request({ + url: `/nodes/localhost/tasks/${encodeURIComponent(verify.upid)}/status`, + failure: function (response) { + Ext.Msg.alert(gettext('Error'), response.htmlStatus); + }, + success: function (response, options) { + Ext.create('Proxmox.window.TaskViewer', { + upid: response.result.data.upid, + endtime: response.result.data.endtime, + }).show(); + }, }); } }, diff --git a/www/tape/BackupJobs.js b/www/tape/BackupJobs.js index 68d808af5..eb3fff82b 100644 --- a/www/tape/BackupJobs.js +++ b/www/tape/BackupJobs.js @@ -92,8 +92,11 @@ Ext.define('PBS.config.TapeBackupJobView', { return; } + let endtime = selection[0].data['last-run-endtime']; + Ext.create('Proxmox.window.TaskViewer', { upid, + endtime, }).show(); }, -- 2.47.3