diff options
| author | soryu <soryu@soryu.co> | 2026-01-22 01:26:53 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-22 01:26:53 +0000 |
| commit | b61a907bac09a7649ca3f6d850e771b3b75c7015 (patch) | |
| tree | a7794d5b29bc165b6d76596d6e53cf75158d3a64 /makima/src/server/state.rs | |
| parent | b84b3f782d3a3d6bf7ed8040fd72907ca19db8c6 (diff) | |
| download | soryu-b61a907bac09a7649ca3f6d850e771b3b75c7015.tar.gz soryu-b61a907bac09a7649ca3f6d850e771b3b75c7015.zip | |
Add daemon restart feature from settings (#18)
* Add daemon restart feature from settings
This adds the ability to restart a connected daemon from the settings page.
The feature includes:
- Backend: RestartDaemon command added to DaemonCommand enum
- Backend: New POST /api/v1/mesh/daemons/{id}/restart endpoint
- Backend: Daemon gracefully shuts down tasks and exits with code 42
(can be used by process managers like systemd to detect restart requests)
- Frontend: restartDaemon() API function
- Frontend: Restart button in Connected Daemons section of settings
- Frontend: Confirmation dialog before restart to prevent accidental restarts
When a daemon receives the restart command, it:
1. Gracefully shuts down all running Claude processes (5s timeout)
2. Exits with code 42 to signal restart requested
3. The daemon can be restarted by a process manager or manually
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'makima/src/server/state.rs')
| -rw-r--r-- | makima/src/server/state.rs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/makima/src/server/state.rs b/makima/src/server/state.rs index 38aadf5..28d65d0 100644 --- a/makima/src/server/state.rs +++ b/makima/src/server/state.rs @@ -435,6 +435,9 @@ pub enum DaemonCommand { /// Error response Error { code: String, message: String }, + + /// Restart the daemon process + RestartDaemon, } /// Active daemon connection info stored in state. |
