From 8dc11dc05a35a5d64ba4d2c892ccc01c7bfae3da Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Sat, 22 Aug 2026 18:26:22 +0200 Subject: feat(node): systemd service panel on the Node page, and a clean CLI restart MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a status panel at the top of the Node page — always visible, even before an MNP connection exists — showing the meshbay-node systemd unit's own state (via `systemctl --user show`, main process only) with Start/Stop/Restart controls. This is the piece the rest of the page cannot provide: it has to work while the daemon is stopped or crash- looping, which the MNP-based sections require the daemon to already answer. While touching node lifecycle: `reload` and `restart-daemon` in the CLI shelled out to pgrep + SIGTERM/SIGHUP and respawned the process by hand, logging to a hardcoded /tmp path. That pattern already SIGHUPed a developer's own running node by accident once (see the old test_cli_dispatch.py comment). Both now delegate to `systemctl --user reload|restart meshbay-node`, which the unit already supports correctly (ExecReload=, Restart=on-failure). Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_016SF6RKNBKg9qejmoMJ9ybA --- packages/meshbay-hub/src/meshbay_hub/static/locales/de.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'packages/meshbay-hub/src/meshbay_hub/static/locales/de.js') diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js index 4df7781..1a151e2 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js @@ -490,6 +490,20 @@ export default { // Node admin 'node.title': 'Node', + 'node.service_checking': 'Node-Dienst wird überprüft…', + 'node.service_not_installed': 'Nicht als Dienst installiert', + 'node.service_state_active': 'Wird ausgeführt', + 'node.service_state_inactive': 'Angehalten', + 'node.service_state_failed': 'Fehlgeschlagen', + 'node.service_state_activating': 'Wird gestartet…', + 'node.service_state_deactivating': 'Wird angehalten…', + 'node.service_state_unknown': 'Unbekannt', + 'node.service_start': 'Starten', + 'node.service_starting': 'Wird gestartet…', + 'node.service_stop': 'Anhalten', + 'node.service_stopping': 'Wird angehalten…', + 'node.service_restart': 'Neu starten', + 'node.service_restarting': 'Wird neu gestartet…', 'node.not_operator': 'Ihr Node konnte nicht erreicht werden. Stellen Sie sicher, dass er läuft.', 'node.offline': 'Node ist offline', 'node.retry': 'Erneut versuchen', -- cgit v1.2.3