Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #329 +/- ##
==========================================
+ Coverage 25.17% 25.39% +0.22%
==========================================
Files 323 323
Lines 31727 31738 +11
Branches 1535 1551 +16
==========================================
+ Hits 7986 8059 +73
+ Misses 23741 23679 -62 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
PR レビュー: Fix line break issue in ChatGPT (#329)変更内容を確認しました。以下にフィードバックをまとめます。 ✅ 良い点
|
| 観点 | 評価 |
|---|---|
| コード品質 | ✅ 良好 |
| バグ修正の妥当性 | ✅ アプローチは正しい |
| セキュリティ | ✅ 問題なし |
| テストカバレッジ | ❌ テスト未追加 |
| 型安全性 |
主要な懸念はテストの欠如です。他の点は軽微ですが、特にテキスト中間通知の件はマルチライン入力の信頼性に関わる可能性があるため、動作確認の結果をコメントに記載いただけると助かります。
There was a problem hiding this comment.
Pull request overview
Issue #322(ChatGPT で aiPrompt 実行時に改行が入らない/入力が遅い)に対応するため、ChatGPT の入力要素選択と contenteditable への入力通知イベントを調整するPRです。
Changes:
- ChatGPT の入力要素 selector 候補を整理(hub 配信データ側)
- contenteditable への入力後に input イベントを送出
- Shift+Enter 相当時に insertLineBreak の InputEvent を送出
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| packages/hub/public/data/ai-services.json | ChatGPT の inputSelectors を簡素化し、誤検出しやすい候補を削除 |
| packages/extension/src/services/dom/inputUtils.ts | contenteditable 入力後/改行時にフレームワークへ通知するイベント送出を追加 |
You can also share your feedback on Copilot code review. Take the survey.
| @@ -95,4 +99,12 @@ async function typeShiftEnter(node: Node): Promise<void> { | |||
| cancelable: true, | |||
| }) | |||
| node.dispatchEvent(down) | |||
|
|
|||
| // Dispatch InputEvent to notify frameworks (e.g., Lexical) of the line break | |||
| const inputEvent = new InputEvent("input", { | |||
| inputType: "insertLineBreak", | |||
| bubbles: true, | |||
| cancelable: false, | |||
| }) | |||
| node.dispatchEvent(inputEvent) | |||
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
PR #329 コードレビュー: Fix line break issue in ChatGPT概要このPRはissue #322「aiPrompt実行時、ChatGPTでは改行が入らない」を修正するもので、以下の2ファイルを変更しています。
修正のアプローチは適切で、変更スコープも最小限に抑えられています。ただし、いくつか指摘事項があります。 指摘事項重要 1. フォールバック定義との不整合ファイル:
外部JSONの取得失敗・当日キャッシュ未生成の両方のケースで
重要 2. keydown のキャンセル状態を無視して InputEvent を dispatch しているファイル:
ページ側のスクリプトが keydown をキャンセルするケースでは、実際には改行が挿入されないにもかかわらず 修正案として、 推奨 3. inputContentEditable での InputEvent の data フィールドファイル: data フィールドに渡している フレームワークが 推奨 4. テストが追加されていないファイル: 今回追加された InputEvent dispatch のロジックには対応するテストが存在しません。今回のような「イベントディスパッチ挙動の変更」はAIプロンプト入力の主要経路に関わるため、回帰リスクが高い変更です。 追加すべきテストケースの例:
軽微 5. typeShiftEnter の引数型ファイル: この関数は 確認 6. legacyMode 時の input イベントの二重発火ファイル:
まとめ
最も重要な修正は 指摘事項1(フォールバック定義との不整合) です。 Reviewed by Claude Sonnet 4.6 |
PRレビューこのPRはChatGPTの改行問題(#322)を修正するもので、全体的なアプローチは適切です。 重要な問題1.
中程度の問題2.
軽微な指摘3. 実際のキーボード操作では 4. 将来の開発者が理由を把握できるよう、ChatGPT が contenteditable ベースの入力に移行したという簡単なコメントを追加することを推奨します。 良い点
テストの補足指摘ファイル: ICE-05では ファイル: ICE-10 (legacyMode + 改行) では interval > 0 のテストがない: |
close #322