OSS

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つ:

  1. detect_format()"run_in_terminal" を追加 VS Code Copilot Chat が渡す tool_name の値で、これが認識されないとフックが PassThrough になっていた。根本的なバグ修正。

  2. handle_vscode()handle_copilot_cli()handle_copilot_rewrite() に統合 ほぼ同じロジックが2関数に分散していたので1つにまとめた。

  3. VS Code 向けのレスポンスを allow/ask + updatedInput から deny + suggestion に変更 前の記事で書いた「承認ループ」の回避。Copilot Chat は updatedInput を承認後に無視するので、Copilot CLI と同じ deny + reason 方式に統一した(詳細は #1425)。