diff --git a/dist/urbm-2026.06.21.r006-x86_64-1.txz.sha256 b/dist/urbm-2026.06.21.r006-x86_64-1.txz.sha256 deleted file mode 100644 index 8f47f71..0000000 --- a/dist/urbm-2026.06.21.r006-x86_64-1.txz.sha256 +++ /dev/null @@ -1 +0,0 @@ -03a78ede9f43f0848f0ac688f436a51f5fcd01dbf5638298c6ece7e8b18a742a urbm-2026.06.21.r006-x86_64-1.txz diff --git a/dist/urbm-2026.06.21.r006-x86_64-1.txz b/dist/urbm-2026.06.21.r007-x86_64-1.txz similarity index 55% rename from dist/urbm-2026.06.21.r006-x86_64-1.txz rename to dist/urbm-2026.06.21.r007-x86_64-1.txz index 8af35c5..879fea4 100644 Binary files a/dist/urbm-2026.06.21.r006-x86_64-1.txz and b/dist/urbm-2026.06.21.r007-x86_64-1.txz differ diff --git a/dist/urbm-2026.06.21.r007-x86_64-1.txz.sha256 b/dist/urbm-2026.06.21.r007-x86_64-1.txz.sha256 new file mode 100644 index 0000000..1066ab9 --- /dev/null +++ b/dist/urbm-2026.06.21.r007-x86_64-1.txz.sha256 @@ -0,0 +1 @@ +7b3b3c9fd00ce2aae592ea4ec84d2875afce72ca2cad2f24a7e075312a6c528f urbm-2026.06.21.r007-x86_64-1.txz diff --git a/dist/urbm.plg b/dist/urbm.plg index 1872987..d1ea1b9 100644 --- a/dist/urbm.plg +++ b/dist/urbm.plg @@ -2,13 +2,17 @@ - + - + ]> +### 2026.06.21.r007 +- Show an indeterminate progress bar while a complete snapshot file tree is loading. +- Explain that no real percentage is available because Restic returns the full file listing only after completion. + ### 2026.06.21.r006 - Sort runs and snapshots newest-first so lists get older from top to bottom. - Apply newest-first ordering consistently to dashboard activity, activity history, failed runs, and snapshot tables. diff --git a/plugin/urbm.plg b/plugin/urbm.plg index 17b52a0..474afa8 100644 --- a/plugin/urbm.plg +++ b/plugin/urbm.plg @@ -2,13 +2,17 @@ - + ]> +### 2026.06.21.r007 +- Show an indeterminate progress bar while a complete snapshot file tree is loading. +- Explain that no real percentage is available because Restic returns the full file listing only after completion. + ### 2026.06.21.r006 - Sort runs and snapshots newest-first so lists get older from top to bottom. - Apply newest-first ordering consistently to dashboard activity, activity history, failed runs, and snapshot tables. diff --git a/webgui/URBM.page b/webgui/URBM.page index 5ac480c..cfdf8c9 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.21.r006

Restic Backup Manager für Unraid

+ +

URBM 2026.06.21.r007

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 f2d50cd..e1d40f9 100644 --- a/webgui/assets/urbm.css +++ b/webgui/assets/urbm.css @@ -101,6 +101,7 @@ .bu-tree-children::before { background: var(--bu-border); bottom: 3px; content: ''; left: calc((var(--bu-tree-depth, 0) + 1) * 22px + 18px); opacity: .45; position: absolute; top: 0; width: 1px; } .bu-tree-state { color: var(--bu-muted); margin-left: 66px; padding: 8px 12px; } .bu-tree-state.error { color: var(--bu-bad); } +.bu-snapshot-loading { background: var(--bu-panel-alt); border: 1px solid var(--bu-border); border-radius: 6px; margin: 8px; padding: 14px; } .bu-count { align-items: center; border: 1px solid var(--bu-border); border-radius: 999px; display: inline-flex; font-size: 13px; font-weight: 700; padding: 7px 11px; } .bu-inline-error { background: rgba(180,35,47,.08); border: 1px solid var(--bu-bad); border-radius: 5px; color: var(--bu-bad); font-weight: 600; margin: 10px 0; padding: 10px 12px; } .bu-inline-info { background: rgba(19,138,98,.08); border: 1px solid var(--bu-good); border-radius: 5px; color: var(--bu-text); font-weight: 600; margin: 10px 0; padding: 10px 12px; } diff --git a/webgui/assets/urbm.js b/webgui/assets/urbm.js index 574d853..a8de22a 100644 --- a/webgui/assets/urbm.js +++ b/webgui/assets/urbm.js @@ -682,7 +682,8 @@ function renderFileBrowser() { const chosen = state.restoreIncludes.length ? state.restoreIncludes.map(path=>`${esc(path)}`).join('') : 'Nichts ausgewählt.'; - const body=state.snapshotTreeLoading?'
Snapshot-Struktur wird vollständig eingelesen…
':state.snapshotTreeError?`
${esc(state.snapshotTreeError)}
`:state.snapshotTree?snapshotTreeNode(state.snapshotTree,0):'
Keine Dateien im Snapshot gefunden.
'; + const loading='
Snapshot-Struktur wird vollständig eingelesen…Kein Prozentwert verfügbar, Restic liefert die Dateiliste erst am Ende zurück.
'; + const body=state.snapshotTreeLoading?loading:state.snapshotTreeError?`
${esc(state.snapshotTreeError)}
`:state.snapshotTree?snapshotTreeNode(state.snapshotTree,0):'
Keine Dateien im Snapshot gefunden.
'; return `

Snapshot ${esc(state.selectedSnapshot.slice(0,12))}

${state.files.length?`${state.files.length.toLocaleString()} Einträge vorgeladen`:'Struktur noch nicht geladen'}
${button(`Auswahl wiederherstellen (${state.restoreIncludes.length})`,'restore-selected','primary')}
${chosen}
${body}
`; }