Skip to content

Commit 1b0a540

Browse files
Ark0Nclaude
andcommitted
fix: tunnel button stuck on "Connecting..." when already running
Re-broadcast tunnel:started SSE event when tunnel is already active and user toggles the setting, so the client receives the URL. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 45aaf7f commit 1b0a540

4 files changed

Lines changed: 12 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# codeman
22

3+
## 0.2.3
4+
5+
### Patch Changes
6+
7+
- Fix tunnel button stuck on "Connecting..." when tunnel is already running on the server
8+
39
## 0.2.2
410

511
### Patch Changes

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ When user says "COM":
5050
4. **Sync CLAUDE.md version**: Update the `**Version**` line below to match the new version from `package.json`
5151
5. **Commit and deploy**: `git add -A && git commit -m "chore: version packages" && git push && npm run build && systemctl --user restart codeman-web`
5252
53-
**Version**: 0.2.2 (must match `package.json`)
53+
**Version**: 0.2.3 (must match `package.json`)
5454
5555
## Project Overview
5656

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "codeman",
3-
"version": "0.2.2",
3+
"version": "0.2.3",
44
"description": "The missing control plane for AI coding agents - run 20 autonomous agents with real-time monitoring and session persistence",
55
"type": "module",
66
"main": "dist/index.js",

src/web/server.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4033,6 +4033,10 @@ NOW: Generate the implementation plan for the task above. Think step by step.`;
40334033
if (tunnelEnabled && !this.tunnelManager.isRunning()) {
40344034
this.tunnelManager.start(this.port, this.https);
40354035
console.log('Tunnel started via settings change');
4036+
} else if (tunnelEnabled && this.tunnelManager.isRunning() && this.tunnelManager.getUrl()) {
4037+
// Tunnel already running — re-emit so the client gets the URL
4038+
this.broadcast('tunnel:started', { url: this.tunnelManager.getUrl() });
4039+
console.log('Tunnel already running, re-broadcast URL to client');
40364040
} else if (!tunnelEnabled && this.tunnelManager.isRunning()) {
40374041
this.tunnelManager.stop();
40384042
console.log('Tunnel stopped via settings change');

0 commit comments

Comments
 (0)