Skip to content

Upstream follow-up: centralize quoted PATH setup for all remote tmux operations #15

Open

Description

@johoja12

Track the separate upstream follow-up requested while merging scroll PR Ark0N#645, shipped in codeman@1.44.0.

Maintainer request: Ark0N#645 (comment)
Detailed review: Ark0N#645 (comment)

The scrolling changes were accepted; the history-only PATH bootstrap was excluded from upstream because a Homebrew-only tmux installation also fails earlier operations. The fork's deployed #13 fix remains separate.

Scope for a focused upstream PR:

  • Audit every remote tmux invocation and route it through one consistent wrapper: link/preflight checks, launch/attach, alive probes, discovery, frame/history reads, and remaining lifecycle operations.
  • Double-quote the exported PATH value, including the inherited PATH, so remote home paths with spaces work under older dash as requested.
  • Preserve exact socket/session targeting, SSH arguments, bounded capture/backoff, and existing login-shell/provider behavior.
  • Add real-shell regressions with a sparse non-interactive PATH and a home directory containing spaces; verify link/launch/probe/discovery/history use the same setup.
  • Validate using isolated disposable sessions; no test input or lifecycle operations against live user sessions.

Related fork issues: #13 (production incident, fixed/deployed) and #7 (scrolling work).

Planning/tracking only. No new implementation, upstream PR, or production changes in this follow-up.

Activity

  1. johoja12 commented on Oct 23, 2026

    @johoja12
    OwnerAuthor

    Implemented and pushed 47dc43e6 on fix/15-upstream-remote-tmux-path, based on upstream/master (002de32a).

    Upstream PR: Ark0N#691

    The shared withRemoteTmuxPath() wrapper now covers link availability checks, launch/attach, alive probes, discovery, history/screen reads and cleanup. The exported PATH value is double-quoted, including inherited PATH; SSH option/PTY flags, socket/session targeting and CLI login-shell behavior are retained.

    Verification:

    • All 14 real-shell regressions failed before the patch and pass afterward: seven operation builders under sh and dash, sparse PATH, spaces in remote HOME and inherited PATH, and offline SSH/tmux executables. Checks include quoted session names plus port, identity, jump host, proxy and arbitrary SSH options.
    • 213 remote/reconnect/wake/history/route tests and 301 tmux-manager/case/session-route tests passed (514 total).
    • Typecheck, lint, format, lockfile, frontend syntax, public assets, browser exclusions and pre-push gates passed.
    • Isolated realistic Claude/Codex/shell smoke: 108 pass, 0 fail, 5 documented environment/baseline skips. Fixture sessions and server cleaned up. Artifact: /tmp/codeman-dev-smoke-artifacts-2026-10-23T13-24-01-376Z-p625939-rff17f5aa71364eaf8461bcee994f2275/summary.json.

    No production or local deploy-branch changes. Issue remains open to track upstream review/merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions