diff --git a/CHANGELOG.md b/CHANGELOG.md index 256034e4..5ced0950 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # aicodeman +## 0.6.4 + +### Patch Changes + +- Fix "Failed to enable respawn: Invalid request body" error when selecting infinity duration (∞) in the respawn modal. Frontend was sending `durationMinutes: null`, which Zod's `.optional()` schema rejected (it accepts `undefined` only). The body now omits the field when no duration is selected. + ## 0.6.3 ### Patch Changes diff --git a/CLAUDE.md b/CLAUDE.md index 67b6a425..3d175394 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -55,7 +55,7 @@ When user says "COM": CI runs `npm run check:lockfile` on every push/PR, so lockfile drift fails the build even if the `version-packages` script is bypassed. -**Version**: 0.6.3 (must match `package.json`) +**Version**: 0.6.4 (must match `package.json`) ## Project Overview diff --git a/package-lock.json b/package-lock.json index 26372601..bbb225d9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "aicodeman", - "version": "0.6.3", + "version": "0.6.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "aicodeman", - "version": "0.6.3", + "version": "0.6.4", "hasInstallScript": true, "license": "MIT", "workspaces": [ diff --git a/package.json b/package.json index 78564b52..9dd7f4dd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "aicodeman", - "version": "0.6.3", + "version": "0.6.4", "description": "The missing control plane for AI coding agents - run 20 autonomous agents with real-time monitoring and session persistence", "type": "module", "main": "dist/index.js", diff --git a/src/web/public/respawn-ui.js b/src/web/public/respawn-ui.js index 05179b54..8e605742 100644 --- a/src/web/public/respawn-ui.js +++ b/src/web/public/respawn-ui.js @@ -792,7 +792,7 @@ Object.assign(CodemanApp.prototype, { const res = await fetch(`/api/sessions/${this.editingSessionId}/respawn/enable`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ config: respawnConfig, durationMinutes }) + body: JSON.stringify({ config: respawnConfig, durationMinutes: durationMinutes ?? undefined }) }); const data = await res.json(); if (data.error) throw new Error(data.error);