psmux: probe and launch the same pwsh executable (pin one absolute path, quote it in pipe_pane)
Maintainer thường phản hồi trong vòng 1 ngày
Đá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
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
pwshpath, probe its version, and use that same path in_shell_wrap's window argv. pipe_panespace-joins that argv, and an absolute path such asC:\Program Files\PowerShell\7\pwsh.execontains a space. Sopipe_paneneeds 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 tonew-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
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của bmad-code-org/bmad-loop
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 69/100
bmad-code-org/bmad-loop#973 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
bmad-code-org/bmad-loop#965 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
bmad-code-org/bmad-loop#835 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 72/100
bmad-code-org/bmad-loop#1004 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 49/100
bmad-code-org/bmad-loop#1002 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của bmad-code-org/bmad-loop
Issue tương tự
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
521xueweihan/HelloGitHub#4150 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
aws-samples/sample-per-model-bedrock#595 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug connectors
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 67/100
pyinfra-dev/pyinfra#2036 ·
Maintainer thường phản hồi trong vòng 9 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày