* [PATCH proxmox{,-backup} 00/14] fix #7904: Implement Enable checkboxes for all jobs
@ 2026-09-30 15:17 Jonas Theisen
2026-09-30 15:17 ` [PATCH proxmox 01/14] fix #7904: Add 'enable' to sync job schema Jonas Theisen
` (13 more replies)
0 siblings, 14 replies; 15+ messages in thread
From: Jonas Theisen @ 2026-09-30 15:17 UTC (permalink / raw)
To: pbs-devel
This patch series looks bigger than it actually is or rather
has a lot of repetition in it.
Most commits implement the same thing just for a different
component or job.
Goal of this patch series is to allow users to disable tasks
without having to remove their current schedule.
This was already possible for Prune jobs.
Backwards compatibiltiy was kept in mind so that existing
jobs wiithout schedules would not need manual intervention.
They will get updated and adapt the new scheme on the next
actual user change.
The patches called "improve visibility" introduce the necessary
changes to hide the "next-run" timestamp in the overview page.
The patches depend on each other in the way that the first
patch of each "kind" introduces a new function or a new scheme
which is then also used in later commits.
If this is bad practice please give according feedback and i will
split that out either in a v2 or in future patches.
The "remove clear" patch is to be considered optional as it does not
interfere with the functionality of the checkboxes but was rather
added from a personal perspective that this would improve UX.
The patches for the tape jobs were not directly tested since
i did not have a PBS with a (virtual) tape drive at hand.
Thanks @d.csapak for the feedback and help already provided off-list!
proxmox:
Jonas Theisen (4):
fix #7904: Add 'enable' to sync job schema
fix #7904: Add 'enable' to verify job schema
fix #7904: Add 'enable' to datastore config and GC job schema
fix #7904: Add 'enable' to Tape backup job schema
pbs-api-types/src/datastore.rs | 12 ++++++++++++
pbs-api-types/src/jobs.rs | 24 ++++++++++++++++++++++++
2 files changed, 36 insertions(+)
proxmox-backup:
Jonas Theisen (10):
fix #7904: Implement "Enable" checkbox for Sync jobs
fix #7904: Implement "Enable" checkbox for Verify jobs
fix #7904: Implement "Enable" checkbox for GC jobs
fix #7904: Implement "Enable" checkbox for Tape backup jobs
fix #7904: Improve visibility of disabled GC on the overview page
fix #7904: Improve visibility of disabled Verify jobs on the overview
page
fix #7904: Improve visibility of disabled Sync jobs on the overview
page
fix #7904: Improve visibility of disabled Tape Backup jobs on the
overview page
fix #7904: Remove clear button from calendar selector
fix #7904: Align Prune Edit window to other "Enable" checkboxes
src/api2/admin/datastore.rs | 1 +
src/api2/admin/gc.rs | 16 ++++++++++++-
src/api2/admin/sync.rs | 10 +++++++-
src/api2/admin/verify.rs | 10 +++++++-
src/api2/config/datastore.rs | 4 ++++
src/api2/config/sync.rs | 4 ++++
src/api2/config/verify.rs | 3 +++
src/api2/tape/backup.rs | 11 ++++++++-
src/bin/proxmox-backup-proxy.rs | 32 ++++++++++++++++++++++++++
www/Utils.js | 10 ++++++++
www/config/GCView.js | 4 +++-
www/config/SyncView.js | 2 ++
www/config/VerifyView.js | 2 ++
www/form/CalendarEvent.js | 19 ----------------
www/tape/BackupJobs.js | 2 ++
www/tape/window/TapeBackupJob.js | 30 ++++++++++++++++++++++--
www/window/GCJobEdit.js | 39 ++++++++++++++++++++++++++++----
www/window/PruneJobEdit.js | 10 +++++++-
www/window/SyncJobEdit.js | 26 +++++++++++++++++++--
www/window/VerifyJobEdit.js | 30 ++++++++++++++++++++++--
20 files changed, 229 insertions(+), 36 deletions(-)
Summary over all repositories:
22 files changed, 265 insertions(+), 36 deletions(-)
--
Generated by murpp 0.12.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH proxmox 01/14] fix #7904: Add 'enable' to sync job schema
2026-09-30 15:17 [PATCH proxmox{,-backup} 00/14] fix #7904: Implement Enable checkboxes for all jobs Jonas Theisen
@ 2026-09-30 15:17 ` Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox 02/14] fix #7904: Add 'enable' to verify " Jonas Theisen
` (12 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Jonas Theisen @ 2026-09-30 15:17 UTC (permalink / raw)
To: pbs-devel
To be able to en-/disable the sync job this patch adds the
enable field to the sync job config and the needed schema.
Signed-off-by: Jonas Theisen <j.theisen@proxmox.com>
---
pbs-api-types/src/.jobs.rs.swp | Bin 0 -> 1024 bytes
pbs-api-types/src/jobs.rs | 12 ++++++++++++
2 files changed, 12 insertions(+)
create mode 100644 pbs-api-types/src/.jobs.rs.swp
diff --git a/pbs-api-types/src/.jobs.rs.swp b/pbs-api-types/src/.jobs.rs.swp
new file mode 100644
index 0000000000000000000000000000000000000000..46169e6929655d18fff0489390612623188fcfff
GIT binary patch
literal 1024
zcmYc?$V<%2SFq4CVL$<5-s}unB^jxi#i@BH5?DAziJ1h|fV34CCF^J9Cl%`z6=N}F
ORA@8=Mniz!ApiiUJ`9}z
literal 0
HcmV?d00001
diff --git a/pbs-api-types/src/jobs.rs b/pbs-api-types/src/jobs.rs
index 9a5d2b77..084c7604 100644
--- a/pbs-api-types/src/jobs.rs
+++ b/pbs-api-types/src/jobs.rs
@@ -62,6 +62,12 @@ pub const VERIFICATION_SCHEDULE_SCHEMA: Schema =
.type_text("<calendar-event>")
.schema();
+pub const ENABLE_JOB_SCHEMA: Schema = BooleanSchema::new(
+ "Enables the scheduled execution of this task.",
+)
+.default(true)
+.schema();
+
pub const REMOVE_VANISHED_BACKUPS_SCHEMA: Schema = BooleanSchema::new(
"Delete vanished backups. This removes the local copy if the remote backup was deleted.",
)
@@ -642,6 +648,10 @@ pub const UNMOUNT_ON_SYNC_DONE_SCHEMA: Schema =
optional: true,
schema: SYNC_SCHEDULE_SCHEMA,
},
+ enable: {
+ optional: true,
+ schema: ENABLE_JOB_SCHEMA,
+ },
"group-filter": {
schema: GROUP_FILTER_LIST_SCHEMA,
optional: true,
@@ -718,6 +728,8 @@ pub struct SyncJobConfig {
#[serde(skip_serializing_if = "Option::is_none")]
pub schedule: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
+ pub enable: Option<bool>,
+ #[serde(skip_serializing_if = "Option::is_none")]
pub group_filter: Option<Vec<GroupFilter>>,
#[serde(flatten)]
pub limit: RateLimitConfig,
--
2.47.3
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH proxmox 02/14] fix #7904: Add 'enable' to verify job schema
2026-09-30 15:17 [PATCH proxmox{,-backup} 00/14] fix #7904: Implement Enable checkboxes for all jobs Jonas Theisen
2026-09-30 15:17 ` [PATCH proxmox 01/14] fix #7904: Add 'enable' to sync job schema Jonas Theisen
@ 2026-09-30 15:18 ` Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox 03/14] fix #7904: Add 'enable' to datastore config and GC " Jonas Theisen
` (11 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Jonas Theisen @ 2026-09-30 15:18 UTC (permalink / raw)
To: pbs-devel
To be able to en-/disable the verify job this patch adds the
enable field to the verify job config and the needed schema.
Signed-off-by: Jonas Theisen <j.theisen@proxmox.com>
---
pbs-api-types/src/.jobs.rs.swp | Bin 1024 -> 0 bytes
pbs-api-types/src/jobs.rs | 6 ++++++
2 files changed, 6 insertions(+)
delete mode 100644 pbs-api-types/src/.jobs.rs.swp
diff --git a/pbs-api-types/src/.jobs.rs.swp b/pbs-api-types/src/.jobs.rs.swp
deleted file mode 100644
index 46169e6929655d18fff0489390612623188fcfff..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1024
zcmYc?$V<%2SFq4CVL$<5-s}unB^jxi#i@BH5?DAziJ1h|fV34CCF^J9Cl%`z6=N}F
ORA@8=Mniz!ApiiUJ`9}z
diff --git a/pbs-api-types/src/jobs.rs b/pbs-api-types/src/jobs.rs
index 084c7604..d85d94bc 100644
--- a/pbs-api-types/src/jobs.rs
+++ b/pbs-api-types/src/jobs.rs
@@ -234,6 +234,10 @@ pub const VERIFICATION_OUTDATED_AFTER_SCHEMA: Schema =
optional: true,
schema: VERIFICATION_SCHEDULE_SCHEMA,
},
+ enable: {
+ optional: true,
+ schema: ENABLE_JOB_SCHEMA,
+ },
ns: {
optional: true,
schema: BACKUP_NAMESPACE_SCHEMA,
@@ -274,6 +278,8 @@ pub struct VerificationJobConfig {
/// when to schedule this job in calendar event notation
pub schedule: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
+ pub enable: Option<bool>,
+ #[serde(skip_serializing_if = "Option::is_none")]
/// on which backup namespace to run the verification recursively
pub ns: Option<BackupNamespace>,
#[serde(skip_serializing_if = "Option::is_none", default)]
--
2.47.3
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH proxmox 03/14] fix #7904: Add 'enable' to datastore config and GC job schema
2026-09-30 15:17 [PATCH proxmox{,-backup} 00/14] fix #7904: Implement Enable checkboxes for all jobs Jonas Theisen
2026-09-30 15:17 ` [PATCH proxmox 01/14] fix #7904: Add 'enable' to sync job schema Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox 02/14] fix #7904: Add 'enable' to verify " Jonas Theisen
@ 2026-09-30 15:18 ` Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox 04/14] fix #7904: Add 'enable' to Tape backup " Jonas Theisen
` (10 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Jonas Theisen @ 2026-09-30 15:18 UTC (permalink / raw)
To: pbs-devel
To be able to en-/disable the garbage collection this patch adds the
enable field to the datastore config and adapts the job status.
Signed-off-by: Jonas Theisen <j.theisen@proxmox.com>
---
pbs-api-types/src/datastore.rs | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/pbs-api-types/src/datastore.rs b/pbs-api-types/src/datastore.rs
index 93ccaf07..50658b58 100644
--- a/pbs-api-types/src/datastore.rs
+++ b/pbs-api-types/src/datastore.rs
@@ -460,6 +460,11 @@ pub const COUNTER_RESET_SCHEDULE_SCHEMA: Schema =
optional: true,
schema: SINGLE_LINE_COMMENT_SCHEMA,
},
+ "gc-enable": {
+ description: "Enable scheduled execution of garbage collection.",
+ optional: true,
+ type: bool,
+ },
"gc-schedule": {
optional: true,
schema: GC_SCHEDULE_SCHEMA,
@@ -524,6 +529,9 @@ pub struct DataStoreConfig {
#[serde(skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub gc_enable: Option<bool>,
+
#[serde(skip_serializing_if = "Option::is_none")]
pub gc_schedule: Option<String>,
@@ -605,6 +613,7 @@ impl DataStoreConfig {
name,
path,
comment: None,
+ gc_enable: None,
gc_schedule: None,
gc_on_unmount: None,
prune_schedule: None,
@@ -1704,6 +1713,9 @@ pub struct GarbageCollectionJobStatus {
pub store: String,
#[serde(flatten)]
pub status: GarbageCollectionStatus,
+ /// Scheduled execution of the gc job
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub enable: Option<bool>,
/// Schedule of the gc job
#[serde(skip_serializing_if = "Option::is_none")]
pub schedule: Option<String>,
--
2.47.3
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH proxmox 04/14] fix #7904: Add 'enable' to Tape backup job schema
2026-09-30 15:17 [PATCH proxmox{,-backup} 00/14] fix #7904: Implement Enable checkboxes for all jobs Jonas Theisen
` (2 preceding siblings ...)
2026-09-30 15:18 ` [PATCH proxmox 03/14] fix #7904: Add 'enable' to datastore config and GC " Jonas Theisen
@ 2026-09-30 15:18 ` Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox-backup 05/14] fix #7904: Implement "Enable" checkbox for Sync jobs Jonas Theisen
` (9 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Jonas Theisen @ 2026-09-30 15:18 UTC (permalink / raw)
To: pbs-devel
To be able to en-/disable tape backup jobs this patch adds the
enable field to the job config.
Signed-off-by: Jonas Theisen <j.theisen@proxmox.com>
---
pbs-api-types/src/jobs.rs | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/pbs-api-types/src/jobs.rs b/pbs-api-types/src/jobs.rs
index d85d94bc..0ae93678 100644
--- a/pbs-api-types/src/jobs.rs
+++ b/pbs-api-types/src/jobs.rs
@@ -415,6 +415,10 @@ pub struct TapeBackupJobSetup {
optional: true,
schema: SYNC_SCHEDULE_SCHEMA,
},
+ enable: {
+ optional: true,
+ schema: ENABLE_JOB_SCHEMA,
+ },
}
)]
#[derive(Serialize, Deserialize, Clone, Updater, PartialEq)]
@@ -429,6 +433,8 @@ pub struct TapeBackupJobConfig {
pub comment: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub schedule: Option<String>,
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub enable: Option<bool>,
}
#[api(
--
2.47.3
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH proxmox-backup 05/14] fix #7904: Implement "Enable" checkbox for Sync jobs
2026-09-30 15:17 [PATCH proxmox{,-backup} 00/14] fix #7904: Implement Enable checkboxes for all jobs Jonas Theisen
` (3 preceding siblings ...)
2026-09-30 15:18 ` [PATCH proxmox 04/14] fix #7904: Add 'enable' to Tape backup " Jonas Theisen
@ 2026-09-30 15:18 ` Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox-backup 06/14] fix #7904: Implement "Enable" checkbox for Verify jobs Jonas Theisen
` (8 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Jonas Theisen @ 2026-09-30 15:18 UTC (permalink / raw)
To: pbs-devel
To allow users to disable a sync job without having to remove the
schedule this patch introduces an "Enable" checkbox.
The value is inserted into the job config and honored by
the scheduler by skipping disabled jobs altogether.
If the value is not present in a job config it is assumed the job
is to be enabled for backwards compatibility.
If the job is disabled the schedule input box in the UI is also
disabled and such is configured to not allow empty inputs anymore.
Signed-off-by: Jonas Theisen <j.theisen@proxmox.com>
---
src/api2/admin/sync.rs | 10 +++++++++-
src/api2/config/sync.rs | 4 ++++
src/bin/proxmox-backup-proxy.rs | 8 ++++++++
www/window/SyncJobEdit.js | 26 ++++++++++++++++++++++++--
4 files changed, 45 insertions(+), 3 deletions(-)
diff --git a/src/api2/admin/sync.rs b/src/api2/admin/sync.rs
index 1799f51c0..39fe7c648 100644
--- a/src/api2/admin/sync.rs
+++ b/src/api2/admin/sync.rs
@@ -112,7 +112,15 @@ pub fn list_config_sync_jobs(
continue;
}
- let status = compute_schedule_status("syncjob", &job.id, job.schedule.as_deref())?;
+ let mut status = compute_schedule_status("syncjob", &job.id, job.schedule.as_deref())?;
+
+ let enabled = match job.enable {
+ Some(c) => c,
+ None => true,
+ };
+ if !enabled {
+ status.next_run = Some(0);
+ }
list.push(SyncJobStatus {
config: job,
diff --git a/src/api2/config/sync.rs b/src/api2/config/sync.rs
index 068e2619c..f23a66df0 100644
--- a/src/api2/config/sync.rs
+++ b/src/api2/config/sync.rs
@@ -674,6 +674,9 @@ pub fn update_sync_job(
if update.schedule.is_some() {
data.schedule = update.schedule;
}
+ if let Some(enable) = update.enable {
+ data.enable = Some(enable);
+ }
if update.remove_vanished.is_some() {
data.remove_vanished = update.remove_vanished;
}
@@ -819,6 +822,7 @@ acl:1:/remote/remote1/remotestore1:write@pbs:RemoteSyncOperator
max_depth: None,
group_filter: None,
schedule: None,
+ enable: None,
limit: pbs_api_types::RateLimitConfig::default(), // no limit
transfer_last: None,
encrypted_only: None,
diff --git a/src/bin/proxmox-backup-proxy.rs b/src/bin/proxmox-backup-proxy.rs
index 22abfdbdb..ddeeff721 100644
--- a/src/bin/proxmox-backup-proxy.rs
+++ b/src/bin/proxmox-backup-proxy.rs
@@ -684,6 +684,14 @@ async fn schedule_datastore_sync_jobs() {
None => continue,
};
+ let job_enabled = match job_config.enable {
+ Some(c) => c,
+ None => true, //if not defined assume enabled for backwards compatibility
+ };
+ if !job_enabled {
+ continue;
+ }
+
let worker_type = "syncjob";
if check_schedule(worker_type, &event_str, &job_id) {
let job = match Job::new(worker_type, &job_id) {
diff --git a/www/window/SyncJobEdit.js b/www/window/SyncJobEdit.js
index 961ce2951..9ff949b22 100644
--- a/www/window/SyncJobEdit.js
+++ b/www/window/SyncJobEdit.js
@@ -97,6 +97,10 @@ Ext.define('PBS.window.SyncJobEdit', {
} else {
values.location = 'remote';
}
+
+ if (!values.schedule || values.schedule === '') {
+ values.enable = false;
+ }
me.callParent([values]);
},
@@ -203,13 +207,31 @@ Ext.define('PBS.window.SyncJobEdit', {
deleteEmpty: '{!isCreate}',
},
},
+ {
+ xtype: 'proxmoxcheckbox',
+ fieldLabel: gettext('Enable'),
+ name: 'enable',
+ autoEl: {
+ tag: 'div',
+ 'data-qtip': gettext('Enable scheduled execution of this task.'),
+ },
+ listeners: {
+ change: function (field, enabled) {
+ let me = this;
+ let view = me.up('pbsSyncJobEdit');
+ let schedule = view.down('field[name=schedule]');
+ schedule.setDisabled(!enabled);
+ },
+ },
+ uncheckedValue: false,
+ value: true,
+ },
{
xtype: 'pbsCalendarEvent',
name: 'schedule',
fieldLabel: gettext('Sync Schedule'),
- emptyText: gettext('none'),
+ allowBlank: false,
cbind: {
- deleteEmpty: '{!isCreate}',
value: '{scheduleValue}',
},
},
--
2.47.3
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH proxmox-backup 06/14] fix #7904: Implement "Enable" checkbox for Verify jobs
2026-09-30 15:17 [PATCH proxmox{,-backup} 00/14] fix #7904: Implement Enable checkboxes for all jobs Jonas Theisen
` (4 preceding siblings ...)
2026-09-30 15:18 ` [PATCH proxmox-backup 05/14] fix #7904: Implement "Enable" checkbox for Sync jobs Jonas Theisen
@ 2026-09-30 15:18 ` Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox-backup 07/14] fix #7904: Implement "Enable" checkbox for GC jobs Jonas Theisen
` (7 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Jonas Theisen @ 2026-09-30 15:18 UTC (permalink / raw)
To: pbs-devel
To allow users to disable a verify job without having to remove the
schedule this patch introduces an "Enable" checkbox.
The value is inserted into the job config and honored by
the scheduler by skipping disabled jobs altogether.
If the value is not present in a job config it is assumed the job
is to be enabled for backwards compatibility.
If the job is disabled the schedule input box in the UI is also
disabled and such is configured to not allow empty inputs anymore.
Signed-off-by: Jonas Theisen <j.theisen@proxmox.com>
---
src/api2/admin/verify.rs | 10 +++++++++-
src/api2/config/verify.rs | 3 +++
src/bin/proxmox-backup-proxy.rs | 8 ++++++++
www/window/VerifyJobEdit.js | 30 ++++++++++++++++++++++++++++--
4 files changed, 48 insertions(+), 3 deletions(-)
diff --git a/src/api2/admin/verify.rs b/src/api2/admin/verify.rs
index 80659ebe2..d19f0f9db 100644
--- a/src/api2/admin/verify.rs
+++ b/src/api2/admin/verify.rs
@@ -73,7 +73,15 @@ pub fn list_verification_jobs(
let mut list = Vec::new();
for job in job_config_iter {
- let status = compute_schedule_status("verificationjob", &job.id, job.schedule.as_deref())?;
+ let mut status = compute_schedule_status("verificationjob", &job.id, job.schedule.as_deref())?;
+
+ let enabled = match job.enable {
+ Some(c) => c,
+ None => true,
+ };
+ if !enabled {
+ status.next_run = Some(0);
+ }
list.push(VerificationJobStatus {
config: job,
diff --git a/src/api2/config/verify.rs b/src/api2/config/verify.rs
index 35be9b175..a0c23841e 100644
--- a/src/api2/config/verify.rs
+++ b/src/api2/config/verify.rs
@@ -262,6 +262,9 @@ pub fn update_verification_job(
if update.schedule.is_some() {
data.schedule = update.schedule;
}
+ if let Some(enable) = update.enable {
+ data.enable = Some(enable);
+ }
if let Some(ns) = update.ns {
if !ns.is_root() {
data.ns = Some(ns);
diff --git a/src/bin/proxmox-backup-proxy.rs b/src/bin/proxmox-backup-proxy.rs
index ddeeff721..af3ebb7a7 100644
--- a/src/bin/proxmox-backup-proxy.rs
+++ b/src/bin/proxmox-backup-proxy.rs
@@ -728,6 +728,14 @@ async fn schedule_datastore_verify_jobs() {
None => continue,
};
+ let job_enabled = match job_config.enable {
+ Some(c) => c,
+ None => true, //if not defined assume enabled for backwards compatibility
+ };
+ if !job_enabled {
+ continue;
+ }
+
let worker_type = "verificationjob";
let auth_id = Authid::root_auth_id().clone();
if check_schedule(worker_type, &event_str, &job_id) {
diff --git a/www/window/VerifyJobEdit.js b/www/window/VerifyJobEdit.js
index b8d8b5810..c8e54e0f2 100644
--- a/www/window/VerifyJobEdit.js
+++ b/www/window/VerifyJobEdit.js
@@ -80,6 +80,14 @@ Ext.define('PBS.window.VerifyJobEdit', {
},
},
+ setValues: function (values) {
+ let me = this;
+ if (!values.schedule || values.schedule === '') {
+ values.enable = false;
+ }
+ me.callParent([values]);
+ },
+
items: {
xtype: 'inputpanel',
onGetValues: function (values) {
@@ -124,14 +132,32 @@ Ext.define('PBS.window.VerifyJobEdit', {
],
column2: [
+ {
+ xtype: 'proxmoxcheckbox',
+ fieldLabel: gettext('Enable'),
+ name: 'enable',
+ autoEl: {
+ tag: 'div',
+ 'data-qtip': gettext('Enable scheduled execution of this task.'),
+ },
+ listeners: {
+ change: function (field, enabled) {
+ let me = this;
+ let view = me.up('pbsVerifyJobEdit');
+ let schedule = view.down('field[name=schedule]');
+ schedule.setDisabled(!enabled);
+ },
+ },
+ uncheckedValue: false,
+ value: true,
+ },
{
xtype: 'pbsCalendarEvent',
name: 'schedule',
fieldLabel: gettext('Schedule'),
- emptyText: gettext('none (disabled)'),
+ allowBlank: false,
cbind: {
value: '{scheduleValue}',
- deleteEmpty: '{!isCreate}',
},
},
{
--
2.47.3
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH proxmox-backup 07/14] fix #7904: Implement "Enable" checkbox for GC jobs
2026-09-30 15:17 [PATCH proxmox{,-backup} 00/14] fix #7904: Implement Enable checkboxes for all jobs Jonas Theisen
` (5 preceding siblings ...)
2026-09-30 15:18 ` [PATCH proxmox-backup 06/14] fix #7904: Implement "Enable" checkbox for Verify jobs Jonas Theisen
@ 2026-09-30 15:18 ` Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox-backup 08/14] fix #7904: Implement "Enable" checkbox for Tape backup jobs Jonas Theisen
` (6 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Jonas Theisen @ 2026-09-30 15:18 UTC (permalink / raw)
To: pbs-devel
To allow users to disable a garbage-collection without
having to remove the schedule this patch introduces
an "Enable" checkbox.
The value is inserted into the datastore config and honored by
the scheduler by skipping GC if enabled is not set.
If the value is not present it is assumed GC should run
for backwards compatibility.
If the checkbox is unchecked the schedule input box in the UI is also
disabled and such is configured to not allow empty inputs anymore.
Signed-off-by: Jonas Theisen <j.theisen@proxmox.com>
---
src/api2/admin/datastore.rs | 1 +
src/api2/admin/gc.rs | 16 +++++++++++++-
src/api2/config/datastore.rs | 4 ++++
src/bin/proxmox-backup-proxy.rs | 8 +++++++
www/config/GCView.js | 2 ++
www/window/GCJobEdit.js | 39 ++++++++++++++++++++++++++++-----
6 files changed, 64 insertions(+), 6 deletions(-)
diff --git a/src/api2/admin/datastore.rs b/src/api2/admin/datastore.rs
index bc2b2436e..641d4ee0e 100644
--- a/src/api2/admin/datastore.rs
+++ b/src/api2/admin/datastore.rs
@@ -1258,6 +1258,7 @@ pub fn garbage_collection_status(
let mut info = GarbageCollectionJobStatus {
store: store.clone(),
schedule: store_config.gc_schedule,
+ enable: store_config.gc_enable,
..Default::default()
};
diff --git a/src/api2/admin/gc.rs b/src/api2/admin/gc.rs
index bca06897b..4bbce7255 100644
--- a/src/api2/admin/gc.rs
+++ b/src/api2/admin/gc.rs
@@ -45,7 +45,21 @@ pub fn list_all_gc_jobs(
.collect::<Vec<_>>(),
};
- Ok(gc_info)
+ let mut list = Vec::new();
+
+ for mut job in gc_info {
+ let enabled = match job.enable {
+ Some(c) => c,
+ None => true,
+ };
+ if !enabled {
+ job.next_run = Some(0);
+ }
+
+ list.push(job);
+ }
+
+ Ok(list)
}
const GC_ROUTER: Router = Router::new().get(&API_METHOD_LIST_ALL_GC_JOBS);
diff --git a/src/api2/config/datastore.rs b/src/api2/config/datastore.rs
index e7028480c..3c372b7f6 100644
--- a/src/api2/config/datastore.rs
+++ b/src/api2/config/datastore.rs
@@ -571,6 +571,10 @@ pub fn update_datastore(
data.gc_on_unmount = update.gc_on_unmount;
}
+ if update.gc_enable.is_some() {
+ data.gc_enable = update.gc_enable;
+ }
+
macro_rules! prune_disabled {
($(($param:literal, $($member:tt)+)),+) => {
$(
diff --git a/src/bin/proxmox-backup-proxy.rs b/src/bin/proxmox-backup-proxy.rs
index af3ebb7a7..c974da4bd 100644
--- a/src/bin/proxmox-backup-proxy.rs
+++ b/src/bin/proxmox-backup-proxy.rs
@@ -537,6 +537,14 @@ async fn schedule_datastore_garbage_collection() {
}
};
+ let gc_enabled = match store_config.gc_enable {
+ Some(c) => c,
+ None => true, //if not defined assume enabled for backwards compatibility
+ };
+ if !gc_enabled {
+ continue;
+ }
+
let event_str = match store_config.gc_schedule {
Some(event_str) => event_str,
None => continue,
diff --git a/www/config/GCView.js b/www/config/GCView.js
index 9fcc22344..5077f0566 100644
--- a/www/config/GCView.js
+++ b/www/config/GCView.js
@@ -5,6 +5,7 @@ Ext.define('pbs-gc-jobs-status', {
'upid',
'removed-bytes',
'pending-bytes',
+ 'enable',
'schedule',
'next-run',
'last-run-endtime',
@@ -73,6 +74,7 @@ Ext.define('PBS.config.GCJobView', {
datastore: data.store,
id: data.store,
schedule: data.schedule,
+ enable: data.enable,
listeners: {
destroy: () => this.reload(),
},
diff --git a/www/window/GCJobEdit.js b/www/window/GCJobEdit.js
index 6afcf7de1..e1a94754d 100644
--- a/www/window/GCJobEdit.js
+++ b/www/window/GCJobEdit.js
@@ -19,10 +19,39 @@ Ext.define('PBS.window.GCJobEdit', {
return {};
},
- items: {
- xtype: 'pbsCalendarEvent',
- name: 'gc-schedule',
- fieldLabel: gettext('GC Schedule'),
- emptyText: gettext('none (disabled)'),
+ setValues: function (values) {
+ let me = this;
+ if (!values['gc-schedule'] || values['gc-schedule'] === '') {
+ values['gc-enable'] = false;
+ }
+ me.callParent([values]);
},
+
+ items: [
+ {
+ xtype: 'proxmoxcheckbox',
+ fieldLabel: gettext('Enable'),
+ name: 'gc-enable',
+ autoEl: {
+ tag: 'div',
+ 'data-qtip': gettext('Enable scheduled execution of this task.'),
+ },
+ listeners: {
+ change: function (field, enabled) {
+ let me = this;
+ let view = me.up('pbsGCJobEdit');
+ let schedule = view.down('field[name=gc-schedule]');
+ schedule.setDisabled(!enabled);
+ },
+ },
+ uncheckedValue: false,
+ value: true,
+ },
+ {
+ xtype: 'pbsCalendarEvent',
+ name: 'gc-schedule',
+ fieldLabel: gettext('GC Schedule'),
+ allowBlank: false,
+ },
+ ],
});
--
2.47.3
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH proxmox-backup 08/14] fix #7904: Implement "Enable" checkbox for Tape backup jobs
2026-09-30 15:17 [PATCH proxmox{,-backup} 00/14] fix #7904: Implement Enable checkboxes for all jobs Jonas Theisen
` (6 preceding siblings ...)
2026-09-30 15:18 ` [PATCH proxmox-backup 07/14] fix #7904: Implement "Enable" checkbox for GC jobs Jonas Theisen
@ 2026-09-30 15:18 ` Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox-backup 09/14] fix #7904: Improve visibility of disabled GC on the overview page Jonas Theisen
` (5 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Jonas Theisen @ 2026-09-30 15:18 UTC (permalink / raw)
To: pbs-devel
To allow users to disable a tape backup job without
having to remove the schedule this patch introduces
an "Enable" checkbox.
The value is inserted into the job config and honored by
the scheduler by skipping it if enabled is set to false.
If the value is not present it is assumed the job should run
for backwards compatibility.
If the checkbox is unchecked the schedule input box in the UI is also
disabled and such is configured to not allow empty inputs anymore.
Signed-off-by: Jonas Theisen <j.theisen@proxmox.com>
---
src/api2/tape/backup.rs | 11 ++++++++++-
src/bin/proxmox-backup-proxy.rs | 8 ++++++++
www/tape/window/TapeBackupJob.js | 30 ++++++++++++++++++++++++++++--
3 files changed, 46 insertions(+), 3 deletions(-)
diff --git a/src/api2/tape/backup.rs b/src/api2/tape/backup.rs
index c0a4ca65b..3bf6c8bb0 100644
--- a/src/api2/tape/backup.rs
+++ b/src/api2/tape/backup.rs
@@ -83,7 +83,16 @@ pub fn list_tape_backup_jobs(
let status = compute_schedule_status("tape-backup-job", &job.id, job.schedule.as_deref())?;
- let next_run = status.next_run.unwrap_or(current_time);
+ let next_run: i64;
+ let enabled = match job.enable {
+ Some(c) => c,
+ None => true,
+ };
+ if !enabled {
+ next_run = 0;
+ } else {
+ next_run = status.next_run.unwrap_or(current_time);
+ }
let mut next_media_label = None;
diff --git a/src/bin/proxmox-backup-proxy.rs b/src/bin/proxmox-backup-proxy.rs
index c974da4bd..f0fe21b90 100644
--- a/src/bin/proxmox-backup-proxy.rs
+++ b/src/bin/proxmox-backup-proxy.rs
@@ -780,6 +780,14 @@ async fn schedule_tape_backup_jobs() {
None => continue,
};
+ let job_enabled = match job_config.enable {
+ Some(c) => c,
+ None => true, //if not defined assume enabled for backwards compatibility
+ };
+ if !job_enabled {
+ continue;
+ }
+
let worker_type = "tape-backup-job";
let auth_id = Authid::root_auth_id().clone();
if check_schedule(worker_type, &event_str, &job_id) {
diff --git a/www/tape/window/TapeBackupJob.js b/www/tape/window/TapeBackupJob.js
index ad03b6076..2c50470e5 100644
--- a/www/tape/window/TapeBackupJob.js
+++ b/www/tape/window/TapeBackupJob.js
@@ -46,6 +46,14 @@ Ext.define('PBS.TapeManagement.BackupJobEdit', {
},
},
+ setValues: function (values) {
+ let me = this;
+ if (!values.schedule || values.schedule === '') {
+ values.enable = false;
+ }
+ me.callParent([values]);
+ },
+
items: {
xtype: 'tabpanel',
bodyPadding: 10,
@@ -112,13 +120,31 @@ Ext.define('PBS.TapeManagement.BackupJobEdit', {
],
column2: [
+ {
+ xtype: 'proxmoxcheckbox',
+ fieldLabel: gettext('Enable'),
+ name: 'enable',
+ autoEl: {
+ tag: 'div',
+ 'data-qtip': gettext('Enable scheduled execution of this task.'),
+ },
+ listeners: {
+ change: function (field, enabled) {
+ let me = this;
+ let view = me.up('pbsTapeBackupJobEdit');
+ let schedule = view.down('field[name=schedule]');
+ schedule.setDisabled(!enabled);
+ },
+ },
+ uncheckedValue: false,
+ value: true,
+ },
{
fieldLabel: gettext('Schedule'),
xtype: 'pbsCalendarEvent',
name: 'schedule',
- emptyText: gettext('none (disabled)'),
+ allowBlank: false,
cbind: {
- deleteEmpty: '{!isCreate}',
value: '{scheduleValue}',
},
},
--
2.47.3
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH proxmox-backup 09/14] fix #7904: Improve visibility of disabled GC on the overview page
2026-09-30 15:17 [PATCH proxmox{,-backup} 00/14] fix #7904: Implement Enable checkboxes for all jobs Jonas Theisen
` (7 preceding siblings ...)
2026-09-30 15:18 ` [PATCH proxmox-backup 08/14] fix #7904: Implement "Enable" checkbox for Tape backup jobs Jonas Theisen
@ 2026-09-30 15:18 ` Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox-backup 10/14] fix #7904: Improve visibility of disabled Verify jobs " Jonas Theisen
` (4 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Jonas Theisen @ 2026-09-30 15:18 UTC (permalink / raw)
To: pbs-devel
This commit adds additional logic to prominently display if
a GC job was disabled on the GC overview page.
If the GC is disabled the text "Disabled" is shown instead of
the schedule which is still present in the config file.
For backwords compatibility if no schedule is defined the fallback
is still None.
Signed-off-by: Jonas Theisen <j.theisen@proxmox.com>
---
www/Utils.js | 10 ++++++++++
www/config/GCView.js | 2 +-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/www/Utils.js b/www/Utils.js
index d6bfd459e..8abbeee57 100644
--- a/www/Utils.js
+++ b/www/Utils.js
@@ -335,6 +335,16 @@ Ext.define('PBS.Utils', {
);
},
+ render_schedule: function (val, metadat, record) {
+ if(record.data.enable === false) {
+ return gettext('Disabled');
+ }
+ if(val) {
+ return val;
+ }
+ return Proxmox.Utils.NoneText;
+ },
+
get_help_tool: function (blockid) {
let info = Proxmox.Utils.get_help_info(blockid);
if (info === undefined) {
diff --git a/www/config/GCView.js b/www/config/GCView.js
index 5077f0566..2ac931cd8 100644
--- a/www/config/GCView.js
+++ b/www/config/GCView.js
@@ -183,7 +183,7 @@ Ext.define('PBS.config.GCJobView', {
header: gettext('Schedule'),
dataIndex: 'schedule',
hideable: false,
- renderer: (value) => (value ? value : Proxmox.Utils.NoneText),
+ renderer: PBS.Utils.render_schedule,
minWidth: 85,
flex: 1,
},
--
2.47.3
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH proxmox-backup 10/14] fix #7904: Improve visibility of disabled Verify jobs on the overview page
2026-09-30 15:17 [PATCH proxmox{,-backup} 00/14] fix #7904: Implement Enable checkboxes for all jobs Jonas Theisen
` (8 preceding siblings ...)
2026-09-30 15:18 ` [PATCH proxmox-backup 09/14] fix #7904: Improve visibility of disabled GC on the overview page Jonas Theisen
@ 2026-09-30 15:18 ` Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox-backup 11/14] fix #7904: Improve visibility of disabled Sync " Jonas Theisen
` (3 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Jonas Theisen @ 2026-09-30 15:18 UTC (permalink / raw)
To: pbs-devel
This commit adds additional logic to prominently display if
a Verify job was disabled on the overview page.
If the job is disabled the text "Disabled" is shown instead of
the schedule which is still present in the config file.
For backwords compatibility if no schedule is defined the fallback
is still None.
Signed-off-by: Jonas Theisen <j.theisen@proxmox.com>
---
www/config/VerifyView.js | 2 ++
1 file changed, 2 insertions(+)
diff --git a/www/config/VerifyView.js b/www/config/VerifyView.js
index 2c63f0d79..29da0773c 100644
--- a/www/config/VerifyView.js
+++ b/www/config/VerifyView.js
@@ -5,6 +5,7 @@ Ext.define('pbs-verify-jobs-status', {
'store',
'outdated-after',
'ignore-verified',
+ 'enable',
'schedule',
'next-run',
'last-run-upid',
@@ -253,6 +254,7 @@ Ext.define('PBS.config.VerifyJobView', {
maxWidth: 220,
minWidth: 80,
flex: 1,
+ renderer: PBS.Utils.render_schedule,
},
{
header: gettext('Last Verification'),
--
2.47.3
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH proxmox-backup 11/14] fix #7904: Improve visibility of disabled Sync jobs on the overview page
2026-09-30 15:17 [PATCH proxmox{,-backup} 00/14] fix #7904: Implement Enable checkboxes for all jobs Jonas Theisen
` (9 preceding siblings ...)
2026-09-30 15:18 ` [PATCH proxmox-backup 10/14] fix #7904: Improve visibility of disabled Verify jobs " Jonas Theisen
@ 2026-09-30 15:18 ` Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox-backup 12/14] fix #7904: Improve visibility of disabled Tape Backup " Jonas Theisen
` (2 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: Jonas Theisen @ 2026-09-30 15:18 UTC (permalink / raw)
To: pbs-devel
This commit adds additional logic to prominently display if
a Sync job was disabled on the overview page.
If the job is disabled the text "Disabled" is shown instead of
the schedule which is still present in the config file.
For backwords compatibility if no schedule is defined the fallback
is still None.
Signed-off-by: Jonas Theisen <j.theisen@proxmox.com>
---
www/config/SyncView.js | 2 ++
1 file changed, 2 insertions(+)
diff --git a/www/config/SyncView.js b/www/config/SyncView.js
index 386489120..494cad65a 100644
--- a/www/config/SyncView.js
+++ b/www/config/SyncView.js
@@ -8,6 +8,7 @@ Ext.define('pbs-sync-jobs-status', {
'remote-ns',
'store',
'ns',
+ 'enable',
'schedule',
'group-filter',
'next-run',
@@ -395,6 +396,7 @@ Ext.define('PBS.config.SyncJobView', {
minWidth: 80,
flex: 1,
sortable: true,
+ renderer: PBS.Utils.render_schedule,
},
{
header: gettext('Last Sync'),
--
2.47.3
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH proxmox-backup 12/14] fix #7904: Improve visibility of disabled Tape Backup jobs on the overview page
2026-09-30 15:17 [PATCH proxmox{,-backup} 00/14] fix #7904: Implement Enable checkboxes for all jobs Jonas Theisen
` (10 preceding siblings ...)
2026-09-30 15:18 ` [PATCH proxmox-backup 11/14] fix #7904: Improve visibility of disabled Sync " Jonas Theisen
@ 2026-09-30 15:18 ` Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox-backup 13/14] fix #7904: Remove clear button from calendar selector Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox-backup 14/14] fix #7904: Align Prune Edit window to other "Enable" checkboxes Jonas Theisen
13 siblings, 0 replies; 15+ messages in thread
From: Jonas Theisen @ 2026-09-30 15:18 UTC (permalink / raw)
To: pbs-devel
This commit adds additional logic to prominently display if
a Tape Backup job was disabled on the overview page.
If the job is disabled the text "Disabled" is shown instead of
the schedule which is still present in the config file.
For backwords compatibility if no schedule is defined the fallback
is still None.
Signed-off-by: Jonas Theisen <j.theisen@proxmox.com>
---
www/tape/BackupJobs.js | 2 ++
1 file changed, 2 insertions(+)
diff --git a/www/tape/BackupJobs.js b/www/tape/BackupJobs.js
index 68d808af5..8cefb2dae 100644
--- a/www/tape/BackupJobs.js
+++ b/www/tape/BackupJobs.js
@@ -7,6 +7,7 @@ Ext.define('pbs-tape-backup-job-status', {
'drive',
'store',
'schedule',
+ 'enable',
'comment',
'group-filter',
{ name: 'eject-media', type: 'boolean' },
@@ -259,6 +260,7 @@ Ext.define('PBS.config.TapeBackupJobView', {
minWidth: 80,
flex: 1,
sortable: true,
+ renderer: PBS.Utils.render_schedule,
},
{
header: gettext('Last Backup'),
--
2.47.3
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH proxmox-backup 13/14] fix #7904: Remove clear button from calendar selector
2026-09-30 15:17 [PATCH proxmox{,-backup} 00/14] fix #7904: Implement Enable checkboxes for all jobs Jonas Theisen
` (11 preceding siblings ...)
2026-09-30 15:18 ` [PATCH proxmox-backup 12/14] fix #7904: Improve visibility of disabled Tape Backup " Jonas Theisen
@ 2026-09-30 15:18 ` Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox-backup 14/14] fix #7904: Align Prune Edit window to other "Enable" checkboxes Jonas Theisen
13 siblings, 0 replies; 15+ messages in thread
From: Jonas Theisen @ 2026-09-30 15:18 UTC (permalink / raw)
To: pbs-devel
Since the schedule fields in all the forms do not allow
empty inputs anymore it would be unintuitive to have a clear button.
This patch removes the trigger and listener logic for that.
Can be seen optional and is not needed to fix #7904
Signed-off-by: Jonas Theisen <j.theisen@proxmox.com>
---
www/form/CalendarEvent.js | 19 -------------------
1 file changed, 19 deletions(-)
diff --git a/www/form/CalendarEvent.js b/www/form/CalendarEvent.js
index b050da694..d6cc6e0e9 100644
--- a/www/form/CalendarEvent.js
+++ b/www/form/CalendarEvent.js
@@ -53,25 +53,6 @@ Ext.define('PBS.form.CalendarEvent', {
return data;
},
- triggers: {
- clear: {
- cls: 'pmx-clear-trigger',
- weight: -1,
- hidden: true,
- handler: function () {
- this.triggers.clear.setVisible(false);
- this.setValue('');
- },
- },
- },
-
- listeners: {
- change: function (field, value) {
- let canClear = (value ?? '') !== '';
- field.triggers.clear.setVisible(canClear);
- },
- },
-
store: {
type: 'calendarEventExamples',
},
--
2.47.3
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH proxmox-backup 14/14] fix #7904: Align Prune Edit window to other "Enable" checkboxes
2026-09-30 15:17 [PATCH proxmox{,-backup} 00/14] fix #7904: Implement Enable checkboxes for all jobs Jonas Theisen
` (12 preceding siblings ...)
2026-09-30 15:18 ` [PATCH proxmox-backup 13/14] fix #7904: Remove clear button from calendar selector Jonas Theisen
@ 2026-09-30 15:18 ` Jonas Theisen
13 siblings, 0 replies; 15+ messages in thread
From: Jonas Theisen @ 2026-09-30 15:18 UTC (permalink / raw)
To: pbs-devel
This commit aligns the already existing "Enabled" checkbox in
the Prune Job Edit window to the other checkboxes.
Meaning a reword from "Enabled" to "Enable" as it is more common
throghout the UI and the disabling of the schedule field if the
checkbox is off.
Signed-off-by: Jonas Theisen <j.theisen@proxmox.com>
---
www/window/PruneJobEdit.js | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/www/window/PruneJobEdit.js b/www/window/PruneJobEdit.js
index a3dafde21..9eea3de52 100644
--- a/www/window/PruneJobEdit.js
+++ b/www/window/PruneJobEdit.js
@@ -118,11 +118,19 @@ Ext.define('PBS.window.PruneJobEdit', {
},
{
xtype: 'proxmoxcheckbox',
- fieldLabel: gettext('Enabled'),
+ fieldLabel: gettext('Enable'),
name: 'enable',
uncheckedValue: 0,
defaultValue: 1,
checked: true,
+ listeners: {
+ change: function (field, enabled) {
+ let me = this;
+ let view = me.up('pbsPruneJobEdit');
+ let schedule = view.down('field[name=schedule]');
+ schedule.setDisabled(!enabled);
+ },
+ },
},
],
--
2.47.3
^ permalink raw reply related [flat|nested] 15+ messages in thread
end of thread, other threads:[~2026-09-30 15:22 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-30 15:17 [PATCH proxmox{,-backup} 00/14] fix #7904: Implement Enable checkboxes for all jobs Jonas Theisen
2026-09-30 15:17 ` [PATCH proxmox 01/14] fix #7904: Add 'enable' to sync job schema Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox 02/14] fix #7904: Add 'enable' to verify " Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox 03/14] fix #7904: Add 'enable' to datastore config and GC " Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox 04/14] fix #7904: Add 'enable' to Tape backup " Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox-backup 05/14] fix #7904: Implement "Enable" checkbox for Sync jobs Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox-backup 06/14] fix #7904: Implement "Enable" checkbox for Verify jobs Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox-backup 07/14] fix #7904: Implement "Enable" checkbox for GC jobs Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox-backup 08/14] fix #7904: Implement "Enable" checkbox for Tape backup jobs Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox-backup 09/14] fix #7904: Improve visibility of disabled GC on the overview page Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox-backup 10/14] fix #7904: Improve visibility of disabled Verify jobs " Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox-backup 11/14] fix #7904: Improve visibility of disabled Sync " Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox-backup 12/14] fix #7904: Improve visibility of disabled Tape Backup " Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox-backup 13/14] fix #7904: Remove clear button from calendar selector Jonas Theisen
2026-09-30 15:18 ` [PATCH proxmox-backup 14/14] fix #7904: Align Prune Edit window to other "Enable" checkboxes Jonas Theisen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox