mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-09 16:59:43 +02:00
fix: respawn disabled state not persisted across server restarts
When /respawn/stop was called, the controller was stopped but remained in the respawnControllers map. This caused persistSessionState() to still read config.enabled=true and save respawnEnabled=true to state.json. On server restart, the respawn controller would be re-enabled because state.json had respawnEnabled=true. Fix: Remove controller from map and clear any timed respawn when /respawn/stop is called, so persistSessionState() correctly sets respawnEnabled=false. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -17,7 +17,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
|||||||
|
|
||||||
Claudeman is a Claude Code session manager with a web interface and autonomous Ralph Loop. It spawns Claude CLI processes via PTY, streams output in real-time via SSE, and supports scheduled/timed runs.
|
Claudeman is a Claude Code session manager with a web interface and autonomous Ralph Loop. It spawns Claude CLI processes via PTY, streams output in real-time via SSE, and supports scheduled/timed runs.
|
||||||
|
|
||||||
**Version**: 0.1347
|
**Version**: 0.1348
|
||||||
|
|
||||||
**Tech Stack**: TypeScript (ES2022/NodeNext, strict mode), Node.js, Fastify, Server-Sent Events, node-pty
|
**Tech Stack**: TypeScript (ES2022/NodeNext, strict mode), Node.js, Fastify, Server-Sent Events, node-pty
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "claudeman",
|
"name": "claudeman",
|
||||||
"version": "0.1347",
|
"version": "0.1348",
|
||||||
"description": "The missing control plane for Claude Code - run 20 autonomous agents with real-time monitoring and session persistence",
|
"description": "The missing control plane for Claude Code - run 20 autonomous agents with real-time monitoring and session persistence",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
|
|||||||
@@ -790,6 +790,16 @@ export class WebServer extends EventEmitter {
|
|||||||
|
|
||||||
controller.stop();
|
controller.stop();
|
||||||
|
|
||||||
|
// Remove controller from map so persistSessionState doesn't save respawnEnabled: true
|
||||||
|
this.respawnControllers.delete(id);
|
||||||
|
|
||||||
|
// Clear any timed respawn
|
||||||
|
const timerInfo = this.respawnTimers.get(id);
|
||||||
|
if (timerInfo) {
|
||||||
|
clearTimeout(timerInfo.timer);
|
||||||
|
this.respawnTimers.delete(id);
|
||||||
|
}
|
||||||
|
|
||||||
// Clear persisted respawn config
|
// Clear persisted respawn config
|
||||||
this.screenManager.clearRespawnConfig(id);
|
this.screenManager.clearRespawnConfig(id);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user