release r011 fix CA preview file checks

This commit is contained in:
Mikei386
2026-08-21 10:18:08 +02:00
parent 771b8c43a1
commit 1abd047946
6 changed files with 15 additions and 13 deletions
+3 -3
View File
@@ -76,10 +76,10 @@ Oder manuell:
```bash ```bash
# .txz von Gitea laden # .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 # 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 ### 2. Service starten
@@ -94,7 +94,7 @@ Der Service startet automatisch bei jedem Boot (SysVinit).
```bash ```bash
curl http://192.168.1.2:3002/health 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"}
``` ```
--- ---
Binary file not shown.
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "mua", "name": "mua",
"version": "2026.08.21.r010", "version": "2026.08.21.r011",
"description": "Mikes Unraid Agent - MCP over HTTP (Streamable HTTP) for Unraid", "description": "Mikes Unraid Agent - MCP over HTTP (Streamable HTTP) for Unraid",
"type": "module", "type": "module",
"main": "src/index.ts", "main": "src/index.ts",
+6 -4
View File
@@ -2,13 +2,13 @@
<!DOCTYPE PLUGIN [ <!DOCTYPE PLUGIN [
<!ENTITY name "mua"> <!ENTITY name "mua">
<!ENTITY author "Michael"> <!ENTITY author "Michael">
<!ENTITY version "2026.08.21.r010"> <!ENTITY version "2026.08.21.r011">
<!ENTITY launch "Settings/mua"> <!ENTITY launch "Settings/mua">
<!ENTITY pluginURL "http://192.168.1.2:4000/michael/MUA-Mikes-Unraid-Agent/raw/branch/main/plugin/mua.plg"> <!ENTITY pluginURL "http://192.168.1.2:4000/michael/MUA-Mikes-Unraid-Agent/raw/branch/main/plugin/mua.plg">
<!ENTITY pluginLOC "/boot/config/plugins/&name;"> <!ENTITY pluginLOC "/boot/config/plugins/&name;">
<!ENTITY emhttpLOC "/usr/local/emhttp/plugins/&name;"> <!ENTITY emhttpLOC "/usr/local/emhttp/plugins/&name;">
<!ENTITY txzURL "http://192.168.1.2:4000/michael/MUA-Mikes-Unraid-Agent/raw/branch/main/dist/mua-2026.08.21.r010-x86_64-1.txz"> <!ENTITY txzURL "http://192.168.1.2:4000/michael/MUA-Mikes-Unraid-Agent/raw/branch/main/dist/mua-2026.08.21.r011-x86_64-1.txz">
<!ENTITY txzSHA256 "24e9efd787109c385b282daf056c54e6ca9984281fbde612cc39131f4107eaf1"> <!ENTITY txzSHA256 "fcbcce197a4eb14e4f039645027a94d9d037f1e469c8da2e079fca7bf96f36d3">
]> ]>
<PLUGIN name="&name;" <PLUGIN name="&name;"
@@ -23,6 +23,8 @@
> >
<CHANGES> <CHANGES>
### 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 ### 2026.08.21.r010
- Sieben kompakte Unraid-Lesewerkzeuge für Systemzustand, Storage/Parity, SMART, Benachrichtigungen, Shares und Docker-Update-Status. - 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. - 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) install/doinst.sh (läuft nach Installation)
=========================================== ===========================================
--> -->
<FILE Name="/boot/config/plugins/&name;/mua-2026.08.21.r010-x86_64-1.txz" Run="upgradepkg --install-new" Mode="755" Min="7.0.0"> <FILE Name="/boot/config/plugins/&name;/mua-2026.08.21.r011-x86_64-1.txz" Run="upgradepkg --install-new" Mode="755" Min="7.0.0">
<URL>&txzURL;</URL> <URL>&txzURL;</URL>
<SHA256>&txzSHA256;</SHA256> <SHA256>&txzSHA256;</SHA256>
</FILE> </FILE>
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"name": "mua", "name": "mua",
"author": "Michael", "author": "Michael",
"version": "2026.08.21.r010", "version": "2026.08.21.r011",
"minver": "7.0.0", "minver": "7.0.0",
"pluginDirectory": "/usr/local/emhttp/plugins/mua", "pluginDirectory": "/usr/local/emhttp/plugins/mua",
"configDirectory": "/boot/config/plugins/mua", "configDirectory": "/boot/config/plugins/mua",
+4 -4
View File
@@ -14,7 +14,7 @@ import { createHash, randomUUID } from "node:crypto";
// ── Konstanten ────────────────────────────────────────────────────────── // ── Konstanten ──────────────────────────────────────────────────────────
export const MUA_SERVER_NAME = "mua"; 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 MUA_PROTOCOL_VERSION = "2025-03-26";
export const PHP_HELPER = "/usr/local/bin/unraid-docker-mcp-helper.php"; export const PHP_HELPER = "/usr/local/bin/unraid-docker-mcp-helper.php";
export const STATUS_HELPER = "/usr/local/bin/unraid-mcp-status-helper.php"; export const STATUS_HELPER = "/usr/local/bin/unraid-mcp-status-helper.php";
@@ -236,14 +236,14 @@ export async function runPhpHelper(
...args: string[] ...args: string[]
): Promise<string> { ): Promise<string> {
const helper = PHP_HELPER; const helper = PHP_HELPER;
if (!Bun.file(helper).exists()) { if (!(await Bun.file(helper).exists())) {
throw new Error(`PHP helper not found: ${helper}`); throw new Error(`PHP helper not found: ${helper}`);
} }
return runArgv(`php_helper:${action}`, ["/usr/bin/php", helper, action, ...args], 300); return runArgv(`php_helper:${action}`, ["/usr/bin/php", helper, action, ...args], 300);
} }
export async function runStatusHelper(action: string, ...args: string[]): Promise<string> { export async function runStatusHelper(action: string, ...args: string[]): Promise<string> {
if (!Bun.file(STATUS_HELPER).exists()) { if (!(await Bun.file(STATUS_HELPER).exists())) {
throw new Error(`Status helper not found: ${STATUS_HELPER}`); throw new Error(`Status helper not found: ${STATUS_HELPER}`);
} }
return runArgv(`status_helper:${action}`, ["/usr/bin/php", STATUS_HELPER, action, ...args], 60); 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()); 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 (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}`); throw new Error(`Unraid user template already exists: ${containerName}`);
} }
const ticket = randomUUID(); const ticket = randomUUID();