From 8bff56de664504b1490c5109e9a15616b6336d69 Mon Sep 17 00:00:00 2001 From: marius-kilocode Date: Mon, 24 Aug 2026 13:00:39 +0200 Subject: [PATCH 1/7] feat(vscode): improve review comment previews --- .changeset/review-comment-previews.md | 5 + .../webview-ui/agent-manager/i18n/ar.ts | 9 +- .../webview-ui/agent-manager/i18n/br.ts | 9 +- .../webview-ui/agent-manager/i18n/bs.ts | 9 +- .../webview-ui/agent-manager/i18n/da.ts | 9 +- .../webview-ui/agent-manager/i18n/de.ts | 9 +- .../webview-ui/agent-manager/i18n/en.ts | 9 +- .../webview-ui/agent-manager/i18n/es.ts | 9 +- .../webview-ui/agent-manager/i18n/fa.ts | 9 +- .../webview-ui/agent-manager/i18n/fr.ts | 9 +- .../webview-ui/agent-manager/i18n/it.ts | 9 +- .../webview-ui/agent-manager/i18n/ja.ts | 9 +- .../webview-ui/agent-manager/i18n/ko.ts | 9 +- .../webview-ui/agent-manager/i18n/nl.ts | 9 +- .../webview-ui/agent-manager/i18n/no.ts | 9 +- .../webview-ui/agent-manager/i18n/pl.ts | 9 +- .../webview-ui/agent-manager/i18n/ru.ts | 9 +- .../webview-ui/agent-manager/i18n/th.ts | 9 +- .../webview-ui/agent-manager/i18n/tr.ts | 9 +- .../webview-ui/agent-manager/i18n/uk.ts | 9 +- .../webview-ui/agent-manager/i18n/zh.ts | 9 +- .../webview-ui/agent-manager/i18n/zht.ts | 9 +- .../src/components/chat/ReviewComments.tsx | 243 +++++++------ .../webview-ui/src/stories/chat.stories.tsx | 101 ++++-- .../webview-ui/src/styles/high-contrast.css | 6 +- .../webview-ui/src/styles/prompt-input.css | 319 +++++++++++------- 26 files changed, 505 insertions(+), 358 deletions(-) create mode 100644 .changeset/review-comment-previews.md diff --git a/.changeset/review-comment-previews.md b/.changeset/review-comment-previews.md new file mode 100644 index 00000000000..1738a2dece3 --- /dev/null +++ b/.changeset/review-comment-previews.md @@ -0,0 +1,5 @@ +--- +"kilo-code": patch +--- + +Show review comment text directly in the chat message instead of hiding it behind a click. Each comment is now a row with the file, line and a two-line preview, expands in place to reveal the full body, code snippet and pull request replies, and long lists collapse to the first few comments with a "Show more" toggle. diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ar.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ar.ts index d35d091c37d..2f0d7c4d5d6 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ar.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ar.ts @@ -181,18 +181,17 @@ export const dict = { "agentManager.review.sendAllToChatWithCount": "إرسال الكل إلى الدردشة ({{count}})", "agentManager.review.sendAllShortcut.mac": "⌘Enter", "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", - "agentManager.review.modalTitle": "تعليق المراجعة", "agentManager.review.inlineCount": "تعليقات المراجعة ({{count}})", + "agentManager.review.fileCount": "{{count}} ملفًا", + "agentManager.review.replyCount": "{{count}} ردًا", + "agentManager.review.showMore": "إظهار {{count}} أخرى", + "agentManager.review.showLess": "إظهار أقل", "agentManager.review.clearAll": "مسح الكل", "agentManager.review.commentOnLine": "تعليق على السطر {{line}}", "agentManager.review.editCommentOnLine": "تعديل التعليق على السطر {{line}}", "agentManager.review.commentPlaceholder": "اترك تعليقًا...", "agentManager.review.commentAction": "تعليق", "agentManager.review.sendToChat": "إرسال إلى الدردشة", - "agentManager.review.metaFile": "الملف", - "agentManager.review.metaLine": "السطر", - "agentManager.review.metaComment": "تعليق المستخدم", - "agentManager.review.metaAuthor": "المؤلف", "agentManager.pr.comment.title": "التعليقات", "agentManager.pr.comment.unresolvedCount": "{{count}} غير محلولة", "agentManager.pr.comment.resolvedGroup": "تم الحل ({{count}})", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/br.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/br.ts index 3b41c65b310..373bb922ba3 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/br.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/br.ts @@ -184,18 +184,17 @@ export const dict = { "agentManager.review.sendAllToChatWithCount": "Enviar tudo para o chat ({{count}})", "agentManager.review.sendAllShortcut.mac": "⌘Enter", "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", - "agentManager.review.modalTitle": "Comentário de revisão", "agentManager.review.inlineCount": "Comentários de revisão ({{count}})", + "agentManager.review.fileCount": "{{count}} arquivos", + "agentManager.review.replyCount": "{{count}} respostas", + "agentManager.review.showMore": "Mostrar mais {{count}}", + "agentManager.review.showLess": "Mostrar menos", "agentManager.review.clearAll": "Limpar tudo", "agentManager.review.commentOnLine": "Comentar na linha {{line}}", "agentManager.review.editCommentOnLine": "Editar comentário na linha {{line}}", "agentManager.review.commentPlaceholder": "Deixe um comentário...", "agentManager.review.commentAction": "Comentar", "agentManager.review.sendToChat": "Enviar para o chat", - "agentManager.review.metaFile": "Arquivo", - "agentManager.review.metaLine": "Linha", - "agentManager.review.metaComment": "Comentário do usuário", - "agentManager.review.metaAuthor": "Autor", "agentManager.pr.comment.title": "Comentários", "agentManager.pr.comment.unresolvedCount": "{{count}} não resolvidos", "agentManager.pr.comment.resolvedGroup": "Resolvidos ({{count}})", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/bs.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/bs.ts index 2df638fe302..e7708978e5c 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/bs.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/bs.ts @@ -184,18 +184,17 @@ export const dict = { "agentManager.review.sendAllToChatWithCount": "Pošalji sve u chat ({{count}})", "agentManager.review.sendAllShortcut.mac": "⌘Enter", "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", - "agentManager.review.modalTitle": "Komentar pregleda", "agentManager.review.inlineCount": "Komentari pregleda ({{count}})", + "agentManager.review.fileCount": "{{count}} datoteka", + "agentManager.review.replyCount": "{{count}} odgovora", + "agentManager.review.showMore": "Prikaži još {{count}}", + "agentManager.review.showLess": "Prikaži manje", "agentManager.review.clearAll": "Očisti sve", "agentManager.review.commentOnLine": "Komentar na liniji {{line}}", "agentManager.review.editCommentOnLine": "Uredi komentar na liniji {{line}}", "agentManager.review.commentPlaceholder": "Ostavi komentar...", "agentManager.review.commentAction": "Komentariši", "agentManager.review.sendToChat": "Pošalji u chat", - "agentManager.review.metaFile": "Datoteka", - "agentManager.review.metaLine": "Linija", - "agentManager.review.metaComment": "Komentar korisnika", - "agentManager.review.metaAuthor": "Autor", "agentManager.pr.comment.title": "Komentari", "agentManager.pr.comment.unresolvedCount": "{{count}} neriješenih", "agentManager.pr.comment.resolvedGroup": "Riješeno ({{count}})", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/da.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/da.ts index df1c772d645..86e88760cd8 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/da.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/da.ts @@ -185,18 +185,17 @@ export const dict = { "agentManager.review.sendAllToChatWithCount": "Send alt til chat ({{count}})", "agentManager.review.sendAllShortcut.mac": "⌘Enter", "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", - "agentManager.review.modalTitle": "Review-kommentar", "agentManager.review.inlineCount": "Review-kommentarer ({{count}})", + "agentManager.review.fileCount": "{{count}} filer", + "agentManager.review.replyCount": "{{count}} svar", + "agentManager.review.showMore": "Vis {{count}} mere", + "agentManager.review.showLess": "Vis mindre", "agentManager.review.clearAll": "Ryd alle", "agentManager.review.commentOnLine": "Kommenter på linje {{line}}", "agentManager.review.editCommentOnLine": "Rediger kommentar på linje {{line}}", "agentManager.review.commentPlaceholder": "Skriv en kommentar...", "agentManager.review.commentAction": "Kommenter", "agentManager.review.sendToChat": "Send til chat", - "agentManager.review.metaFile": "Fil", - "agentManager.review.metaLine": "Linje", - "agentManager.review.metaComment": "Brugerkommentar", - "agentManager.review.metaAuthor": "Forfatter", "agentManager.pr.comment.title": "Kommentarer", "agentManager.pr.comment.unresolvedCount": "{{count}} uløste", "agentManager.pr.comment.resolvedGroup": "Løste ({{count}})", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/de.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/de.ts index 552a891ca04..f6949629b41 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/de.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/de.ts @@ -186,18 +186,17 @@ export const dict = { "agentManager.review.sendAllToChatWithCount": "Alles an den Chat senden ({{count}})", "agentManager.review.sendAllShortcut.mac": "⌘Enter", "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", - "agentManager.review.modalTitle": "Review-Kommentar", "agentManager.review.inlineCount": "Review-Kommentare ({{count}})", + "agentManager.review.fileCount": "{{count}} Dateien", + "agentManager.review.replyCount": "{{count}} Antworten", + "agentManager.review.showMore": "{{count}} weitere anzeigen", + "agentManager.review.showLess": "Weniger anzeigen", "agentManager.review.clearAll": "Alle löschen", "agentManager.review.commentOnLine": "Kommentar zu Zeile {{line}}", "agentManager.review.editCommentOnLine": "Kommentar zu Zeile {{line}} bearbeiten", "agentManager.review.commentPlaceholder": "Kommentar hinterlassen...", "agentManager.review.commentAction": "Kommentieren", "agentManager.review.sendToChat": "An Chat senden", - "agentManager.review.metaFile": "Datei", - "agentManager.review.metaLine": "Zeile", - "agentManager.review.metaComment": "Benutzerkommentar", - "agentManager.review.metaAuthor": "Autor", "agentManager.pr.comment.title": "Kommentare", "agentManager.pr.comment.unresolvedCount": "{{count}} ungelöst", "agentManager.pr.comment.resolvedGroup": "Gelöst ({{count}})", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/en.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/en.ts index ce9e101a36a..ea7c9fa88e2 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/en.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/en.ts @@ -187,18 +187,17 @@ export const dict = { "agentManager.review.sendAllToChatWithCount": "Send all to chat ({{count}})", "agentManager.review.sendAllShortcut.mac": "⌘Enter", "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", - "agentManager.review.modalTitle": "Review comment", "agentManager.review.inlineCount": "Review comments ({{count}})", + "agentManager.review.fileCount": "{{count}} files", + "agentManager.review.replyCount": "{{count}} replies", + "agentManager.review.showMore": "Show {{count}} more", + "agentManager.review.showLess": "Show less", "agentManager.review.clearAll": "Clear all", "agentManager.review.commentOnLine": "Comment on line {{line}}", "agentManager.review.editCommentOnLine": "Edit comment on line {{line}}", "agentManager.review.commentPlaceholder": "Leave a comment...", "agentManager.review.commentAction": "Comment", "agentManager.review.sendToChat": "Send to chat", - "agentManager.review.metaFile": "File", - "agentManager.review.metaLine": "Line", - "agentManager.review.metaComment": "User comment", - "agentManager.review.metaAuthor": "Author", "agentManager.pr.comment.title": "Comments", "agentManager.pr.comment.unresolvedCount": "{{count}} unresolved", "agentManager.pr.comment.resolvedGroup": "Resolved ({{count}})", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/es.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/es.ts index e15f18c1434..f5840b90aa9 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/es.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/es.ts @@ -185,18 +185,17 @@ export const dict = { "agentManager.review.sendAllToChatWithCount": "Enviar todo al chat ({{count}})", "agentManager.review.sendAllShortcut.mac": "⌘Enter", "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", - "agentManager.review.modalTitle": "Comentario de revisión", "agentManager.review.inlineCount": "Comentarios de revisión ({{count}})", + "agentManager.review.fileCount": "{{count}} archivos", + "agentManager.review.replyCount": "{{count}} respuestas", + "agentManager.review.showMore": "Mostrar {{count}} más", + "agentManager.review.showLess": "Mostrar menos", "agentManager.review.clearAll": "Borrar todo", "agentManager.review.commentOnLine": "Comentar en la línea {{line}}", "agentManager.review.editCommentOnLine": "Editar comentario en la línea {{line}}", "agentManager.review.commentPlaceholder": "Deja un comentario...", "agentManager.review.commentAction": "Comentar", "agentManager.review.sendToChat": "Enviar al chat", - "agentManager.review.metaFile": "Archivo", - "agentManager.review.metaLine": "Línea", - "agentManager.review.metaComment": "Comentario del usuario", - "agentManager.review.metaAuthor": "Autor", "agentManager.pr.comment.title": "Comentarios", "agentManager.pr.comment.unresolvedCount": "{{count}} sin resolver", "agentManager.pr.comment.resolvedGroup": "Resueltos ({{count}})", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/fa.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/fa.ts index 9f296ceb378..706c336b8ca 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/fa.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/fa.ts @@ -188,18 +188,17 @@ export const dict = { "agentManager.review.sendAllToChatWithCount": "ارسال همه به چت ({{count}})", "agentManager.review.sendAllShortcut.mac": "⌘Enter", "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", - "agentManager.review.modalTitle": "بررسی نظر", "agentManager.review.inlineCount": "نظرات بررسی ({{count}})", + "agentManager.review.fileCount": "{{count}} فایل", + "agentManager.review.replyCount": "{{count}} پاسخ", + "agentManager.review.showMore": "نمایش {{count}} مورد بیشتر", + "agentManager.review.showLess": "نمایش کمتر", "agentManager.review.clearAll": "پاک کردن همه", "agentManager.review.commentOnLine": "نظر در خط {{line}}", "agentManager.review.editCommentOnLine": "ویرایش نظر در خط {{line}}", "agentManager.review.commentPlaceholder": "یک نظر بگذارید...", "agentManager.review.commentAction": "نظر", "agentManager.review.sendToChat": "ارسال به چت", - "agentManager.review.metaFile": "فایل", - "agentManager.review.metaLine": "خط", - "agentManager.review.metaComment": "نظر کاربر", - "agentManager.review.metaAuthor": "نویسنده", "agentManager.pr.comment.title": "نظرات", "agentManager.pr.comment.unresolvedCount": "{{count}} حل‌نشده", "agentManager.pr.comment.resolvedGroup": "حل‌شده ({{count}})", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/fr.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/fr.ts index feac00e5699..39b8bf260be 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/fr.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/fr.ts @@ -186,18 +186,17 @@ export const dict = { "agentManager.review.sendAllToChatWithCount": "Tout envoyer au chat ({{count}})", "agentManager.review.sendAllShortcut.mac": "⌘Enter", "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", - "agentManager.review.modalTitle": "Commentaire de révision", "agentManager.review.inlineCount": "Commentaires de révision ({{count}})", + "agentManager.review.fileCount": "{{count}} fichiers", + "agentManager.review.replyCount": "{{count}} réponses", + "agentManager.review.showMore": "Afficher {{count}} de plus", + "agentManager.review.showLess": "Afficher moins", "agentManager.review.clearAll": "Tout effacer", "agentManager.review.commentOnLine": "Commenter la ligne {{line}}", "agentManager.review.editCommentOnLine": "Modifier le commentaire de la ligne {{line}}", "agentManager.review.commentPlaceholder": "Laisser un commentaire...", "agentManager.review.commentAction": "Commenter", "agentManager.review.sendToChat": "Envoyer au chat", - "agentManager.review.metaFile": "Fichier", - "agentManager.review.metaLine": "Ligne", - "agentManager.review.metaComment": "Commentaire de l'utilisateur", - "agentManager.review.metaAuthor": "Auteur", "agentManager.pr.comment.title": "Commentaires", "agentManager.pr.comment.unresolvedCount": "{{count}} non résolus", "agentManager.pr.comment.resolvedGroup": "Résolus ({{count}})", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/it.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/it.ts index b87103e651b..daa5065a448 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/it.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/it.ts @@ -191,18 +191,17 @@ export const dict = { "agentManager.review.sendAllToChatWithCount": "Invia tutto alla chat ({{count}})", "agentManager.review.sendAllShortcut.mac": "Cmd+Invio", "agentManager.review.sendAllShortcut.other": "Ctrl+Invio", - "agentManager.review.modalTitle": "Commento di revisione", "agentManager.review.inlineCount": "Commenti di revisione ({{count}})", + "agentManager.review.fileCount": "{{count}} file", + "agentManager.review.replyCount": "{{count}} risposte", + "agentManager.review.showMore": "Mostra altri {{count}}", + "agentManager.review.showLess": "Mostra meno", "agentManager.review.clearAll": "Cancella tutto", "agentManager.review.commentOnLine": "Commenta la riga {{line}}", "agentManager.review.editCommentOnLine": "Modifica commento alla riga {{line}}", "agentManager.review.commentPlaceholder": "Lascia un commento...", "agentManager.review.commentAction": "Commenta", "agentManager.review.sendToChat": "Invia alla chat", - "agentManager.review.metaFile": "File", - "agentManager.review.metaLine": "Riga", - "agentManager.review.metaComment": "Commento utente", - "agentManager.review.metaAuthor": "Autore", "agentManager.pr.comment.title": "Commenti", "agentManager.pr.comment.unresolvedCount": "{{count}} non risolti", "agentManager.pr.comment.resolvedGroup": "Risolti ({{count}})", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ja.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ja.ts index 0c826fd823d..a7d194c44d2 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ja.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ja.ts @@ -185,18 +185,17 @@ export const dict = { "agentManager.review.sendAllToChatWithCount": "すべてをチャットに送信 ({{count}})", "agentManager.review.sendAllShortcut.mac": "⌘Enter", "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", - "agentManager.review.modalTitle": "レビューコメント", "agentManager.review.inlineCount": "レビューコメント ({{count}})", + "agentManager.review.fileCount": "{{count}} ファイル", + "agentManager.review.replyCount": "{{count}} 件の返信", + "agentManager.review.showMore": "さらに {{count}} 件を表示", + "agentManager.review.showLess": "表示を減らす", "agentManager.review.clearAll": "すべてクリア", "agentManager.review.commentOnLine": "{{line}} 行目にコメント", "agentManager.review.editCommentOnLine": "{{line}} 行目のコメントを編集", "agentManager.review.commentPlaceholder": "コメントを入力...", "agentManager.review.commentAction": "コメント", "agentManager.review.sendToChat": "チャットに送信", - "agentManager.review.metaFile": "ファイル", - "agentManager.review.metaLine": "行", - "agentManager.review.metaComment": "ユーザーコメント", - "agentManager.review.metaAuthor": "作成者", "agentManager.pr.comment.title": "コメント", "agentManager.pr.comment.unresolvedCount": "{{count}} 件未解決", "agentManager.pr.comment.resolvedGroup": "解決済み ({{count}})", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ko.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ko.ts index 249e55c3243..1ce70ff9438 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ko.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ko.ts @@ -183,18 +183,17 @@ export const dict = { "agentManager.review.sendAllToChatWithCount": "모두 채팅으로 보내기 ({{count}})", "agentManager.review.sendAllShortcut.mac": "⌘Enter", "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", - "agentManager.review.modalTitle": "리뷰 코멘트", "agentManager.review.inlineCount": "리뷰 코멘트 ({{count}})", + "agentManager.review.fileCount": "{{count}}개 파일", + "agentManager.review.replyCount": "{{count}}개 답글", + "agentManager.review.showMore": "{{count}}개 더 보기", + "agentManager.review.showLess": "간략히 보기", "agentManager.review.clearAll": "모두 지우기", "agentManager.review.commentOnLine": "{{line}}줄에 댓글", "agentManager.review.editCommentOnLine": "{{line}}줄 댓글 편집", "agentManager.review.commentPlaceholder": "댓글을 남기세요...", "agentManager.review.commentAction": "댓글", "agentManager.review.sendToChat": "채팅으로 보내기", - "agentManager.review.metaFile": "파일", - "agentManager.review.metaLine": "라인", - "agentManager.review.metaComment": "사용자 코멘트", - "agentManager.review.metaAuthor": "작성자", "agentManager.pr.comment.title": "댓글", "agentManager.pr.comment.unresolvedCount": "{{count}}개 미해결", "agentManager.pr.comment.resolvedGroup": "해결됨 ({{count}})", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/nl.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/nl.ts index f59e9a8c161..ce3621961cb 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/nl.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/nl.ts @@ -190,18 +190,17 @@ export const dict = { "agentManager.review.sendAllToChatWithCount": "Alles naar chat sturen ({{count}})", "agentManager.review.sendAllShortcut.mac": "⌘Enter", "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", - "agentManager.review.modalTitle": "Opmerking bekijken", "agentManager.review.inlineCount": "Opmerkingen bekijken ({{count}})", + "agentManager.review.fileCount": "{{count}} bestanden", + "agentManager.review.replyCount": "{{count}} antwoorden", + "agentManager.review.showMore": "{{count}} meer weergeven", + "agentManager.review.showLess": "Minder weergeven", "agentManager.review.clearAll": "Alles wissen", "agentManager.review.commentOnLine": "Opmerking op regel {{line}}", "agentManager.review.editCommentOnLine": "Opmerking op regel {{line}} bewerken", "agentManager.review.commentPlaceholder": "Laat een opmerking achter...", "agentManager.review.commentAction": "Opmerking", "agentManager.review.sendToChat": "Naar chat sturen", - "agentManager.review.metaFile": "Bestand", - "agentManager.review.metaLine": "Regel", - "agentManager.review.metaComment": "Gebruikersopmerking", - "agentManager.review.metaAuthor": "Auteur", "agentManager.pr.comment.title": "Opmerkingen", "agentManager.pr.comment.unresolvedCount": "{{count}} onopgelost", "agentManager.pr.comment.resolvedGroup": "Opgelost ({{count}})", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/no.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/no.ts index 509c3e3d934..4bf785cdb2a 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/no.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/no.ts @@ -182,18 +182,17 @@ export const dict = { "agentManager.review.sendAllToChatWithCount": "Send alt til chat ({{count}})", "agentManager.review.sendAllShortcut.mac": "⌘Enter", "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", - "agentManager.review.modalTitle": "Review-kommentar", "agentManager.review.inlineCount": "Review-kommentarer ({{count}})", + "agentManager.review.fileCount": "{{count}} filer", + "agentManager.review.replyCount": "{{count}} svar", + "agentManager.review.showMore": "Vis {{count}} flere", + "agentManager.review.showLess": "Vis færre", "agentManager.review.clearAll": "Fjern alle", "agentManager.review.commentOnLine": "Kommenter på linje {{line}}", "agentManager.review.editCommentOnLine": "Rediger kommentar på linje {{line}}", "agentManager.review.commentPlaceholder": "Legg igjen en kommentar...", "agentManager.review.commentAction": "Kommenter", "agentManager.review.sendToChat": "Send til chat", - "agentManager.review.metaFile": "Fil", - "agentManager.review.metaLine": "Linje", - "agentManager.review.metaComment": "Brukerkommentar", - "agentManager.review.metaAuthor": "Forfatter", "agentManager.pr.comment.title": "Kommentarer", "agentManager.pr.comment.unresolvedCount": "{{count}} uløste", "agentManager.pr.comment.resolvedGroup": "Løste ({{count}})", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/pl.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/pl.ts index bb7091f1897..fdd80989bf6 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/pl.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/pl.ts @@ -184,18 +184,17 @@ export const dict = { "agentManager.review.sendAllToChatWithCount": "Wyślij wszystko do czatu ({{count}})", "agentManager.review.sendAllShortcut.mac": "⌘Enter", "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", - "agentManager.review.modalTitle": "Komentarz do przeglądu", "agentManager.review.inlineCount": "Komentarze do przeglądu ({{count}})", + "agentManager.review.fileCount": "{{count}} plików", + "agentManager.review.replyCount": "{{count}} odpowiedzi", + "agentManager.review.showMore": "Pokaż {{count}} więcej", + "agentManager.review.showLess": "Pokaż mniej", "agentManager.review.clearAll": "Wyczyść wszystko", "agentManager.review.commentOnLine": "Skomentuj linię {{line}}", "agentManager.review.editCommentOnLine": "Edytuj komentarz do linii {{line}}", "agentManager.review.commentPlaceholder": "Zostaw komentarz...", "agentManager.review.commentAction": "Komentuj", "agentManager.review.sendToChat": "Wyślij do czatu", - "agentManager.review.metaFile": "Plik", - "agentManager.review.metaLine": "Linia", - "agentManager.review.metaComment": "Komentarz użytkownika", - "agentManager.review.metaAuthor": "Autor", "agentManager.pr.comment.title": "Komentarze", "agentManager.pr.comment.unresolvedCount": "{{count}} nierozwiązanych", "agentManager.pr.comment.resolvedGroup": "Rozwiązane ({{count}})", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ru.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ru.ts index b3b8c9f5ab1..a4acd68a8da 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ru.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ru.ts @@ -185,18 +185,17 @@ export const dict = { "agentManager.review.sendAllToChatWithCount": "Отправить всё в чат ({{count}})", "agentManager.review.sendAllShortcut.mac": "⌘Enter", "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", - "agentManager.review.modalTitle": "Комментарий к ревью", "agentManager.review.inlineCount": "Комментарии к ревью ({{count}})", + "agentManager.review.fileCount": "{{count}} файлов", + "agentManager.review.replyCount": "{{count}} ответов", + "agentManager.review.showMore": "Показать ещё {{count}}", + "agentManager.review.showLess": "Показать меньше", "agentManager.review.clearAll": "Очистить всё", "agentManager.review.commentOnLine": "Комментарий к строке {{line}}", "agentManager.review.editCommentOnLine": "Редактировать комментарий к строке {{line}}", "agentManager.review.commentPlaceholder": "Оставьте комментарий...", "agentManager.review.commentAction": "Комментировать", "agentManager.review.sendToChat": "Отправить в чат", - "agentManager.review.metaFile": "Файл", - "agentManager.review.metaLine": "Строка", - "agentManager.review.metaComment": "Комментарий пользователя", - "agentManager.review.metaAuthor": "Автор", "agentManager.pr.comment.title": "Комментарии", "agentManager.pr.comment.unresolvedCount": "{{count}} нерешённых", "agentManager.pr.comment.resolvedGroup": "Решённые ({{count}})", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/th.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/th.ts index 17fa6c98f42..dcf175133ef 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/th.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/th.ts @@ -179,18 +179,17 @@ export const dict = { "agentManager.review.sendAllToChatWithCount": "ส่งทั้งหมดไปยังแชท ({{count}})", "agentManager.review.sendAllShortcut.mac": "⌘Enter", "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", - "agentManager.review.modalTitle": "ความคิดเห็นการตรวจสอบ", "agentManager.review.inlineCount": "ความคิดเห็นการตรวจสอบ ({{count}})", + "agentManager.review.fileCount": "{{count}} ไฟล์", + "agentManager.review.replyCount": "{{count}} คำตอบ", + "agentManager.review.showMore": "แสดงเพิ่มอีก {{count}} รายการ", + "agentManager.review.showLess": "แสดงน้อยลง", "agentManager.review.clearAll": "ล้างทั้งหมด", "agentManager.review.commentOnLine": "แสดงความคิดเห็นที่บรรทัด {{line}}", "agentManager.review.editCommentOnLine": "แก้ไขความคิดเห็นที่บรรทัด {{line}}", "agentManager.review.commentPlaceholder": "แสดงความคิดเห็น...", "agentManager.review.commentAction": "แสดงความคิดเห็น", "agentManager.review.sendToChat": "ส่งไปยังแชท", - "agentManager.review.metaFile": "ไฟล์", - "agentManager.review.metaLine": "บรรทัด", - "agentManager.review.metaComment": "ความคิดเห็นของผู้ใช้", - "agentManager.review.metaAuthor": "ผู้เขียน", "agentManager.pr.comment.title": "ความคิดเห็น", "agentManager.pr.comment.unresolvedCount": "ยังไม่แก้ไข {{count}} รายการ", "agentManager.pr.comment.resolvedGroup": "แก้ไขแล้ว ({{count}})", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/tr.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/tr.ts index 9ba857cd163..f8ab2d8dffd 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/tr.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/tr.ts @@ -192,18 +192,17 @@ export const dict = { "agentManager.review.sendAllToChatWithCount": "Tümünü sohbete gönder ({{count}})", "agentManager.review.sendAllShortcut.mac": "⌘Enter", "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", - "agentManager.review.modalTitle": "Yorumu gözden geçir", "agentManager.review.inlineCount": "Yorumları gözden geçir ({{count}})", + "agentManager.review.fileCount": "{{count}} dosya", + "agentManager.review.replyCount": "{{count}} yanıt", + "agentManager.review.showMore": "{{count}} tane daha göster", + "agentManager.review.showLess": "Daha az göster", "agentManager.review.clearAll": "Tümünü temizle", "agentManager.review.commentOnLine": "{{line}}. satıra yorum yap", "agentManager.review.editCommentOnLine": "{{line}}. satırdaki yorumu düzenle", "agentManager.review.commentPlaceholder": "Bir yorum bırakın...", "agentManager.review.commentAction": "Yorum Yap", "agentManager.review.sendToChat": "Sohbete gönder", - "agentManager.review.metaFile": "Dosya", - "agentManager.review.metaLine": "Satır", - "agentManager.review.metaComment": "Kullanıcı yorumu", - "agentManager.review.metaAuthor": "Yazar", "agentManager.pr.comment.title": "Yorumlar", "agentManager.pr.comment.unresolvedCount": "{{count}} çözülmemiş", "agentManager.pr.comment.resolvedGroup": "Çözüldü ({{count}})", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/uk.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/uk.ts index d2ad3fa90bb..44892d08d5b 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/uk.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/uk.ts @@ -193,18 +193,17 @@ export const dict = { "agentManager.review.sendAllToChatWithCount": "Надіслати все до чату ({{count}})", "agentManager.review.sendAllShortcut.mac": "⌘Enter", "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", - "agentManager.review.modalTitle": "Перегляд коментаря", "agentManager.review.inlineCount": "Переглянути коментарі ({{count}})", + "agentManager.review.fileCount": "{{count}} файлів", + "agentManager.review.replyCount": "{{count}} відповідей", + "agentManager.review.showMore": "Показати ще {{count}}", + "agentManager.review.showLess": "Показати менше", "agentManager.review.clearAll": "Очистити все", "agentManager.review.commentOnLine": "Коментар до рядка {{line}}", "agentManager.review.editCommentOnLine": "Редагувати коментар до рядка {{line}}", "agentManager.review.commentPlaceholder": "Залишити коментар...", "agentManager.review.commentAction": "Коментувати", "agentManager.review.sendToChat": "Надіслати до чату", - "agentManager.review.metaFile": "Файл", - "agentManager.review.metaLine": "Рядок", - "agentManager.review.metaComment": "Коментар користувача", - "agentManager.review.metaAuthor": "Автор", "agentManager.pr.comment.title": "Коментарі", "agentManager.pr.comment.unresolvedCount": "{{count}} невирішених", "agentManager.pr.comment.resolvedGroup": "Вирішено ({{count}})", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/zh.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/zh.ts index 809f19636f7..681df107128 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/zh.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/zh.ts @@ -177,18 +177,17 @@ export const dict = { "agentManager.review.sendAllToChatWithCount": "全部发送到聊天 ({{count}})", "agentManager.review.sendAllShortcut.mac": "⌘Enter", "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", - "agentManager.review.modalTitle": "审查评论", "agentManager.review.inlineCount": "审查评论 ({{count}})", + "agentManager.review.fileCount": "{{count}} 个文件", + "agentManager.review.replyCount": "{{count}} 条回复", + "agentManager.review.showMore": "显示更多 {{count}} 条", + "agentManager.review.showLess": "显示更少", "agentManager.review.clearAll": "全部清除", "agentManager.review.commentOnLine": "在第 {{line}} 行评论", "agentManager.review.editCommentOnLine": "编辑第 {{line}} 行评论", "agentManager.review.commentPlaceholder": "留下评论...", "agentManager.review.commentAction": "评论", "agentManager.review.sendToChat": "发送到聊天", - "agentManager.review.metaFile": "文件", - "agentManager.review.metaLine": "行", - "agentManager.review.metaComment": "用户评论", - "agentManager.review.metaAuthor": "作者", "agentManager.pr.comment.title": "评论", "agentManager.pr.comment.unresolvedCount": "{{count}} 个未解决", "agentManager.pr.comment.resolvedGroup": "已解决 ({{count}})", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/zht.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/zht.ts index 6d0c5c0beb9..020ebef1649 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/zht.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/zht.ts @@ -177,18 +177,17 @@ export const dict = { "agentManager.review.sendAllToChatWithCount": "全部傳送到聊天 ({{count}})", "agentManager.review.sendAllShortcut.mac": "⌘Enter", "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", - "agentManager.review.modalTitle": "審查評論", "agentManager.review.inlineCount": "審查評論 ({{count}})", + "agentManager.review.fileCount": "{{count}} 個檔案", + "agentManager.review.replyCount": "{{count}} 則回覆", + "agentManager.review.showMore": "顯示更多 {{count}} 則", + "agentManager.review.showLess": "顯示更少", "agentManager.review.clearAll": "全部清除", "agentManager.review.commentOnLine": "在第 {{line}} 行留言", "agentManager.review.editCommentOnLine": "編輯第 {{line}} 行留言", "agentManager.review.commentPlaceholder": "留下留言...", "agentManager.review.commentAction": "留言", "agentManager.review.sendToChat": "傳送到聊天", - "agentManager.review.metaFile": "檔案", - "agentManager.review.metaLine": "行", - "agentManager.review.metaComment": "使用者評論", - "agentManager.review.metaAuthor": "作者", "agentManager.pr.comment.title": "留言", "agentManager.pr.comment.unresolvedCount": "{{count}} 個未解決", "agentManager.pr.comment.resolvedGroup": "已解決 ({{count}})", diff --git a/packages/kilo-vscode/webview-ui/src/components/chat/ReviewComments.tsx b/packages/kilo-vscode/webview-ui/src/components/chat/ReviewComments.tsx index 56412887c4a..688425414a8 100644 --- a/packages/kilo-vscode/webview-ui/src/components/chat/ReviewComments.tsx +++ b/packages/kilo-vscode/webview-ui/src/components/chat/ReviewComments.tsx @@ -1,11 +1,9 @@ -import { For, Show, type Component } from "solid-js" +import { For, Show, createMemo, createSignal, type Component } from "solid-js" import { Button } from "@kilocode/kilo-ui/button" -import { Dialog } from "@kilocode/kilo-ui/dialog" import { Icon } from "@kilocode/kilo-ui/icon" import { IconButton } from "@kilocode/kilo-ui/icon-button" import { Markdown } from "@kilocode/kilo-ui/markdown" import { Tooltip } from "@kilocode/kilo-ui/tooltip" -import { useDialog } from "@kilocode/kilo-ui/context/dialog" import { isPRReviewComment } from "../../../../src/shared/review-comments" import { useLanguage } from "../../context/language" import { useVSCode } from "../../context/vscode" @@ -20,94 +18,52 @@ interface ReviewCommentsProps { onClear?: () => void } +/** Rows rendered before the "show more" toggle takes over. */ +const PREVIEW = 3 +/** Rows after which the expanded list becomes internally scrollable. */ +const SCROLL = 6 + export const ReviewComments: Component = (props) => { const language = useLanguage() const vscode = useVSCode() - const dialog = useDialog() + const [open, setOpen] = createSignal(true) + const [all, setAll] = createSignal(false) + const [full, setFull] = createSignal([]) + const author = (item: ReviewCommentEntry) => (isPRReviewComment(item) ? item.author : "") const side = (item: ReviewCommentEntry) => (isPRReviewComment(item) ? "" : item.side === "deletions" ? "-" : "+") const line = (item: ReviewCommentEntry) => (item.line ? `${side(item)}${item.line}` : "") const body = (item: ReviewCommentEntry) => (isPRReviewComment(item) ? item.body : item.comment) const snippet = (item: ReviewCommentEntry) => (isPRReviewComment(item) ? item.diffHunk : item.selectedText) const label = (item: ReviewCommentEntry) => (item.file ? fileName(item.file) : `@${author(item)}`) - const title = (item: ReviewCommentEntry) => { - const at = line(item) - return at ? `${label(item)} ${at}` : label(item) - } + const replies = (item: ReviewCommentEntry) => (isPRReviewComment(item) ? (item.replies ?? []) : []) + const outdated = (item: ReviewCommentEntry) => isPRReviewComment(item) && item.outdated === true - const open = (item: ReviewCommentEntry) => { + const files = createMemo(() => new Set(props.comments.filter((item) => item.file).map((item) => item.file)).size) + // Collapsing a single extra row is not worth a toggle, so only hide from two up. + const hidden = createMemo(() => (props.comments.length > PREVIEW + 1 ? props.comments.length - PREVIEW : 0)) + const rows = createMemo(() => (hidden() > 0 && !all() ? props.comments.slice(0, PREVIEW) : props.comments)) + + const toggle = (id: string) => + setFull((prev) => (prev.includes(id) ? prev.filter((entry) => entry !== id) : [...prev, id])) + + const reveal = (item: ReviewCommentEntry) => { if (!item.file) return + // An outdated PR thread is anchored to a line that has since moved, so + // jumping there lands on unrelated code. Open the file at the top instead. + const at = outdated(item) ? undefined : item.line const event = new CustomEvent("kilo:open-file", { cancelable: true, - detail: { filePath: item.file, line: item.line, column: 1, sessionID: props.sessionID }, + detail: { filePath: item.file, line: at, column: 1, sessionID: props.sessionID }, }) if (window.dispatchEvent(event)) vscode.postMessage({ type: "openFile", filePath: item.file, - line: item.line, + line: at, column: 1, sessionID: props.sessionID, }) - dialog.close() - } - - const show = (item: ReviewCommentEntry) => { - dialog.show(() => ( - -
-
- {title(item)} - - - open(item)} - /> - - -
- -
- - {(login) => ( - <> - {language.t("agentManager.review.metaAuthor")} - @{login()} - - )} - - - {(file) => ( - <> - {language.t("agentManager.review.metaFile")} - {file()} - - )} - - - {(value) => ( - <> - {language.t("agentManager.review.metaLine")} - L{value()} - - )} - - {language.t("agentManager.review.metaComment")} - - - - - -
- - {(value) =>
{value()}
}
-
-
- )) } return ( @@ -117,48 +73,125 @@ export const ReviewComments: Component = (props) => { data-component="review-comments" >
- - {language.t("agentManager.review.inlineCount", { count: props.comments.length })} - +
-
- - {(item) => ( -
- - - - -
- )} -
-
+ + + + reveal(item)} + /> + + + + + + + + +
+ {(file) => {file()}} +
+ + + +
+ + {(value) =>
{value()}
} +
+ + {(reply) => ( +
+ @{reply.author} +
+ +
+
+ )} +
+
+
+ + )} + + + + 0}> + + + ) } diff --git a/packages/kilo-vscode/webview-ui/src/stories/chat.stories.tsx b/packages/kilo-vscode/webview-ui/src/stories/chat.stories.tsx index 021d5e8f8bf..f2895b92416 100644 --- a/packages/kilo-vscode/webview-ui/src/stories/chat.stories.tsx +++ b/packages/kilo-vscode/webview-ui/src/stories/chat.stories.tsx @@ -30,6 +30,7 @@ import type { Part, QuestionRequest, ReviewComment, + ReviewCommentEntry, SessionModelUsage, SuggestionRequest, TodoItem, @@ -236,6 +237,29 @@ export const ChatViewSessionDockStability: Story = { }, } +/** Builds the user message a review-comment send produces: markdown prefix + review metadata. */ +function reviewMessage(comments: ReviewCommentEntry[]) { + const prefix = formatReviewCommentsMarkdown(comments) + const message: Message = { + id: "review-user-message", + sessionID: SESSION_ID, + role: "user", + createdAt: new Date(0).toISOString(), + time: { created: 0 }, + } + const parts: Part[] = [ + { + id: "review-user-part", + sessionID: SESSION_ID, + messageID: message.id, + type: "text", + text: `${prefix}\n\nPlease address these review comments.`, + metadata: reviewMetadata({ version: 1, comments }), + }, + ] + return +} + export const UserMessageReviewComments: Story = { name: "User message — interactive review comments", render: () => { @@ -253,36 +277,65 @@ export const UserMessageReviewComments: Story = { file: "resources/messages/KiloBundle_bs.properties", side: "deletions", line: 235, - comment: "Translate the modified setting description.", + comment: + "Translate the modified setting description. The Bosnian bundle still ships the English sentence, so the settings panel shows mixed languages for anyone running a localized IDE.", selectedText: "settings.models.smallModel.description=The lightweight model used for quick tasks.", }, ] - const prefix = formatReviewCommentsMarkdown(comments) - const text = `${prefix}\n\nPlease address these review comments.` - const review = { version: 1 as const, comments } - const message: Message = { - id: "review-user-message", - sessionID: SESSION_ID, - role: "user", - createdAt: new Date(0).toISOString(), - time: { created: 0 }, - } - const parts: Part[] = [ - { - id: "review-user-part", - sessionID: SESSION_ID, - messageID: message.id, - type: "text", - text, - metadata: reviewMetadata(review), - }, - ] return ( -
- -
+
{reviewMessage(comments)}
+
+ ) + }, +} + +/** + * Many review comments at once, mixing local diff comments and imported GitHub + * PR threads. Locks in the collapsed preview + "show more" behavior so a large + * paste cannot take over the transcript. + */ +export const UserMessageManyReviewComments: Story = { + name: "User message — many review comments", + render: () => { + const local: ReviewCommentEntry[] = Array.from({ length: 6 }, (_, index) => ({ + id: `local-${index}`, + file: `src/agent-manager/handlers/worktree-${index}.ts`, + side: index % 2 === 0 ? "additions" : "deletions", + line: 40 + index * 17, + comment: `Guard the ${index % 2 === 0 ? "apply" : "discard"} path against a missing worktree before touching git.`, + selectedText: `const worktree = state.worktrees[${index}]`, + })) + const pr: ReviewCommentEntry[] = [ + { + id: "pr-1", + origin: "pr", + author: "octocat", + body: "This reuses the shared helper, but it drops the `directory` argument, so the request resolves against the workspace root instead of the worktree.", + file: "src/services/cli-backend/http-client.ts", + line: 212, + diffHunk: + "@@ -210,6 +210,8 @@\n- return client.session.messages({ id })\n+ return client.session.messages({ id, directory })", + replies: [ + { author: "hubot", body: "Agreed. `directory` should be required here." }, + { author: "octocat", body: "Pushed a fixup." }, + ], + }, + { + id: "pr-2", + origin: "pr", + author: "hubot", + body: "Outdated: this line moved in the latest push.", + file: "src/KiloProvider.ts", + line: 3870, + outdated: true, + }, + ] + + return ( + +
{reviewMessage([...pr, ...local])}
) }, diff --git a/packages/kilo-vscode/webview-ui/src/styles/high-contrast.css b/packages/kilo-vscode/webview-ui/src/styles/high-contrast.css index a032dede655..48dbd1075d7 100644 --- a/packages/kilo-vscode/webview-ui/src/styles/high-contrast.css +++ b/packages/kilo-vscode/webview-ui/src/styles/high-contrast.css @@ -11,7 +11,7 @@ body.vscode-high-contrast-light { .feedback-button, .startup-error-retry, .image-attachment-remove, - .prompt-review-chip-remove, + .prompt-review-row-remove, .session-tab-bar .am-tab-close, [data-slot="question-progress-nav"], [data-slot="question-collapse-toggle"] { @@ -100,8 +100,8 @@ body.vscode-high-contrast-light { border-color: var(--vscode-contrastBorder, transparent) !important; } - /* Prompt review chips */ - .prompt-review-chip { + /* Prompt review rows */ + .prompt-review-row { border-color: var(--vscode-contrastBorder, var(--vscode-input-border)); } diff --git a/packages/kilo-vscode/webview-ui/src/styles/prompt-input.css b/packages/kilo-vscode/webview-ui/src/styles/prompt-input.css index a04824a38f1..cd440fc2670 100644 --- a/packages/kilo-vscode/webview-ui/src/styles/prompt-input.css +++ b/packages/kilo-vscode/webview-ui/src/styles/prompt-input.css @@ -55,12 +55,45 @@ padding: 0; } +.prompt-review-comments-toggle { + all: unset; + display: flex; + align-items: center; + gap: 4px; + min-width: 0; + flex: 1; + overflow: hidden; + cursor: pointer; + color: var(--text-weak, var(--vscode-descriptionForeground)); +} + +.prompt-review-comments-toggle:focus-visible { + outline: 1px solid var(--border-focus, var(--vscode-focusBorder)); + border-radius: 4px; +} + .prompt-review-comments-title { + flex-shrink: 0; font-size: var(--kilo-font-size-11); font-weight: 600; color: var(--vscode-foreground); } +/* The file summary is the first thing to give up room in a narrow sidebar. */ +.prompt-review-comments-meta { + min-width: 0; + font-size: var(--kilo-font-size-10); + color: var(--text-weaker, var(--vscode-descriptionForeground)); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.prompt-review-comments-meta::before { + content: "·"; + margin-right: 4px; +} + .prompt-review-comments-header [data-component="button"] { min-height: 20px; height: 20px; @@ -68,53 +101,48 @@ font-size: var(--kilo-font-size-10); } -.prompt-review-chip-list { - display: grid; - grid-template-columns: repeat(2, minmax(0, 280px)); - gap: 6px; - max-height: 124px; - overflow: auto; - align-content: start; - justify-content: start; - padding: 0; -} - -.prompt-review-chip { - display: grid; - grid-template-columns: minmax(0, 1fr) auto; - align-items: center; - border: 1px solid var(--vscode-input-border, var(--vscode-panel-border)); - border-radius: 6px; - background: var(--vscode-editor-background, rgba(127, 127, 127, 0.08)); - min-width: 0; -} - -.prompt-review-chip-body { - all: unset; +.prompt-review-list { display: flex; - align-items: center; - gap: 6px; - width: 100%; + flex-direction: column; + gap: 4px; min-width: 0; - box-sizing: border-box; - padding: 6px; - cursor: pointer; } -.prompt-review-chip:hover { - border-color: var(--border-focus, var(--vscode-focusBorder)); +.prompt-review-list--scroll { + max-height: 320px; + overflow: auto; } -.prompt-review-chip-body:focus-visible { - outline: 1px solid var(--border-focus, var(--vscode-focusBorder)); +.prompt-review-row { + display: flex; + flex-direction: column; + border: 1px solid transparent; border-radius: 6px; + background: var(--surface-inset-base, rgba(127, 127, 127, 0.08)); + min-width: 0; } -.prompt-review-chip-icon { - width: 20px; - height: 20px; +.prompt-review-row:hover { + border-color: var(--border-weak-base, var(--vscode-panel-border)); +} + +.prompt-review-row--full { + border-color: var(--border-weak-base, var(--vscode-panel-border)); + background: var(--vscode-editor-background, rgba(127, 127, 127, 0.12)); +} + +.prompt-review-row-top { + display: flex; + align-items: flex-start; + gap: 6px; + min-width: 0; + padding: 6px; +} + +.prompt-review-row-icon { + width: 18px; + height: 18px; border-radius: 5px; - background: var(--surface-inset-base, rgba(127, 127, 127, 0.12)); color: var(--text-weak, var(--vscode-descriptionForeground)); display: flex; align-items: center; @@ -122,21 +150,29 @@ flex-shrink: 0; } -.prompt-review-chip-copy { - min-width: 0; +.prompt-review-row-main { + all: unset; display: flex; flex-direction: column; + gap: 2px; + flex: 1; + min-width: 0; + cursor: pointer; } -.prompt-review-chip-main { +.prompt-review-row-main:focus-visible { + outline: 1px solid var(--border-focus, var(--vscode-focusBorder)); + border-radius: 4px; +} + +.prompt-review-row-head { display: flex; align-items: center; gap: 6px; min-width: 0; } -.prompt-review-chip-title { - flex: 1; +.prompt-review-row-label { min-width: 0; font-size: var(--kilo-font-size-10); font-weight: 600; @@ -146,17 +182,117 @@ text-overflow: ellipsis; } -.prompt-review-chip-line { +.prompt-review-row-line, +.prompt-review-row-author { flex-shrink: 0; font-size: var(--kilo-font-size-10); font-weight: 600; color: var(--text-weak, var(--vscode-descriptionForeground)); } -.prompt-review-chip-remove { - margin-right: 4px; - width: 14px; - height: 14px; +.prompt-review-row-badge { + flex-shrink: 0; + padding: 0 4px; + border-radius: 4px; + background: var(--surface-inset-base-hover, rgba(127, 127, 127, 0.2)); + font-size: var(--kilo-font-size-10); + color: var(--text-weak, var(--vscode-descriptionForeground)); + white-space: nowrap; +} + +.prompt-review-row-preview { + font-size: var(--kilo-font-size-11); + line-height: 1.35; + color: var(--vscode-foreground); + display: -webkit-box; + -webkit-line-clamp: 2; + line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + overflow-wrap: anywhere; + text-align: start; + white-space: pre-wrap; +} + +.prompt-review-row-detail { + display: flex; + flex-direction: column; + gap: 6px; + padding: 0 6px 6px 30px; + min-width: 0; +} + +.prompt-review-row-path { + font-family: var(--vscode-editor-font-family, var(--vscode-font-family)); + font-size: var(--kilo-font-size-10); + color: var(--text-weaker, var(--vscode-descriptionForeground)); + overflow-wrap: anywhere; +} + +.prompt-review-row-text { + font-size: var(--kilo-font-size-11); + line-height: 1.4; + color: var(--vscode-foreground); + white-space: pre-wrap; + overflow-wrap: anywhere; +} + +/* Markdown bodies are authored for full-width panels; keep them compact here. + Flex on the root also drops the whitespace line box the renderer emits. */ +.prompt-review-row-text [data-component="markdown"] { + display: flex; + flex-direction: column; + gap: 4px; + font-size: var(--kilo-font-size-11); + line-height: 1.4; +} + +.prompt-review-row-text :where(p, ul, ol, pre, blockquote, h1, h2, h3, h4, h5, h6) { + margin: 0 0 4px; + font-size: inherit; + line-height: inherit; +} + +.prompt-review-row-text :where(p, ul, ol, pre, blockquote, h1, h2, h3, h4, h5, h6):last-child { + margin-bottom: 0; +} + +.prompt-review-row-text :where(code) { + font-size: var(--kilo-font-size-10); +} + +.prompt-review-row-snippet { + margin: 0; + padding: 6px 8px; + border-radius: 6px; + border: 1px solid var(--vscode-panel-border); + background: var(--vscode-textCodeBlock-background, rgba(127, 127, 127, 0.12)); + font-family: var(--vscode-editor-font-family, var(--vscode-font-family)); + font-size: var(--kilo-font-size-10); + line-height: 1.35; + max-height: 160px; + overflow: auto; + white-space: pre-wrap; + overflow-wrap: anywhere; +} + +.prompt-review-row-reply { + display: flex; + flex-direction: column; + gap: 2px; + padding-left: 8px; + border-left: 2px solid var(--border-weak-base, var(--vscode-panel-border)); + min-width: 0; +} + +.prompt-review-row-reply .prompt-review-row-author { + align-self: flex-start; +} + +.prompt-review-row-remove { + width: 16px; + height: 16px; + flex-shrink: 0; border: none; border-radius: 999px; background: var(--surface-inset-base, rgba(127, 127, 127, 0.16)); @@ -170,91 +306,32 @@ padding: 0; } -.prompt-review-chip-remove:hover { +.prompt-review-row-remove:hover { color: var(--vscode-foreground); background: var(--surface-inset-base-hover, rgba(127, 127, 127, 0.24)); } -.prompt-review-chip-remove:focus-visible { +.prompt-review-row-remove:focus-visible { outline: 1px solid var(--border-focus, var(--vscode-focusBorder)); } -.prompt-review-modal { - display: flex; - flex-direction: column; - gap: 10px; - padding: 0 20px 10px; - min-width: 360px; - max-width: 600px; -} - -.prompt-review-modal-head { - display: flex; - align-items: center; - justify-content: space-between; - gap: 8px; -} - -.prompt-review-modal-headline { - font-size: var(--font-size-base); +.prompt-review-more { + all: unset; + align-self: flex-start; + padding: 2px 4px; + border-radius: 4px; + font-size: var(--kilo-font-size-10); font-weight: 600; + color: var(--text-weak, var(--vscode-descriptionForeground)); + cursor: pointer; +} + +.prompt-review-more:hover { color: var(--vscode-foreground); } -.prompt-review-modal-grid { - display: grid; - grid-template-columns: auto 1fr; - gap: 6px 12px; - align-items: flex-start; -} - -.prompt-review-modal-label { - font-size: var(--kilo-font-size-10); - text-transform: uppercase; - letter-spacing: 0.3px; - color: var(--text-weaker, var(--vscode-descriptionForeground)); - white-space: nowrap; -} - -.prompt-review-modal-value { - margin: 0; - min-width: 0; - font-size: var(--kilo-font-size-11); - line-height: 1.35; - color: var(--vscode-foreground); - white-space: pre-wrap; - word-break: break-word; -} - -.prompt-review-modal-grid code.prompt-review-modal-value { - font-family: var(--vscode-editor-font-family, var(--vscode-font-family)); -} - -.prompt-review-modal-snippet { - margin: 0; - padding: 6px 8px; - border-radius: 6px; - border: 1px solid var(--vscode-panel-border); - background: var(--vscode-textCodeBlock-background, rgba(127, 127, 127, 0.12)); - font-family: var(--vscode-editor-font-family, var(--vscode-font-family)); - font-size: var(--kilo-font-size-10); - line-height: 1.35; - max-height: 120px; - overflow: auto; - white-space: pre-wrap; - word-break: break-word; -} - -@media (max-width: 700px) { - .prompt-review-chip-list { - grid-template-columns: 1fr; - } - - .prompt-review-modal { - min-width: min(360px, calc(100vw - 32px)); - max-width: calc(100vw - 24px); - padding: 0 16px 10px; - } +.prompt-review-more:focus-visible { + outline: 1px solid var(--border-focus, var(--vscode-focusBorder)); } /* Image Attachments */ From 693624c306d866303df95ac2f74a960f95baae54 Mon Sep 17 00:00:00 2001 From: marius-kilocode Date: Mon, 24 Aug 2026 11:14:27 +0200 Subject: [PATCH 2/7] fix(vscode): open source files in native editor --- .changeset/rendered-document-inspector.md | 2 +- .../unit/agent-manager-documents.test.ts | 38 ++++++++++++++++++- .../diff-viewer/MarkdownAnnotationLayer.tsx | 6 +-- .../kilo-vscode/webview-ui/documents/state.ts | 16 +++++--- 4 files changed, 52 insertions(+), 10 deletions(-) diff --git a/.changeset/rendered-document-inspector.md b/.changeset/rendered-document-inspector.md index a625b494b3a..90049a34913 100644 --- a/.changeset/rendered-document-inspector.md +++ b/.changeset/rendered-document-inspector.md @@ -2,4 +2,4 @@ "kilo-code": minor --- -Add an Agent Manager document inspector that previews Markdown and text files, with inline Markdown review comments that can be sent to the agent. +Add an Agent Manager document inspector that previews Markdown files with inline review comments that can be sent to the agent, while source files open in the VS Code editor. diff --git a/packages/kilo-vscode/tests/unit/agent-manager-documents.test.ts b/packages/kilo-vscode/tests/unit/agent-manager-documents.test.ts index 4d73a993e95..aeeaeccc52f 100644 --- a/packages/kilo-vscode/tests/unit/agent-manager-documents.test.ts +++ b/packages/kilo-vscode/tests/unit/agent-manager-documents.test.ts @@ -1,6 +1,11 @@ import { describe, expect, it } from "bun:test" import { createRoot, createSignal } from "solid-js" -import { createDocumentComments, createDocuments } from "../../webview-ui/documents/state" +import { + createDocumentComments, + createDocuments, + handleDocumentOpen, + isMarkdownPath, +} from "../../webview-ui/documents/state" import type { AgentManagerDocumentMessage } from "../../webview-ui/src/types/messages" describe("Agent Manager document state", () => { @@ -69,4 +74,35 @@ describe("Agent Manager document state", () => { dispose() }) }) + + it("keeps Markdown in the document inspector and opens source files in VS Code", () => { + expect(isMarkdownPath(".kilo/plans/feature.md")).toBe(true) + expect(isMarkdownPath("docs/architecture.MDX")).toBe(true) + expect(isMarkdownPath("src/index.ts")).toBe(false) + + const opened: unknown[] = [] + const native: unknown[] = [] + const markdown = new CustomEvent("kilo:open-file", { + cancelable: true, + detail: { filePath: ".kilo/plans/feature.md", sessionID: "wt-a", line: 4, column: 2 }, + }) + handleDocumentOpen(markdown, (...args) => { + opened.push(args) + return true + }) + expect(markdown.defaultPrevented).toBe(true) + expect(opened).toEqual([[".kilo/plans/feature.md", "wt-a", 4, 2]]) + + const source = new CustomEvent("kilo:open-file", { + cancelable: true, + detail: { filePath: "src/index.ts", sessionID: "wt-a", line: 8, column: 3 }, + }) + handleDocumentOpen( + source, + () => false, + (...args) => native.push(args), + ) + expect(source.defaultPrevented).toBe(true) + expect(native).toEqual([["src/index.ts", 8, 3, "wt-a"]]) + }) }) diff --git a/packages/kilo-vscode/webview-ui/diff-viewer/MarkdownAnnotationLayer.tsx b/packages/kilo-vscode/webview-ui/diff-viewer/MarkdownAnnotationLayer.tsx index 70324d1ca00..317baff475b 100644 --- a/packages/kilo-vscode/webview-ui/diff-viewer/MarkdownAnnotationLayer.tsx +++ b/packages/kilo-vscode/webview-ui/diff-viewer/MarkdownAnnotationLayer.tsx @@ -199,14 +199,14 @@ export const MarkdownAnnotationLayer: Component = }) createEffect(() => { - const root = props.root() - if (!root) return + const pane = props.pane() + if (!pane) return observer?.disconnect() observer = new MutationObserver((mutations) => { if (mutations.every(isAnnotationMutation)) return schedule() }) - observer.observe(root, { childList: true, subtree: true }) + observer.observe(pane, { childList: true, subtree: true }) }) onCleanup(() => { diff --git a/packages/kilo-vscode/webview-ui/documents/state.ts b/packages/kilo-vscode/webview-ui/documents/state.ts index c78307898cc..6df50c90204 100644 --- a/packages/kilo-vscode/webview-ui/documents/state.ts +++ b/packages/kilo-vscode/webview-ui/documents/state.ts @@ -175,8 +175,11 @@ export function createDocumentInspector( openPanel() return true } + const openFile = (file: string, line?: number, column?: number, sessionId = context()) => { + if (sessionId) vscode.postMessage({ type: "agentManager.openFile", sessionId, filePath: file, line, column }) + } onMount(() => { - const handler = (event: Event) => handleDocumentOpen(event, open) + const handler = (event: Event) => handleDocumentOpen(event, open, openFile) const message = vscode.onMessage((item) => { if (item.type === "document.result" || item.type === "agentManager.document") documents.onMessage(item) }) @@ -191,10 +194,6 @@ export function createDocumentInspector( // Tabs are keyed per worktree, so this hides itself on a worktree with none, // and stays visible while the panel is open so it can still be toggled shut. const available = () => documents.tabs().length > 0 || isOpen() - const openFile = (file: string, line?: number, column?: number) => { - const sessionId = context() - if (sessionId) vscode.postMessage({ type: "agentManager.openFile", sessionId, filePath: file, line, column }) - } const toggle = () => (isOpen() ? closePanel() : open()) return { documents, comments, open, openFile, toggle, available, isOpen, scope } } @@ -202,6 +201,7 @@ export function createDocumentInspector( export function handleDocumentOpen( event: Event, open: (file: string, sessionId?: string, line?: number, column?: number) => boolean, + openFile?: (file: string, line?: number, column?: number, sessionId?: string) => void, ): void { const detail = (event as CustomEvent<{ filePath?: unknown; sessionID?: unknown; line?: unknown; column?: unknown }>) .detail @@ -210,5 +210,11 @@ export function handleDocumentOpen( const sessionId = typeof detail.sessionID === "string" ? detail.sessionID : undefined const line = typeof detail.line === "number" ? detail.line : undefined const column = typeof detail.column === "number" ? detail.column : undefined + if (!isMarkdownPath(file)) { + if (!openFile) return + openFile(file, line, column, sessionId) + event.preventDefault() + return + } if (open(file, sessionId, line, column)) event.preventDefault() } From 824b0837d37979acff0c6b19c3dc30da594a5950 Mon Sep 17 00:00:00 2001 From: marius-kilocode Date: Mon, 24 Aug 2026 13:32:42 +0200 Subject: [PATCH 3/7] fix(vscode): remove unsupported review replies --- .../webview-ui/agent-manager/i18n/ar.ts | 1 - .../webview-ui/agent-manager/i18n/br.ts | 1 - .../webview-ui/agent-manager/i18n/bs.ts | 1 - .../webview-ui/agent-manager/i18n/da.ts | 1 - .../webview-ui/agent-manager/i18n/de.ts | 1 - .../webview-ui/agent-manager/i18n/en.ts | 1 - .../webview-ui/agent-manager/i18n/es.ts | 1 - .../webview-ui/agent-manager/i18n/fa.ts | 1 - .../webview-ui/agent-manager/i18n/fr.ts | 1 - .../webview-ui/agent-manager/i18n/it.ts | 1 - .../webview-ui/agent-manager/i18n/ja.ts | 1 - .../webview-ui/agent-manager/i18n/ko.ts | 1 - .../webview-ui/agent-manager/i18n/nl.ts | 1 - .../webview-ui/agent-manager/i18n/no.ts | 1 - .../webview-ui/agent-manager/i18n/pl.ts | 1 - .../webview-ui/agent-manager/i18n/ru.ts | 1 - .../webview-ui/agent-manager/i18n/th.ts | 1 - .../webview-ui/agent-manager/i18n/tr.ts | 1 - .../webview-ui/agent-manager/i18n/uk.ts | 1 - .../webview-ui/agent-manager/i18n/zh.ts | 1 - .../webview-ui/agent-manager/i18n/zht.ts | 1 - .../src/components/chat/ReviewComments.tsx | 16 ---------------- .../webview-ui/src/stories/chat.stories.tsx | 4 ---- .../webview-ui/src/styles/prompt-input.css | 13 ------------- 24 files changed, 54 deletions(-) diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ar.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ar.ts index 2f0d7c4d5d6..5824f4d8d21 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ar.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ar.ts @@ -183,7 +183,6 @@ export const dict = { "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", "agentManager.review.inlineCount": "تعليقات المراجعة ({{count}})", "agentManager.review.fileCount": "{{count}} ملفًا", - "agentManager.review.replyCount": "{{count}} ردًا", "agentManager.review.showMore": "إظهار {{count}} أخرى", "agentManager.review.showLess": "إظهار أقل", "agentManager.review.clearAll": "مسح الكل", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/br.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/br.ts index 373bb922ba3..035617a1a9b 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/br.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/br.ts @@ -186,7 +186,6 @@ export const dict = { "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", "agentManager.review.inlineCount": "Comentários de revisão ({{count}})", "agentManager.review.fileCount": "{{count}} arquivos", - "agentManager.review.replyCount": "{{count}} respostas", "agentManager.review.showMore": "Mostrar mais {{count}}", "agentManager.review.showLess": "Mostrar menos", "agentManager.review.clearAll": "Limpar tudo", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/bs.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/bs.ts index e7708978e5c..0c4181e4da1 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/bs.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/bs.ts @@ -186,7 +186,6 @@ export const dict = { "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", "agentManager.review.inlineCount": "Komentari pregleda ({{count}})", "agentManager.review.fileCount": "{{count}} datoteka", - "agentManager.review.replyCount": "{{count}} odgovora", "agentManager.review.showMore": "Prikaži još {{count}}", "agentManager.review.showLess": "Prikaži manje", "agentManager.review.clearAll": "Očisti sve", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/da.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/da.ts index 86e88760cd8..56d2f81a71b 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/da.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/da.ts @@ -187,7 +187,6 @@ export const dict = { "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", "agentManager.review.inlineCount": "Review-kommentarer ({{count}})", "agentManager.review.fileCount": "{{count}} filer", - "agentManager.review.replyCount": "{{count}} svar", "agentManager.review.showMore": "Vis {{count}} mere", "agentManager.review.showLess": "Vis mindre", "agentManager.review.clearAll": "Ryd alle", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/de.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/de.ts index f6949629b41..cf2c838228c 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/de.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/de.ts @@ -188,7 +188,6 @@ export const dict = { "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", "agentManager.review.inlineCount": "Review-Kommentare ({{count}})", "agentManager.review.fileCount": "{{count}} Dateien", - "agentManager.review.replyCount": "{{count}} Antworten", "agentManager.review.showMore": "{{count}} weitere anzeigen", "agentManager.review.showLess": "Weniger anzeigen", "agentManager.review.clearAll": "Alle löschen", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/en.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/en.ts index ea7c9fa88e2..fa56ac28542 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/en.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/en.ts @@ -189,7 +189,6 @@ export const dict = { "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", "agentManager.review.inlineCount": "Review comments ({{count}})", "agentManager.review.fileCount": "{{count}} files", - "agentManager.review.replyCount": "{{count}} replies", "agentManager.review.showMore": "Show {{count}} more", "agentManager.review.showLess": "Show less", "agentManager.review.clearAll": "Clear all", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/es.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/es.ts index f5840b90aa9..04f52d37a6c 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/es.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/es.ts @@ -187,7 +187,6 @@ export const dict = { "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", "agentManager.review.inlineCount": "Comentarios de revisión ({{count}})", "agentManager.review.fileCount": "{{count}} archivos", - "agentManager.review.replyCount": "{{count}} respuestas", "agentManager.review.showMore": "Mostrar {{count}} más", "agentManager.review.showLess": "Mostrar menos", "agentManager.review.clearAll": "Borrar todo", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/fa.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/fa.ts index 706c336b8ca..41a68ff4f47 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/fa.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/fa.ts @@ -190,7 +190,6 @@ export const dict = { "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", "agentManager.review.inlineCount": "نظرات بررسی ({{count}})", "agentManager.review.fileCount": "{{count}} فایل", - "agentManager.review.replyCount": "{{count}} پاسخ", "agentManager.review.showMore": "نمایش {{count}} مورد بیشتر", "agentManager.review.showLess": "نمایش کمتر", "agentManager.review.clearAll": "پاک کردن همه", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/fr.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/fr.ts index 39b8bf260be..7635b651964 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/fr.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/fr.ts @@ -188,7 +188,6 @@ export const dict = { "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", "agentManager.review.inlineCount": "Commentaires de révision ({{count}})", "agentManager.review.fileCount": "{{count}} fichiers", - "agentManager.review.replyCount": "{{count}} réponses", "agentManager.review.showMore": "Afficher {{count}} de plus", "agentManager.review.showLess": "Afficher moins", "agentManager.review.clearAll": "Tout effacer", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/it.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/it.ts index daa5065a448..1c68b9b2374 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/it.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/it.ts @@ -193,7 +193,6 @@ export const dict = { "agentManager.review.sendAllShortcut.other": "Ctrl+Invio", "agentManager.review.inlineCount": "Commenti di revisione ({{count}})", "agentManager.review.fileCount": "{{count}} file", - "agentManager.review.replyCount": "{{count}} risposte", "agentManager.review.showMore": "Mostra altri {{count}}", "agentManager.review.showLess": "Mostra meno", "agentManager.review.clearAll": "Cancella tutto", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ja.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ja.ts index a7d194c44d2..00760664555 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ja.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ja.ts @@ -187,7 +187,6 @@ export const dict = { "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", "agentManager.review.inlineCount": "レビューコメント ({{count}})", "agentManager.review.fileCount": "{{count}} ファイル", - "agentManager.review.replyCount": "{{count}} 件の返信", "agentManager.review.showMore": "さらに {{count}} 件を表示", "agentManager.review.showLess": "表示を減らす", "agentManager.review.clearAll": "すべてクリア", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ko.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ko.ts index 1ce70ff9438..f42cc2be006 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ko.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ko.ts @@ -185,7 +185,6 @@ export const dict = { "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", "agentManager.review.inlineCount": "리뷰 코멘트 ({{count}})", "agentManager.review.fileCount": "{{count}}개 파일", - "agentManager.review.replyCount": "{{count}}개 답글", "agentManager.review.showMore": "{{count}}개 더 보기", "agentManager.review.showLess": "간략히 보기", "agentManager.review.clearAll": "모두 지우기", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/nl.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/nl.ts index ce3621961cb..bba560c5e67 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/nl.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/nl.ts @@ -192,7 +192,6 @@ export const dict = { "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", "agentManager.review.inlineCount": "Opmerkingen bekijken ({{count}})", "agentManager.review.fileCount": "{{count}} bestanden", - "agentManager.review.replyCount": "{{count}} antwoorden", "agentManager.review.showMore": "{{count}} meer weergeven", "agentManager.review.showLess": "Minder weergeven", "agentManager.review.clearAll": "Alles wissen", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/no.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/no.ts index 4bf785cdb2a..0fe570b862a 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/no.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/no.ts @@ -184,7 +184,6 @@ export const dict = { "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", "agentManager.review.inlineCount": "Review-kommentarer ({{count}})", "agentManager.review.fileCount": "{{count}} filer", - "agentManager.review.replyCount": "{{count}} svar", "agentManager.review.showMore": "Vis {{count}} flere", "agentManager.review.showLess": "Vis færre", "agentManager.review.clearAll": "Fjern alle", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/pl.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/pl.ts index fdd80989bf6..cf0aac9199c 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/pl.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/pl.ts @@ -186,7 +186,6 @@ export const dict = { "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", "agentManager.review.inlineCount": "Komentarze do przeglądu ({{count}})", "agentManager.review.fileCount": "{{count}} plików", - "agentManager.review.replyCount": "{{count}} odpowiedzi", "agentManager.review.showMore": "Pokaż {{count}} więcej", "agentManager.review.showLess": "Pokaż mniej", "agentManager.review.clearAll": "Wyczyść wszystko", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ru.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ru.ts index a4acd68a8da..30bccca80ab 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ru.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ru.ts @@ -187,7 +187,6 @@ export const dict = { "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", "agentManager.review.inlineCount": "Комментарии к ревью ({{count}})", "agentManager.review.fileCount": "{{count}} файлов", - "agentManager.review.replyCount": "{{count}} ответов", "agentManager.review.showMore": "Показать ещё {{count}}", "agentManager.review.showLess": "Показать меньше", "agentManager.review.clearAll": "Очистить всё", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/th.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/th.ts index dcf175133ef..581fa7b5bfe 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/th.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/th.ts @@ -181,7 +181,6 @@ export const dict = { "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", "agentManager.review.inlineCount": "ความคิดเห็นการตรวจสอบ ({{count}})", "agentManager.review.fileCount": "{{count}} ไฟล์", - "agentManager.review.replyCount": "{{count}} คำตอบ", "agentManager.review.showMore": "แสดงเพิ่มอีก {{count}} รายการ", "agentManager.review.showLess": "แสดงน้อยลง", "agentManager.review.clearAll": "ล้างทั้งหมด", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/tr.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/tr.ts index f8ab2d8dffd..e0aa488c9df 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/tr.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/tr.ts @@ -194,7 +194,6 @@ export const dict = { "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", "agentManager.review.inlineCount": "Yorumları gözden geçir ({{count}})", "agentManager.review.fileCount": "{{count}} dosya", - "agentManager.review.replyCount": "{{count}} yanıt", "agentManager.review.showMore": "{{count}} tane daha göster", "agentManager.review.showLess": "Daha az göster", "agentManager.review.clearAll": "Tümünü temizle", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/uk.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/uk.ts index 44892d08d5b..21fba657e1b 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/uk.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/uk.ts @@ -195,7 +195,6 @@ export const dict = { "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", "agentManager.review.inlineCount": "Переглянути коментарі ({{count}})", "agentManager.review.fileCount": "{{count}} файлів", - "agentManager.review.replyCount": "{{count}} відповідей", "agentManager.review.showMore": "Показати ще {{count}}", "agentManager.review.showLess": "Показати менше", "agentManager.review.clearAll": "Очистити все", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/zh.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/zh.ts index 681df107128..f406d0a44f0 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/zh.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/zh.ts @@ -179,7 +179,6 @@ export const dict = { "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", "agentManager.review.inlineCount": "审查评论 ({{count}})", "agentManager.review.fileCount": "{{count}} 个文件", - "agentManager.review.replyCount": "{{count}} 条回复", "agentManager.review.showMore": "显示更多 {{count}} 条", "agentManager.review.showLess": "显示更少", "agentManager.review.clearAll": "全部清除", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/zht.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/zht.ts index 020ebef1649..85636794a6e 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/zht.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/zht.ts @@ -179,7 +179,6 @@ export const dict = { "agentManager.review.sendAllShortcut.other": "Ctrl+Enter", "agentManager.review.inlineCount": "審查評論 ({{count}})", "agentManager.review.fileCount": "{{count}} 個檔案", - "agentManager.review.replyCount": "{{count}} 則回覆", "agentManager.review.showMore": "顯示更多 {{count}} 則", "agentManager.review.showLess": "顯示更少", "agentManager.review.clearAll": "全部清除", diff --git a/packages/kilo-vscode/webview-ui/src/components/chat/ReviewComments.tsx b/packages/kilo-vscode/webview-ui/src/components/chat/ReviewComments.tsx index 688425414a8..42fd4b392b7 100644 --- a/packages/kilo-vscode/webview-ui/src/components/chat/ReviewComments.tsx +++ b/packages/kilo-vscode/webview-ui/src/components/chat/ReviewComments.tsx @@ -36,7 +36,6 @@ export const ReviewComments: Component = (props) => { const body = (item: ReviewCommentEntry) => (isPRReviewComment(item) ? item.body : item.comment) const snippet = (item: ReviewCommentEntry) => (isPRReviewComment(item) ? item.diffHunk : item.selectedText) const label = (item: ReviewCommentEntry) => (item.file ? fileName(item.file) : `@${author(item)}`) - const replies = (item: ReviewCommentEntry) => (isPRReviewComment(item) ? (item.replies ?? []) : []) const outdated = (item: ReviewCommentEntry) => isPRReviewComment(item) && item.outdated === true const files = createMemo(() => new Set(props.comments.filter((item) => item.file).map((item) => item.file)).size) @@ -123,11 +122,6 @@ export const ReviewComments: Component = (props) => { {language.t("agentManager.pr.comment.outdated")} - 0}> - - {language.t("agentManager.review.replyCount", { count: replies(item).length })} - - {body(item)} @@ -167,16 +161,6 @@ export const ReviewComments: Component = (props) => { {(value) =>
{value()}
}
- - {(reply) => ( -
- @{reply.author} -
- -
-
- )} -
diff --git a/packages/kilo-vscode/webview-ui/src/stories/chat.stories.tsx b/packages/kilo-vscode/webview-ui/src/stories/chat.stories.tsx index f2895b92416..446b18a8ac4 100644 --- a/packages/kilo-vscode/webview-ui/src/stories/chat.stories.tsx +++ b/packages/kilo-vscode/webview-ui/src/stories/chat.stories.tsx @@ -317,10 +317,6 @@ export const UserMessageManyReviewComments: Story = { line: 212, diffHunk: "@@ -210,6 +210,8 @@\n- return client.session.messages({ id })\n+ return client.session.messages({ id, directory })", - replies: [ - { author: "hubot", body: "Agreed. `directory` should be required here." }, - { author: "octocat", body: "Pushed a fixup." }, - ], }, { id: "pr-2", diff --git a/packages/kilo-vscode/webview-ui/src/styles/prompt-input.css b/packages/kilo-vscode/webview-ui/src/styles/prompt-input.css index cd440fc2670..1f3a9585633 100644 --- a/packages/kilo-vscode/webview-ui/src/styles/prompt-input.css +++ b/packages/kilo-vscode/webview-ui/src/styles/prompt-input.css @@ -276,19 +276,6 @@ overflow-wrap: anywhere; } -.prompt-review-row-reply { - display: flex; - flex-direction: column; - gap: 2px; - padding-left: 8px; - border-left: 2px solid var(--border-weak-base, var(--vscode-panel-border)); - min-width: 0; -} - -.prompt-review-row-reply .prompt-review-row-author { - align-self: flex-start; -} - .prompt-review-row-remove { width: 16px; height: 16px; From b74c279728702bff17586a05384ff05716f0a976 Mon Sep 17 00:00:00 2001 From: marius-kilocode Date: Mon, 24 Aug 2026 13:35:02 +0200 Subject: [PATCH 4/7] refactor(vscode): narrow review comment change --- .changeset/review-comment-previews.md | 2 +- .../webview-ui/diff-viewer/MarkdownAnnotationLayer.tsx | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.changeset/review-comment-previews.md b/.changeset/review-comment-previews.md index 1738a2dece3..25d304233e7 100644 --- a/.changeset/review-comment-previews.md +++ b/.changeset/review-comment-previews.md @@ -2,4 +2,4 @@ "kilo-code": patch --- -Show review comment text directly in the chat message instead of hiding it behind a click. Each comment is now a row with the file, line and a two-line preview, expands in place to reveal the full body, code snippet and pull request replies, and long lists collapse to the first few comments with a "Show more" toggle. +Show review comment text directly in the chat message instead of hiding it behind a click. Each comment is now a row with the file, line and a two-line preview, expands in place to reveal the full body and code snippet, and long lists collapse to the first few comments with a "Show more" toggle. diff --git a/packages/kilo-vscode/webview-ui/diff-viewer/MarkdownAnnotationLayer.tsx b/packages/kilo-vscode/webview-ui/diff-viewer/MarkdownAnnotationLayer.tsx index 317baff475b..70324d1ca00 100644 --- a/packages/kilo-vscode/webview-ui/diff-viewer/MarkdownAnnotationLayer.tsx +++ b/packages/kilo-vscode/webview-ui/diff-viewer/MarkdownAnnotationLayer.tsx @@ -199,14 +199,14 @@ export const MarkdownAnnotationLayer: Component = }) createEffect(() => { - const pane = props.pane() - if (!pane) return + const root = props.root() + if (!root) return observer?.disconnect() observer = new MutationObserver((mutations) => { if (mutations.every(isAnnotationMutation)) return schedule() }) - observer.observe(pane, { childList: true, subtree: true }) + observer.observe(root, { childList: true, subtree: true }) }) onCleanup(() => { From 92ca332ffeedf42e667dd9d587b4e0a5f52a0401 Mon Sep 17 00:00:00 2001 From: marius-kilocode Date: Mon, 24 Aug 2026 13:47:55 +0200 Subject: [PATCH 5/7] chore(vscode): consolidate review changeset --- .changeset/rendered-document-inspector.md | 5 ----- .changeset/review-comment-previews.md | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) delete mode 100644 .changeset/rendered-document-inspector.md diff --git a/.changeset/rendered-document-inspector.md b/.changeset/rendered-document-inspector.md deleted file mode 100644 index 90049a34913..00000000000 --- a/.changeset/rendered-document-inspector.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"kilo-code": minor ---- - -Add an Agent Manager document inspector that previews Markdown files with inline review comments that can be sent to the agent, while source files open in the VS Code editor. diff --git a/.changeset/review-comment-previews.md b/.changeset/review-comment-previews.md index 25d304233e7..3398313fe26 100644 --- a/.changeset/review-comment-previews.md +++ b/.changeset/review-comment-previews.md @@ -2,4 +2,4 @@ "kilo-code": patch --- -Show review comment text directly in the chat message instead of hiding it behind a click. Each comment is now a row with the file, line and a two-line preview, expands in place to reveal the full body and code snippet, and long lists collapse to the first few comments with a "Show more" toggle. +Show review comment text directly in the chat message instead of hiding it behind a click. Each comment is now a row with the file, line and a two-line preview, expands in place to reveal the full body and code snippet, and long lists collapse to the first few comments with a "Show more" toggle. Opening a source file from a review comment now uses a native VS Code editor tab. From 8e11b29b6d49d52e2923c10d1e01a4819bdffd08 Mon Sep 17 00:00:00 2001 From: marius-kilocode Date: Mon, 24 Aug 2026 13:59:42 +0200 Subject: [PATCH 6/7] test(vscode): use local review comment fixtures --- .../webview-ui/src/stories/chat.stories.tsx | 31 +++---------------- 1 file changed, 4 insertions(+), 27 deletions(-) diff --git a/packages/kilo-vscode/webview-ui/src/stories/chat.stories.tsx b/packages/kilo-vscode/webview-ui/src/stories/chat.stories.tsx index 446b18a8ac4..2594b5b0ed3 100644 --- a/packages/kilo-vscode/webview-ui/src/stories/chat.stories.tsx +++ b/packages/kilo-vscode/webview-ui/src/stories/chat.stories.tsx @@ -292,14 +292,13 @@ export const UserMessageReviewComments: Story = { } /** - * Many review comments at once, mixing local diff comments and imported GitHub - * PR threads. Locks in the collapsed preview + "show more" behavior so a large - * paste cannot take over the transcript. + * Many local review comments at once. Locks in the collapsed preview + "show + * more" behavior so a large paste cannot take over the transcript. */ export const UserMessageManyReviewComments: Story = { name: "User message — many review comments", render: () => { - const local: ReviewCommentEntry[] = Array.from({ length: 6 }, (_, index) => ({ + const local: ReviewCommentEntry[] = Array.from({ length: 8 }, (_, index) => ({ id: `local-${index}`, file: `src/agent-manager/handlers/worktree-${index}.ts`, side: index % 2 === 0 ? "additions" : "deletions", @@ -307,31 +306,9 @@ export const UserMessageManyReviewComments: Story = { comment: `Guard the ${index % 2 === 0 ? "apply" : "discard"} path against a missing worktree before touching git.`, selectedText: `const worktree = state.worktrees[${index}]`, })) - const pr: ReviewCommentEntry[] = [ - { - id: "pr-1", - origin: "pr", - author: "octocat", - body: "This reuses the shared helper, but it drops the `directory` argument, so the request resolves against the workspace root instead of the worktree.", - file: "src/services/cli-backend/http-client.ts", - line: 212, - diffHunk: - "@@ -210,6 +210,8 @@\n- return client.session.messages({ id })\n+ return client.session.messages({ id, directory })", - }, - { - id: "pr-2", - origin: "pr", - author: "hubot", - body: "Outdated: this line moved in the latest push.", - file: "src/KiloProvider.ts", - line: 3870, - outdated: true, - }, - ] - return ( -
{reviewMessage([...pr, ...local])}
+
{reviewMessage(local)}
) }, From 90437c0ef79a151d52670898c5551790eee9adf3 Mon Sep 17 00:00:00 2001 From: "kilo-maintainer[bot]" Date: Mon, 24 Aug 2026 12:34:33 +0000 Subject: [PATCH 7/7] chore: update kilo-vscode visual regression baselines --- .../chat/user-message-many-review-comments-chromium-linux.png | 3 +++ .../chat/user-message-review-comments-chromium-linux.png | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/chat/user-message-many-review-comments-chromium-linux.png diff --git a/packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/chat/user-message-many-review-comments-chromium-linux.png b/packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/chat/user-message-many-review-comments-chromium-linux.png new file mode 100644 index 00000000000..f96309b0532 --- /dev/null +++ b/packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/chat/user-message-many-review-comments-chromium-linux.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbdc00f26ece2fc49d25c26b128b9f69fa562c2c0b2d54c4fd88f8c476145046 +size 25076 diff --git a/packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/chat/user-message-review-comments-chromium-linux.png b/packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/chat/user-message-review-comments-chromium-linux.png index 606fab3eb74..fda93ac12c9 100644 --- a/packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/chat/user-message-review-comments-chromium-linux.png +++ b/packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/chat/user-message-review-comments-chromium-linux.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2ae8197b9d63cf977fa5112a1b02eb48bc22a1577b4dee15abd475805f0db5b0 -size 11769 +oid sha256:efeff70e266d94ae5b40b05694eb2011c84d2da9e91eafe2dc01f775797e9135 +size 19048