Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

psmux: probe and launch the same pwsh executable (pin one absolute path, quote it in pipe_pane)

Đã đóng
#863 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Một pull request liên quan đã được merge.

  • #9 của @dracic — đã merge
  • #871 của @dracic — đã merge

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
45/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python
Lĩnh vực
cli

Hướng nghiên cứu

Start by reading PsmuxMultiplexer._require_pwsh_floor, _shell_wrap, and the new_session path, then inspect how pipe_pane builds its command. Trace how the executable path and argv reach both the version probe and window launch, and determine whether the initial window should remain unchanged or receive an explicit shell. Done means the probe and launch use the same resolved executable and paths with spaces survive pipe_pane quoting.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

#862 refuses PowerShell older than 7.3 before psmux launches a window. Its version probe resolves pwsh on the launching process's PATH, while the window's pwsh resolves on the psmux server's PATH. The server inherits the environment of whichever process created the session, so the two agree in every bmad-loop flow, unless an operator changes PATH between creating the session and launching. This ceiling is documented in PsmuxMultiplexer._require_pwsh_floor.

Closing it means probing and launching the same executable:

  • Resolve one absolute pwsh path, probe its version, and use that same path in _shell_wrap's window argv.
  • pipe_pane space-joins that argv, and an absolute path such as C:\Program Files\PowerShell\7\pwsh.exe contains a space. So pipe_pane needs proper quoting first, or the sidecar command breaks.
  • The session's initial window (new_session) runs psmux's own default shell, not a pwsh path bmad-loop passes. Pinning it would mean passing an explicit shell command to new-session, which changes how that window starts, so it needs its own decision.

Raised as a review finding on #862 and kept out of that PR as a separate change. Real-world risk is low: it needs a PATH change between two steps of one flow, and the floor only matters for end-of-life pwsh 7.0–7.2.

Refs #861 #862

Ngôn ngữ chính
Python
Star
165
Fork
69
Merge trung bình
1 ngày 1 giờ
Pull request đã merge (30 ngày)
79

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của bmad-code-org/bmad-loop

Tất cả issue của bmad-code-org/bmad-loop

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.