`Server.kill_session(name)` kills a session whose name only starts with `name`
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 83/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- python
調査の方向性
src/libtmux/server.py の Server.kill_session 周辺(483~500 行)を読み、ターゲットの処理を 429 行付近の has_session(exact=True) と比較してください。次に、関連する kill-session のテストを見つけて実行してください。完全一致する名前が存在しない場合に終了処理がエラーとなり、名前がそのプレフィックスだけを共有するセッションは残ることを完了条件とします。
索引モデルが issue の本文から書いたものです。
説明
Summary
Server.kill_session("doom") removes a session named doomsday when no doom exists. It passes the bare name to kill-session -t, and tmux resolves a bare target by prefix and fnmatch(3). The docstring says so ("'asdf' will kill 'asdfasd'"), while Server.has_session() already defaults to exact=True. Scripts that kill by name can end someone else's session.
Reproduction
- Create two sessions and kill by the shorter name:
import libtmux
srv = libtmux.Server(socket_name="kill-prefix", config_file="/dev/null")
srv.new_session("probe", window_command="sh")
srv.new_session("doomsday", window_command="sh")
srv.kill_session("doom")
print(sorted(s.name for s in srv.sessions))
srv.kill()
Expected
kill_session("doom") raises because no session named doom exists, and doomsday survives.
Actual
It returns normally and doomsday is gone: ['probe'].
Environment
- libtmux:
masterat886b1cd(v0.62.0 plus 114 commits) - tmux: 3.8 (system build reports 3.8a)
- Python: run with
uv run --frozenfrom the libtmux checkout - OS: Linux (WSL2), private
-Lsocket,-f /dev/null
References
src/libtmux/server.py#L483-L500, docstring at#L489;has_session(exact=True)at#L429- Projects that target
=nameby hand: claude-squad (tmux.go#L470, "-t name does a prefix match, which is wrong"), firstmate (tmux.sh#L53), Qwen Code (ab-drive.ts#L316), NVIDIA IsaacCapture (launcher.py#L388), Microsoft amplifier-bundle-converge (tmux_view.py#L131), OpenAI tunnel-client (session.go#L714) - Ports: .NET kills
=name; Java looks the name up exactly; Go passes the bare name (lifecycle_kill.go#L101)
- 主要言語
- Python
- スター
- 1.2k
- フォーク
- 127
- 平均マージ
- 2時間 37分
- マージ済み PR(30日)
- 33
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
tmux-python/libtmux のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
tmux-python/libtmux#856 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
tmux-python/libtmux#838 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
`show_option` coerces user options, so an `@` option set to `123` or `on` comes back as an int or a bool対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
tmux-python/libtmux#759 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
tmux-python/libtmux#745 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
Documentation: how to use internal libtmux logging対応中かも @tony が 84 日前に担当しました。 オープンenhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
tmux-python/libtmux#744 ·
メンテナーはふだん 1 日以内に返信
tmux-python/libtmux の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
deepchem/deepchem#5289 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 60/100
UKGovernmentBEIS/inspect_evals#2892 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Versioning docs: say that no output from the 0.46 warning check means nothing is affected対応中かも @grelinfo が今日担当しました。 オープンdocumentation priority:low size:S
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
alphacrack/readme2demo#293 ·