Harden terminal WebSocket edge cases #37

Merged
jimmy merged 2 commits from dev into main 2026-03-15 23:22:09 +08:00

2 Commits

Author SHA1 Message Date
Gan, Jimmy b742ab8fef fix: harden terminal WebSocket edge cases
Deploy Dashboard (Dev) / deploy-dev (push) Successful in 2m44s
- Wrap tryRefreshSession in try-finally to ensure authRecoveryInFlight is always reset
- Fix variable scope issue: use const tabState instead of reassigning d
- Add error handling for process.stdin.write() to catch BrokenPipeError/OSError
- Verify WebSocket instance before closing in ping timeout callback
- Properly await conn.wait_closed() to prevent SSH connection leaks
- Gracefully cancel and wait for read_task with 2s timeout

These fixes prevent race conditions, resource leaks, and improve error recovery.
2026-03-15 23:18:20 +08:00
Gan, Jimmy d19707422d feat: add tea (Gitea CLI) to claude-dev tooling
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Failing after 40s
2026-03-15 23:00:57 +08:00