Skip to content

fix: harden tmux launch cwd - #110

Merged
Ark0N merged 1 commit into
Ark0N:masterfrom
aakhter:cod-31-tmux-session-reliability
Jun 8, 2026
Merged

fix: harden tmux launch cwd#110
Ark0N merged 1 commit into
Ark0N:masterfrom
aakhter:cod-31-tmux-session-reliability

Conversation

@aakhter

Copy link
Copy Markdown
Contributor

Fixes COD-31.

Summary

  • Launch new tmux sessions from stable /tmp instead of the requested workspace.
  • Respawn panes from /tmp, then cd inside the pane before running the session command.
  • Add regression coverage for new-session and respawn command construction, including paths with spaces.

Verification

  • npm test -- test/tmux-manager.test.ts test/tmux-window-size-query.test.ts
  • npm run typecheck
  • npm run lint
  • npm run format:check
  • ./node_modules/.bin/prettier --check test/tmux-manager.test.ts

@Ark0N
Ark0N merged commit 4d0586a into Ark0N:masterJun 8, 2026
1 check passed
Ark0N added a commit that referenced this pull request Jun 8, 2026
…policy
Release 0.9.0 covering the merged security/reliability PRs (#106 deps/
supply-chain, #107 auth/network, #108 test stability, #110 tmux cwd) plus:
- Network policy: a non-loopback bind without CODEMAN_PASSWORD now STARTS
with a loud warning (3 ways to secure) instead of refusing to start.
Loopback stays the safe default. --allow-unauthenticated-network just
acknowledges (terser note). (src/web/server.ts start())
- Post-install security note explaining the loopback default + safe exposure.
- New docs/security-architecture.md documenting the full model (binding,
auth pipeline, tunnel req.ip caveat, file-serving, supply-chain, isolation,
recommended setups). CLAUDE.md Security section + gotcha updated.
- Updated auth-security test: asserts warn-and-start (not throw).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
aakhter added a commit to aakhter/Codeman that referenced this pull request Jun 9, 2026
…ility
Mode-agnostic terminal foundation extracted from the downstream branch:
- formatPaneSnapshot: SGR/grapheme-aware tmux pane capture + active-pane
resolution, with OSC/CSI redraw suppression and the buffer-load owner-token
race fix on the terminal fetch path
- socket-correct tmux lifecycle: dedicated -L socket and /tmp launch cwd in
createSession (restores the FUSE/getcwd hardening from Ark0N#110), and a
socket-aware re-attach window-size query (avoids the 120x40 flicker)
- inline-rename: commit/cancel state handling clears _activeRename and skips
the API call on cancel
- selectSession: restored detached-window raise short-circuit
The codex-specific xterm snapshot/replay, the vendored serialize addon, and
the synchronous live pane-capture on the request path are intentionally
excluded: they depend on a 'codex' SessionMode that doesn't exist on master
and are deferred to COD-34 (which introduces that mode). The capture
primitives remain exported for COD-34 to build on.
Co-Authored-By: Saqeb Akhter <saqeb.akhter@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@aakhter@Ark0N