diff --git a/dist/urbm-2026.06.15.r014-x86_64-1.txz.sha256 b/dist/urbm-2026.06.15.r014-x86_64-1.txz.sha256 deleted file mode 100644 index a421a79..0000000 --- a/dist/urbm-2026.06.15.r014-x86_64-1.txz.sha256 +++ /dev/null @@ -1 +0,0 @@ -2cb10896997b03d476b52275aebe077114c77b14ac796c7ba6e608f85b324536 urbm-2026.06.15.r014-x86_64-1.txz diff --git a/dist/urbm-2026.06.15.r014-x86_64-1.txz b/dist/urbm-2026.06.15.r015-x86_64-1.txz similarity index 55% rename from dist/urbm-2026.06.15.r014-x86_64-1.txz rename to dist/urbm-2026.06.15.r015-x86_64-1.txz index 9f8c8f5..2fa76b9 100644 Binary files a/dist/urbm-2026.06.15.r014-x86_64-1.txz and b/dist/urbm-2026.06.15.r015-x86_64-1.txz differ diff --git a/dist/urbm-2026.06.15.r015-x86_64-1.txz.sha256 b/dist/urbm-2026.06.15.r015-x86_64-1.txz.sha256 new file mode 100644 index 0000000..8c4cf29 --- /dev/null +++ b/dist/urbm-2026.06.15.r015-x86_64-1.txz.sha256 @@ -0,0 +1 @@ +cdee29f4fd8fbd713fb78378f3c6531a46f3a1fb26c50e74f59fe6f1e437b76f urbm-2026.06.15.r015-x86_64-1.txz diff --git a/dist/urbm.plg b/dist/urbm.plg index b584193..b0cf1dd 100644 --- a/dist/urbm.plg +++ b/dist/urbm.plg @@ -2,13 +2,17 @@ - + - + ]> +### 2026.06.15.r015 +- Generate compatible UUIDs on browsers and Unraid WebViews that do not provide `crypto.randomUUID()`. +- Prefer cryptographic random bytes when available and retain a schema-compatible last-resort fallback. + ### 2026.06.15.r014 - Add a dedicated workflow for attaching and immediately testing an existing Restic repository without initialization. - Detect a missing Restic config at local and mounted paths and suggest direct child directories that contain a repository. diff --git a/plugin/urbm.plg b/plugin/urbm.plg index db98b5c..f9a4170 100644 --- a/plugin/urbm.plg +++ b/plugin/urbm.plg @@ -2,13 +2,17 @@ - + ]> +### 2026.06.15.r015 +- Generate compatible UUIDs on browsers and Unraid WebViews that do not provide `crypto.randomUUID()`. +- Prefer cryptographic random bytes when available and retain a schema-compatible last-resort fallback. + ### 2026.06.15.r014 - Add a dedicated workflow for attaching and immediately testing an existing Restic repository without initialization. - Detect a missing Restic config at local and mounted paths and suggest direct child directories that contain a repository. diff --git a/webgui/URBM.page b/webgui/URBM.page index 7b14923..273e461 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.r014

Restic Backup Manager für Unraid

+ +

URBM 2026.06.15.r015

Restic Backup Manager für Unraid

Verbindung wird hergestellt...
@@ -32,4 +32,4 @@ $pluginRoot = '/plugins/urbm';
- + diff --git a/webgui/assets/urbm.js b/webgui/assets/urbm.js index 8ddf228..d85c378 100644 --- a/webgui/assets/urbm.js +++ b/webgui/assets/urbm.js @@ -118,7 +118,21 @@ toast.textContent = message; toast.className = `show${error ? ' error' : ''}`; clearTimeout(notify.timer); notify.timer = setTimeout(() => toast.className = '', 4500); }; - const id = (prefix) => `${prefix}-${crypto.randomUUID()}`; + const uuid = () => { + if (window.crypto && typeof window.crypto.randomUUID === 'function') return window.crypto.randomUUID(); + const bytes = new Uint8Array(16); + if (window.crypto && typeof window.crypto.getRandomValues === 'function') { + window.crypto.getRandomValues(bytes); + } else { + for (let i=0; ivalue.toString(16).padStart(2,'0')).join(''); + return `${hex.slice(0,8)}-${hex.slice(8,12)}-${hex.slice(12,16)}-${hex.slice(16,20)}-${hex.slice(20)}`; + }; + const id = (prefix) => `${prefix}-${uuid()}`; const repoName = (repoId) => state.config.repositories.find(r => r.id === repoId)?.name || repoId; const volatileLocation = (repo) => repo.type === 'local' && (/^\/tmp(?:\/|$)/.test(repo.location) || /^\/run(?:\/|$)/.test(repo.location)); const tipAttr = (text) => text ? ` data-tooltip="${esc(text)}"` : '';