diff --git a/dist/urbm-2026.06.15.r005-x86_64-1.txz.sha256 b/dist/urbm-2026.06.15.r005-x86_64-1.txz.sha256 deleted file mode 100644 index 91cafa1..0000000 --- a/dist/urbm-2026.06.15.r005-x86_64-1.txz.sha256 +++ /dev/null @@ -1 +0,0 @@ -8c6fc66fbe80ca1dc06e5bf445a794b749eaca212376e016160e24310deb5e5f urbm-2026.06.15.r005-x86_64-1.txz diff --git a/dist/urbm-2026.06.15.r005-x86_64-1.txz b/dist/urbm-2026.06.15.r006-x86_64-1.txz similarity index 55% rename from dist/urbm-2026.06.15.r005-x86_64-1.txz rename to dist/urbm-2026.06.15.r006-x86_64-1.txz index 632eefc..cc7d765 100644 Binary files a/dist/urbm-2026.06.15.r005-x86_64-1.txz and b/dist/urbm-2026.06.15.r006-x86_64-1.txz differ diff --git a/dist/urbm-2026.06.15.r006-x86_64-1.txz.sha256 b/dist/urbm-2026.06.15.r006-x86_64-1.txz.sha256 new file mode 100644 index 0000000..5bdcbf3 --- /dev/null +++ b/dist/urbm-2026.06.15.r006-x86_64-1.txz.sha256 @@ -0,0 +1 @@ +b5bcaefc48ac2258d036822d8e735d85f24384ec185720571c5a3a919c71fd70 urbm-2026.06.15.r006-x86_64-1.txz diff --git a/dist/urbm.plg b/dist/urbm.plg index d734de6..d9581dc 100644 --- a/dist/urbm.plg +++ b/dist/urbm.plg @@ -2,13 +2,17 @@ - + - + ]> +### 2026.06.15.r006 +- Place running backup controls directly beside progress instead of beyond an empty message column. +- Remove the unnecessary activity-table action column and its horizontal overflow. + ### 2026.06.15.r005 - Truncate long activity job names cleanly while keeping the complete name available as a tooltip. - Automatically clear safe stale Restic locks and retry retention once after a successful backup. diff --git a/plugin/urbm.plg b/plugin/urbm.plg index 5968458..23abaa2 100644 --- a/plugin/urbm.plg +++ b/plugin/urbm.plg @@ -2,13 +2,17 @@ - + ]> +### 2026.06.15.r006 +- Place running backup controls directly beside progress instead of beyond an empty message column. +- Remove the unnecessary activity-table action column and its horizontal overflow. + ### 2026.06.15.r005 - Truncate long activity job names cleanly while keeping the complete name available as a tooltip. - Automatically clear safe stale Restic locks and retry retention once after a successful backup. diff --git a/webgui/URBM.page b/webgui/URBM.page index 06fc7a4..fd196ed 100644 --- a/webgui/URBM.page +++ b/webgui/URBM.page @@ -9,12 +9,12 @@ Tag="URBM Unraid Restic Backup Manager backup snapshots restore" - +
- -

URBM 2026.06.15.r005

Restic Backup Manager für Unraid

+ +

URBM 2026.06.15.r006

Restic Backup Manager für Unraid

Verbindung wird hergestellt...
@@ -32,4 +32,4 @@ $pluginRoot = '/plugins/urbm';
- + diff --git a/webgui/assets/urbm.css b/webgui/assets/urbm.css index bab7e95..77f0ff8 100644 --- a/webgui/assets/urbm.css +++ b/webgui/assets/urbm.css @@ -143,12 +143,11 @@ .bu-table th { color: var(--bu-text); font-size: 13px; font-weight: 700; letter-spacing: .03em; opacity: .76; text-transform: uppercase; } .bu-table-scroll { max-width: 100%; overflow-x: auto; } .bu-runs-table { table-layout: fixed; } -.bu-runs-table .bu-run-task { width: 17%; } +.bu-runs-table .bu-run-task { width: 18%; } .bu-runs-table .bu-run-status { width: 9%; } .bu-runs-table .bu-run-created { width: 12%; } -.bu-runs-table .bu-run-progress { width: 26%; } -.bu-runs-table .bu-run-message { width: 30%; } -.bu-runs-table .bu-run-actions { width: 6%; } +.bu-runs-table .bu-run-progress { width: 27%; } +.bu-runs-table .bu-run-message { width: 34%; } .bu-runs-table th, .bu-runs-table td { min-width: 0; overflow-wrap: anywhere; word-break: break-word; } .bu-runs-table .bu-run-message-cell { line-height: 1.45; white-space: normal; } .bu-runs-table .bu-table-actions { min-width: 0; } diff --git a/webgui/assets/urbm.js b/webgui/assets/urbm.js index 40eeb78..2429e18 100644 --- a/webgui/assets/urbm.js +++ b/webgui/assets/urbm.js @@ -523,7 +523,7 @@ function runsTable(runs) { if(!runs.length) return '
Keine Aktivitäten vorhanden.
'; const showLiveLog=state.config?.settings?.showLiveLog===true; - return `
${runs.map(r=>{const controls=r.status==='running'?button('Pause',`pause-run:${r.id}`)+button('Abbrechen',`cancel-run:${r.id}`,'danger'):r.status==='paused'?button('Fortsetzen',`resume-run:${r.id}`,'primary')+button('Abbrechen',`cancel-run:${r.id}`,'danger'):r.status==='queued'?button('Abbrechen',`cancel-run:${r.id}`,'danger'):'';const target=runTarget(r);return `${showLiveLog&&(r.liveLog||[]).length?``:''}`;}).join('')}
AufgabeStatusErstelltFortschrittMeldung
${esc(taskLabels[r.taskType]||r.taskType)}${esc(target)}${status(r.status)}${esc(new Date(r.createdAt).toLocaleString())}${progressView(r)}${esc(displayMessage(r.message))}${controls?actionGroup(controls):''}
${liveLogView(r)}
`; + return `
${runs.map(r=>{const controls=r.status==='running'?button('Pause',`pause-run:${r.id}`)+button('Abbrechen',`cancel-run:${r.id}`,'danger'):r.status==='paused'?button('Fortsetzen',`resume-run:${r.id}`,'primary')+button('Abbrechen',`cancel-run:${r.id}`,'danger'):r.status==='queued'?button('Abbrechen',`cancel-run:${r.id}`,'danger'):'';const target=runTarget(r);return `${showLiveLog&&(r.liveLog||[]).length?``:''}`;}).join('')}
AufgabeStatusErstelltFortschrittMeldung / Aktionen
${esc(taskLabels[r.taskType]||r.taskType)}${esc(target)}${status(r.status)}${esc(new Date(r.createdAt).toLocaleString())}${progressView(r)}${controls?actionGroup(controls):esc(displayMessage(r.message))}
${liveLogView(r)}
`; } function renderSettings() {