Conversation
Co-authored-by: ujiro99 <677231+ujiro99@users.noreply.github.com>
… keys Co-authored-by: ujiro99 <677231+ujiro99@users.noreply.github.com>
# Conflicts: # packages/extension/src/components/option/SettingForm.tsx
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #299 +/- ##
==========================================
+ Coverage 19.03% 19.39% +0.36%
==========================================
Files 312 313 +1
Lines 28845 28991 +146
Branches 1322 1372 +50
==========================================
+ Hits 5490 5624 +134
- Misses 23355 23367 +12 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
リンクプレビューの開き方に「SidePanel」モードを追加し、SidePanel 表示時の自動非表示(オートクローズ)挙動を設定画面から制御できるようにする変更です。既存の SidePanel IPC を活用しつつ、タブ追跡データ(BgData)に「リンクプレビュー由来かどうか」を持たせて設定分岐できるようにしています。
Changes:
- リンクプレビューの新規モード
PREVIEW_SIDE_PANELを追加し、選択時に SidePanel を開く処理を実装 - SidePanel の自動非表示設定(通常コマンド用 / リンクプレビュー用)を UI・設定型・デフォルト・移行に追加
- SidePanel のタブ追跡を拡張(
tabIdに加えてisLinkCommandを保持)し、onClosed 等でクリーンアップ
Reviewed changes
Copilot reviewed 32 out of 32 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/extension/src/types/index.ts | LinkCommand 設定に sidePanelAutoHide を追加 |
| packages/extension/src/test/setup.ts | chrome.sidePanel.onClosed のテスト用モックを追加 |
| packages/extension/src/services/sidePanelDetector.ts | sidePanelTabs の新型に追従(some で判定) |
| packages/extension/src/services/sidePanelDetector.test.ts | sidePanelTabs の新型に合わせてテスト更新 |
| packages/extension/src/services/settings/settings.ts | 0.15.0 向け移行(linkCommand.sidePanelAutoHide)を追加 |
| packages/extension/src/services/option/defaultSettings.ts | sidePanelAutoHide のデフォルト値を追加 |
| packages/extension/src/services/chrome.ts | OpenSidePanelProps に isLinkCommand を追加 / close の後処理を整理 |
| packages/extension/src/services/backgroundData.ts | sidePanelTabs をオブジェクト配列化(isLinkCommand を保持) |
| packages/extension/src/hooks/useSidePanelAutoClose.ts | SidePanel 表示中のクリックで自動クローズする hook を新規追加 |
| packages/extension/src/hooks/useSettings.test.tsx | LinkCommand 設定のモックに sidePanelAutoHide を追加 |
| packages/extension/src/const.ts | DRAG_OPEN_MODE.PREVIEW_SIDE_PANEL を追加 |
| packages/extension/src/components/option/field/SwitchField.tsx | SwitchField に tooltip 表示を追加 |
| packages/extension/src/components/option/SettingForm.tsx | SidePanel 自動非表示の設定 UI を追加(link/window) |
| packages/extension/src/components/Popup.tsx | useSidePanelAutoClose を組み込み |
| packages/extension/src/background_script.ts | SidePanel close イベント等で追跡データをクリーンアップ |
| packages/extension/src/action/linkPreview.ts | LinkPreview の SidePanel オープン分岐を追加(isLinkCommand: true) |
| packages/extension/src/action/helper.ts | SidePanel の open/close とクリーンアップを isLinkCommand 対応で拡張 |
| packages/extension/src/action/helper.test.ts | sidePanelTabs 新型に合わせてテスト更新 |
| packages/extension/public/_locales/zh_CN/messages.json | SidePanel 新規UI/モード文言を追加 |
| packages/extension/public/_locales/ru/messages.json | SidePanel 新規UI/モード文言を追加 |
| packages/extension/public/_locales/pt_PT/messages.json | SidePanel 新規UI/モード文言を追加 |
| packages/extension/public/_locales/pt_BR/messages.json | SidePanel 新規UI/モード文言を追加 |
| packages/extension/public/_locales/ms/messages.json | SidePanel 新規UI/モード文言を追加 |
| packages/extension/public/_locales/ko/messages.json | SidePanel 新規UI/モード文言を追加 |
| packages/extension/public/_locales/ja/messages.json | SidePanel 新規UI/モード文言を追加(既存表記も調整) |
| packages/extension/public/_locales/it/messages.json | SidePanel 新規UI/モード文言を追加 |
| packages/extension/public/_locales/id/messages.json | SidePanel 新規UI/モード文言を追加 |
| packages/extension/public/_locales/hi/messages.json | SidePanel 新規UI/モード文言を追加 |
| packages/extension/public/_locales/fr/messages.json | SidePanel 新規UI/モード文言を追加 |
| packages/extension/public/_locales/es/messages.json | SidePanel 新規UI/モード文言を追加 |
| packages/extension/public/_locales/en/messages.json | SidePanel 新規UI/モード文言を追加 |
| packages/extension/public/_locales/de/messages.json | SidePanel 新規UI/モード文言を追加 |
… add useSidePanelAutoClose tests Co-authored-by: ujiro99 <677231+ujiro99@users.noreply.github.com>
|
Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
Co-authored-by: ujiro99 <677231+ujiro99@users.noreply.github.com>
for Claude Code review.
PRレビューこのPR(リンクプレビューのSidePanel選択肢追加)をレビューしました。全体的によく設計されており、特に設定マイグレーションの修正と後方互換性の実装は評価できます。以下に気になる点を記載します。 🔴 重要な問題1.
|
| カテゴリ | 件数 |
|---|---|
| 🔴 重要 | 2件 |
| 🟡 中程度 | 2件 |
| 🟢 良好 | 3件 |
| 🔵 軽微 | 2件 |
最も注意が必要なのは SwitchField.tsx の useRef によるツールチップバグです。フォームが初期表示されたタイミングでツールチップアイコンにホバーしても表示されない可能性があります。useState + callback ref への変更を推奨します。
@copilot |
…catch handler Co-authored-by: ujiro99 <677231+ujiro99@users.noreply.github.com>
レビューいただいた重要2点・中程度2点を修正しました(commit
|
PR レビュー: リンクプレビューの開き方にSidePanel選択肢を追加全体的に機能の目的は明確で、後方互換性への配慮( 🔴 重大な問題1.
|
| ファイル | カバレッジ |
|---|---|
packages/extension/src/action/helper.ts |
7.69%(24行未カバー) |
packages/extension/src/action/linkPreview.ts |
0.00%(9行未カバー) |
特に以下の新しいコードパスのテストが不足しています:
helper.ts:109-557-openSidePanelでのbgData.activeTabIdへのフォールバックhelper.ts:160-207-closeSidePanelのisLinkCommand分岐(両設定値の組み合わせ)linkPreview.ts:661-668-PREVIEW_SIDE_PANELモードの実行パスhelper.ts:618-631-sidePanelClosed関数本体
✅ 良い点
backgroundData.ts:30-33- レガシーのnumber[]からSidePanelTab[]への後方互換変換は適切settings.ts-originalVersionを使用したマイグレーション修正は重要なバグ修正chrome.ts-setOptions({ enabled: false })の復元によりパネルが意図せず再表示される問題を解決SwitchField.tsx-useRefからuseCallback refへの変更は初期レンダリング時のツールチップ位置問題を正しく修正useSidePanelAutoClose.test.ts- 8件のテストケースが適切なパターン(SPAC-01〜08)で整理されている- 14言語への翻訳追加 - 全ロケールに対して一貫して適用されている
以上です。全体的に実装の方向性は良く、細かい改善点を修正すればマージ可能な品質だと思います。
PR レビュー: リンクプレビューの開き方に SidePanel 選択肢を追加 (#299)全体的に、機能追加とバグ修正がよくまとめられた PR です。以下に気になる点をまとめます。 ✅ 良い点
後方互換の対応 ( 🐛 バグ・潜在的問題1.
|
| 重要度 | 件数 |
|---|---|
| 🐛 バグ・問題 | 3 件 |
| 2 件 | |
| 📝 スタイル | 1 件 |
特に windowOption.sidePanelAutoHide の常時表示(問題 #1)と、1 秒ハードコード(問題 #2)は UX/動作に影響するため、マージ前に確認いただけると良いと思います。
PR レビュー: リンクプレビューの開き方にSidePanel選択肢を追加全体的に高品質な実装で、バグ修正・リファクタリング・テスト追加が適切に行われています。以下にいくつかの指摘事項を記します。 🔴 重要な問題1.
|
DRAG_OPEN_MODEにPREVIEW_SIDE_PANELを追加(const.ts)linkPreview.tsでSidePanelモードに対応SettingForm.tsxにsidePanelAutoHideトグルを追加migrate()でoriginalVersionを使い、中間バージョン更新による後続マイグレーションのスキップを防止(settings.ts)data.settingVersion = VERSIONを各if節からmigrate()末尾の1行に集約(settings.ts)sidePanelClosed()内のBgData.update()をawaitするよう修正(helper.ts)BgDataコンストラクタで旧形式のnumber[]をSidePanelTab[]に正規化し後方互換を確保(backgroundData.ts)useSidePanelAutoClose.test.tsにテストを8件追加SwitchField.tsx—useRefをuseState+ callback refに変更(初期表示でツールチップが機能しないバグ修正)chrome.ts—closeSidePanelにsetOptions({ enabled: false })を復元(閉鎖後もパネルが再度開けてしまう問題を修正)useSidePanelAutoClose.ts— 2つのuseEffectを1つに統合(余分なレンダリングサイクル削減)helper.ts—closeSidePanelのPromiseに.catch()エラーハンドラー追加(応答タイムアウト防止)Original prompt
🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.