[Feature]: Text-generation failure popups should name the attempted model and link to Settings
まだ誰も着手していません。
- 主要言語
- TypeScript
- スター
- 23k
- フォーク
- 5.9k
- 平均マージ
- 11時間 14分
- マージ済み PR(30日)
- 357
説明
Context
#12651 confirmed that one-shot text generation (commit messages, PR content, branch names, thread titles) can fail opaquely: the Commit popup showed an unrelated stderr notice while the real cause was an unconfigured/unsupported text-generation model. #12652 improves what the error says (it now surfaces the CLI's own stdout error), but the popup still leaves the user to figure out where the fix lives.
Proposal
When one-shot text generation fails, make the error actionable by surfacing what the server already knows and offering the fix in place:
- Name the attempted model and its origin. E.g. if
textGenerationModelSelectionis unset and a fallback was used, say so explicitly: "No text generation model was configured, so the provider default (claude-haiku-4-5) was used." That is server-known information —resolveTextGenerationProvider()knows whether it fell back and to which slug. - Include a button/link that opens Settings at the text-generation model section. One click from the Commit popup to the place where the model is configured.
- Same treatment for title/branch failures, which today can fail silently (#5359) — a consistent actionable-failure path would cover the whole family.
Why
The failure mode in #12651 would have been a two-click self-fix from the Commit dialog itself: popup names the fallback model → button opens Settings → user picks a model their backend allows. Instead it took a full diagnostic session (captured spawns, extracted bundle source) to discover that textGenerationModelSelection was unset and that the fallback slug was being rejected by the backend.
The information needed for this already exists at the failure site; this is purely about presenting it.
Impact
Quality-of-life enhancement on top of the #12651 fixes.
[!NOTE]
🤖 GLM 5.3 Flash on behalf of iliasgws
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
Commit ポップアップと resolveTextGenerationProvider() のパスを調査し、既存の失敗時の動作については #12651 と #12652 を参照してください。完了条件は、ワンショット生成のエラーで試行したモデルとその起点を特定し、Settings のテキスト生成モデルセクションへのリンクを提供し、タイトルとブランチのエラーにも同じく対応可能なパスを適用することです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- typescript
- 領域
- backend, frontend
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 活発
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 55/100