feat(status-ui): improve bridge recovery and desktop controls

This commit is contained in:
2026-07-28 21:15:25 +02:00
parent 7cc15cca92
commit a792c577ef
23 changed files with 1336 additions and 204 deletions
+44
View File
@@ -0,0 +1,44 @@
import assert from "node:assert/strict";
import { readFile } from "node:fs/promises";
import test from "node:test";
test("documents and exposes simple user-service lifecycle commands", async () => {
const [readme, uiReadme, packageJson, uiPackageJson] = await Promise.all([
readFile("README.md", "utf8"),
readFile("ui/README.md", "utf8"),
readFile("package.json", "utf8"),
readFile("ui/package.json", "utf8"),
]);
let manifest;
try {
manifest = JSON.parse(packageJson);
} catch (error) {
assert.fail(`package.json must contain valid JSON: ${String(error)}`);
}
const scripts = manifest.scripts;
for (const command of [
"install",
"start",
"restart",
"stop",
"status",
"logs",
])
assert.equal(
typeof scripts[`bridge:service:${command}`],
"string",
`missing bridge:service:${command}`,
);
let uiManifest;
try {
uiManifest = JSON.parse(uiPackageJson);
} catch (error) {
assert.fail(`ui/package.json must contain valid JSON: ${String(error)}`);
}
assert.match(readme, /npm run bridge:service:restart/);
assert.match(readme, /pi-status-ui --toggle/);
assert.match(readme, /Restart Pi.*selected directory/);
assert.match(uiReadme, /bridge:service:install/);
assert.match(uiReadme, /tauri:release/);
assert.equal(uiManifest.scripts["tauri:release"], "tauri build --no-bundle");
});