refactor(kilo-console): use Kilo UI boundary - #11288
Conversation
Code Review SummaryStatus: No Issues Found | Recommendation: Merge All issues from the previous review have been addressed:
Files Reviewed (87 files)
Previous Review Summaries (3 snapshots, latest commit 6291375)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit 6291375)Status: 2 Issues Found | Recommendation: Address before merge Overview
Issue Details (click to expand)WARNING
SUGGESTION
Resolved from previous review
Files Reviewed (45 files)
Fix these issues in Kilo Cloud Previous review (commit 6866133)Status: 1 Issue Found | Recommendation: Address before merge Overview
Issue Details (click to expand)CRITICAL
Files Reviewed (1 file)
Fix these issues in Kilo Cloud Previous review (commit f216118)Status: 1 Issue Found | Recommendation: Address before merge Overview
Issue Details (click to expand)CRITICAL
Files Reviewed (1 file)
Reviewed by deepseek-v4-pro-20260423 · 745,379 tokens Review guidance: REVIEW.md from base branch |
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
6866133 to
6291375
Compare
| local.onRendered?.() | ||
| }) | ||
|
|
||
| createEffect(() => { |
There was a problem hiding this comment.
WARNING: Redundant annotation re-rendering — the first createEffect (line 71) already recreates the FileDiff instance whenever local.annotations changes because it reads local.annotations reactively on line 72. This second effect calls setLineAnnotations + rerender() on the new instance, applying the same annotations twice. Annotation-only changes (e.g. a comment on a diff line) shouldn't require full instance teardown and recreation.
Consider removing the second effect and instead merging its logic into the first effect so that annotation-only changes call setLineAnnotations/rerender() without recreating the instance.
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
| <div data-slot="session-review-large-diff"> | ||
| <div data-slot="session-review-large-diff-title" data-state="loading"> | ||
| <Spinner /> | ||
| <span>Loading diff...</span> |
There was a problem hiding this comment.
SUGGESTION: Hardcoded English string "Loading diff..." — the rest of this component uses i18n.t(...) for user-visible text. This should be localized via the i18n context for consistency.
| <span>Loading diff...</span> | |
| <span>{i18n.t("ui.sessionReview.loading")}</span> |
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
…boundary refactor(kilo-console): use Kilo UI boundary
Summary
Route the project console's file and session review components through
@kilocode/kilo-web-uiinstead of importing the upstream OpenCode UI package directly.This preserves the existing implementation while keeping Kilo product code behind the Kilo-owned UI boundary. It also allows the direct
@opencode-ai/uidependency to be removed fromkilo-consoleseparately.