diff --git a/README.md b/README.md index 426dc76..ed678c8 100644 --- a/README.md +++ b/README.md @@ -76,10 +76,10 @@ Oder manuell: ```bash # .txz von Gitea laden -curl -O http://192.168.1.2:4000/michael/MUA-Mikes-Unraid-Agent/raw/branch/main/dist/mua-2026.08.21.r010-x86_64-1.txz +curl -O http://192.168.1.2:4000/michael/MUA-Mikes-Unraid-Agent/raw/branch/main/dist/mua-2026.08.21.r011-x86_64-1.txz # Installieren -upgradepkg --install-new mua-2026.08.21.r010-x86_64-1.txz +upgradepkg --install-new mua-2026.08.21.r011-x86_64-1.txz ``` ### 2. Service starten @@ -94,7 +94,7 @@ Der Service startet automatisch bei jedem Boot (SysVinit). ```bash curl http://192.168.1.2:3002/health -# → {"status":"ok","version":"2026.08.21.r010","auth":"required"} +# → {"status":"ok","version":"2026.08.21.r011","auth":"required"} ``` --- diff --git a/dist/mua-2026.08.21.r011-x86_64-1.txz b/dist/mua-2026.08.21.r011-x86_64-1.txz new file mode 100644 index 0000000..2d7b14f Binary files /dev/null and b/dist/mua-2026.08.21.r011-x86_64-1.txz differ diff --git a/package.json b/package.json index 9d7fe32..ac04e08 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mua", - "version": "2026.08.21.r010", + "version": "2026.08.21.r011", "description": "Mikes Unraid Agent - MCP over HTTP (Streamable HTTP) for Unraid", "type": "module", "main": "src/index.ts", diff --git a/plugin/mua.plg b/plugin/mua.plg index 1da6517..a8c4631 100644 --- a/plugin/mua.plg +++ b/plugin/mua.plg @@ -2,13 +2,13 @@ - + - - + + ]> +### 2026.08.21.r011 +- CA-Vorschau-Fix: asynchrone Bun-Dateiprüfungen werden korrekt abgewartet; freie Container- und Templatenamen werden nicht mehr fälschlich als belegt gemeldet. ### 2026.08.21.r010 - Sieben kompakte Unraid-Lesewerkzeuge für Systemzustand, Storage/Parity, SMART, Benachrichtigungen, Shares und Docker-Update-Status. - Community Applications: offizieller Feed, kompakte Suche sowie sicherer Vorschau- und Installationsablauf. @@ -103,7 +105,7 @@ Das .txz enthält: install/doinst.sh (läuft nach Installation) =========================================== --> - + &txzURL; &txzSHA256; diff --git a/plugin/plugin.json b/plugin/plugin.json index b196632..b5775c1 100644 --- a/plugin/plugin.json +++ b/plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "mua", "author": "Michael", - "version": "2026.08.21.r010", + "version": "2026.08.21.r011", "minver": "7.0.0", "pluginDirectory": "/usr/local/emhttp/plugins/mua", "configDirectory": "/boot/config/plugins/mua", diff --git a/src/helpers.ts b/src/helpers.ts index 76591d1..c978d7f 100644 --- a/src/helpers.ts +++ b/src/helpers.ts @@ -14,7 +14,7 @@ import { createHash, randomUUID } from "node:crypto"; // ── Konstanten ────────────────────────────────────────────────────────── export const MUA_SERVER_NAME = "mua"; -export const MUA_VERSION = "2026.08.21.r010"; +export const MUA_VERSION = "2026.08.21.r011"; export const MUA_PROTOCOL_VERSION = "2025-03-26"; export const PHP_HELPER = "/usr/local/bin/unraid-docker-mcp-helper.php"; export const STATUS_HELPER = "/usr/local/bin/unraid-mcp-status-helper.php"; @@ -236,14 +236,14 @@ export async function runPhpHelper( ...args: string[] ): Promise { const helper = PHP_HELPER; - if (!Bun.file(helper).exists()) { + if (!(await Bun.file(helper).exists())) { throw new Error(`PHP helper not found: ${helper}`); } return runArgv(`php_helper:${action}`, ["/usr/bin/php", helper, action, ...args], 300); } export async function runStatusHelper(action: string, ...args: string[]): Promise { - if (!Bun.file(STATUS_HELPER).exists()) { + if (!(await Bun.file(STATUS_HELPER).exists())) { throw new Error(`Status helper not found: ${STATUS_HELPER}`); } return runArgv(`status_helper:${action}`, ["/usr/bin/php", STATUS_HELPER, action, ...args], 60); @@ -875,7 +875,7 @@ export async function previewCommunityAppInstall( } const names = (await dockerExec("ps -a --format '{{.Names}}'", 30)).split("\n").map((x) => x.trim()); if (names.includes(containerName)) throw new Error(`Container already exists: ${containerName}`); - if (Bun.file(`/boot/config/plugins/dockerMan/templates-user/my-${containerName}.xml`).exists()) { + if (await Bun.file(`/boot/config/plugins/dockerMan/templates-user/my-${containerName}.xml`).exists()) { throw new Error(`Unraid user template already exists: ${containerName}`); } const ticket = randomUUID();