diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f437dfc..d95bb9d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # codeman +## 0.2.3 + +### Patch Changes + +- Fix tunnel button stuck on "Connecting..." when tunnel is already running on the server + ## 0.2.2 ### Patch Changes diff --git a/CLAUDE.md b/CLAUDE.md index e4005c09..95014e97 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -50,7 +50,7 @@ When user says "COM": 4. **Sync CLAUDE.md version**: Update the `**Version**` line below to match the new version from `package.json` 5. **Commit and deploy**: `git add -A && git commit -m "chore: version packages" && git push && npm run build && systemctl --user restart codeman-web` -**Version**: 0.2.2 (must match `package.json`) +**Version**: 0.2.3 (must match `package.json`) ## Project Overview diff --git a/package.json b/package.json index b9c927b8..46ba6f45 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "codeman", - "version": "0.2.2", + "version": "0.2.3", "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/server.ts b/src/web/server.ts index 27924992..878934a6 100644 --- a/src/web/server.ts +++ b/src/web/server.ts @@ -4033,6 +4033,10 @@ NOW: Generate the implementation plan for the task above. Think step by step.`; if (tunnelEnabled && !this.tunnelManager.isRunning()) { this.tunnelManager.start(this.port, this.https); console.log('Tunnel started via settings change'); + } else if (tunnelEnabled && this.tunnelManager.isRunning() && this.tunnelManager.getUrl()) { + // Tunnel already running — re-emit so the client gets the URL + this.broadcast('tunnel:started', { url: this.tunnelManager.getUrl() }); + console.log('Tunnel already running, re-broadcast URL to client'); } else if (!tunnelEnabled && this.tunnelManager.isRunning()) { this.tunnelManager.stop(); console.log('Tunnel stopped via settings change');