RTK に issue 立ててプルリク作った話
TL;DR — RTK に立てた issue が1週間放置されたので自分でプルリクを出した。
run_in_terminalの未認識バグを修正し、重複関数を統合。ローカル確認では mise と linuxbrew の PATH 競合に引っかかったが解決し、PR #1800 を提出した。
前の記事で「引き続き更新を待つかぁ」と書いたやつの続き。
1週間待ったけど動きがなかった
Issue #1425 を立てたあと、1週間ほど本体の動向を見ていた。メンテナさんも忙しいだろうし、そんなもんかと思っていたけど、なかなか動きがない…
うん。待つの飽きた。
「どうせなら自分でプルリクを出してしまえ」
リファクタしてからプルリクを作る
ローカルには fix(hooks): VS Code Copilot Chat... というコミットがすでにあった。ただそのまま出すのは品質的に不安だったので、upstream/develop ベースでブランチを切り直して cherry-pick し、ついでに既存のコードベースのお作法を調査してリファクタも入れた。
変更の内容は3つ:
detect_format()に"run_in_terminal"を追加 VS Code Copilot Chat が渡すtool_nameの値で、これが認識されないとフックが PassThrough になっていた。根本的なバグ修正。handle_vscode()とhandle_copilot_cli()をhandle_copilot_rewrite()に統合 ほぼ同じロジックが2関数に分散していたので1つにまとめた。VS Code 向けのレスポンスを
allow/ask + updatedInputからdeny + suggestionに変更 前の記事で書いた「承認ループ」の回避。Copilot Chat はupdatedInputを承認後に無視するので、Copilot CLI と同じdeny+ reason 方式に統一した(詳細は #1425)。