Skip to content

OpenCode v1.15.9 - #11356

Merged
imanolmzd-svg merged 316 commits into
mainfrom
imanolmaiztegui/kilo-opencode-v1.15.9
Jun 18, 2026
Merged

OpenCode v1.15.9#11356
imanolmzd-svg merged 316 commits into
mainfrom
imanolmaiztegui/kilo-opencode-v1.15.9

Conversation

@imanolmzd-svg

@imanolmzd-svg imanolmzd-svg commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

1.15.5

Core

Improvements

  • Preview the native OpenAI runtime path behind an experimental flag
  • Add --replay and --replay-limit to show recent history when resuming interactive runs

Bugfixes

  • Fix plugin tools using ask so tool calls complete correctly
  • Reduce missed /event updates caused by a subscription race
  • Sort the v2 session list by most recently updated

TUI

Improvements

  • Refresh the prompt layout after pasting content

Bugfixes

  • Keep file references scoped to the current workspace
  • Preserve pasted prompt content when copying
  • Collapse very long tool output lines to keep the layout readable
  • Use a higher-contrast paste summary badge color in some themes

1.15.6

Core

Improvements

  • Added a diff viewer in the TUI for reviewing changes.
  • Collapsed single-child directories in the diff viewer file tree.
  • Added shell mode to the run prompt.
  • Replaced subagent tabs with an on-demand picker in run.
  • Plugin file load errors no longer break the rest of plugin loading.
  • Anthropic API-key models now use the native runtime.
  • The v2 HTTP API now exposes structured public error schemas.

Bugfixes

  • Zed editor context now only activates inside Zed terminals.
  • The v2 HTTP API now exposes catalog errors.
  • The v2 HTTP API now exposes request errors.
  • The v2 OpenAPI spec now preserves endpoint error responses.
  • opencode login now defaults to https://console.opencode.ai.
  • Agent and command names now resolve correctly from relative config paths.
  • Invalid OPENCODE_PERMISSION JSON no longer crashes startup.
  • Plugin tools with missing args no longer break tool loading.
  • Restored legacy PgUp and PgDn TUI keybind aliases.
  • Native runtime now prefers the console provider token for OpenCode models.

TUI

Improvements

  • The diff viewer now focuses the first file automatically.

Bugfixes

  • Imported sessions now refresh their directory and relative path fields correctly.

SDK

  • Updated opentui dependencies to 0.2.15.

1.15.7

Core

Improvements

  • Added Grok OAuth sign-in, including device-code login.

Bugfixes

  • V2 session APIs now return safe UnknownError responses with log reference IDs when stored messages are corrupt.
  • Generic API 500s no longer expose config details from server errors.
  • Unknown API errors now include reference IDs so you can match responses to server logs.
  • V2 session APIs now return 503 ServiceUnavailableError for mutations that are not available yet.
  • V2 session APIs now return SessionNotFoundError for missing sessions.
  • Deduped concurrent Codex OAuth refreshes to avoid repeated refresh failures.
  • Restored native OpenAI OAuth requests.
  • Tool schema failures now surface as friendly tool errors.
  • Added PDF attachment support for Grok.
  • Restored OpenAI reasoning streams.

TUI

Bugfixes

  • Collapsed thinking labels now use clearer punctuation.
  • New sessions now default to the local project.
  • Single-select question checkmarks no longer run into option labels.

SDK

Bugfixes

  • V2 global event streams now include account add, remove, and switch events.

1.15.9

Core

Improvements

  • Redesigned the diff viewer with a file tree and refreshed layout.

Bugfixes

  • Return to the previous screen when closing the diff viewer.
  • Show clearer errors when a default model is invalid or unavailable.
  • Surface missing PTY session errors instead of failing generically.
  • Improve diff viewer empty states and context handling.
  • Show clearer errors when a skill invocation fails as expected.
  • Show clearer errors when an installation upgrade fails.
  • Show clearer project not found errors from the HTTP API.
  • Return PTY error bodies from the HTTP API.
  • Enable the diff viewer by default.
  • Return MCP server not found errors from the HTTP API.
  • Let MCP OAuth configs set a callback port and include configured scopes in client metadata.
  • Use working Vertex Anthropic endpoints for us and eu multi-region setups.
  • Return session busy error bodies from the HTTP API.
  • Preserve native reasoning continuation metadata across turns.

TUI

Improvements

  • Copy the active worktree’s directory path from the TUI command palette

Bugfixes

  • Refine diff viewer keyboard shortcuts.
  • Restore question prompt key handling.
  • Keep the spinner color aligned with the active agent.

kitlangton and others added 30 commits May 18, 2026 18:32
Co-authored-by: starptech <starptech@starptechs-MBP.fritz.box>
jlongster and others added 8 commits May 22, 2026 14:40
Adapt Kilo-specific code to breaking changes introduced by the v1.15.9
merge:

- Migrate LLM test helpers to use LLMEvent factory constructors instead
  of raw event object literals
- Update provider cost extraction from `usage.raw` to native
  `usage.providerMetadata` keyed by provider name
- Preserve AI SDK raw usage in providerMetadata for billing continuity
- Replace `findStartIndex()` with `findItemIndex(scrollOffset)` in
  virtualizer calls
- Replace `overscan` prop with pixel-based `bufferSize` in virtual lists
- Change provider `all` data shape from array to Map
- Remove `useCommandPalette` dependency, replaced by mode stack pattern
- Fix ToolResultValue schema to avoid circular inference with tsgo
- Add missing test layer dependencies (HttpClient, RepositoryCache,
  Command)
- Remove obsolete models-snapshot files
- Fix Permission reply routing tests to expect NotFoundError instead of
  boolean false
- Normalize config references and fix nested type narrowing
@kilo-code-bot

kilo-code-bot Bot commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: 4 Issues Found | Recommendation: Address before merge

Overview

Severity Count
WARNING 3
SUGGESTION 1
Issue Details (click to expand)

WARNING

File Line Issue
packages/kilo-jetbrains/backend/.../KiloBackendProviderSettingsManager.kt 157 saveCustom always patches /global/config, ignoring input.directory — workspace-scoped custom providers are silently saved to global config
packages/kilo-vscode/.../ModelSelector.tsx 907 navigating state leak — clicking a treeitem row after keyboard navigation doesn't reset navigating, causing Left/Right arrow keys to be hijacked for tree navigation instead of cursor movement
packages/kilo-vscode/.../ModelSelector.tsx 479 e.stopImmediatePropagation() in capture-phase window Escape handler blocks all other capture-phase Escape listeners when popover is open

SUGGESTION

File Line Issue
packages/kilo-jetbrains/frontend/.../KiloProviderService.kt 57 catch (e: Exception) swallows CancellationException and TimeoutCancellationExceptionstate() silently returns a fallback error DTO instead of propagating cancellation
Incremental Review Notes

Since the previous review at 326ff351, only 1 commit was added (1 file, +1/-5): the changeset .changeset/opencode-v1-15-4-to-v1-15-9.md was trimmed (removed 4 upstream entries that don't apply to Kilo) and one env var rebranded (OPENCODE_PERMISSIONKILO_PERMISSION). No code changes in this increment, so all 4 prior findings are carried forward unchanged.

The changeset edit is documentation-only and LGTM.

Other Observations (not in diff)
File Line Issue
packages/opencode/src/kilo-sessions/remote-ws.ts 88-103 Watchdog doesn't treat outbound heartbeat activity as liveness proof — could falsely close connection when server receives but doesn't send application messages for 30s (pre-existing, not introduced by this PR)
Files Reviewed (1 file this increment)
  • .changeset/opencode-v1-15-4-to-v1-15-9.md — LGTM (changeset trim + rebrand only)

Previous findings on unchanged files carried forward: KiloBackendProviderSettingsManager.kt, ModelSelector.tsx, KiloProviderService.kt.

Fix these issues in Kilo Cloud

Previous Review Summaries (6 snapshots, latest commit 326ff35)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit 326ff35)

Status: 4 Issues Found | Recommendation: Address before merge

Overview

Severity Count
WARNING 3
SUGGESTION 1
Issue Details (click to expand)

WARNING

File Line Issue
packages/kilo-jetbrains/backend/.../KiloBackendProviderSettingsManager.kt 157 saveCustom always patches /global/config, ignoring input.directory — workspace-scoped custom providers are silently saved to global config
packages/kilo-vscode/.../ModelSelector.tsx 907 navigating state leak — clicking a treeitem row after keyboard navigation doesn't reset navigating, causing Left/Right arrow keys to be hijacked for tree navigation instead of cursor movement
packages/kilo-vscode/.../ModelSelector.tsx 479 e.stopImmediatePropagation() in capture-phase window Escape handler blocks all other capture-phase Escape listeners when popover is open

SUGGESTION

File Line Issue
packages/kilo-jetbrains/frontend/.../KiloProviderService.kt 57 catch (e: Exception) swallows CancellationException and TimeoutCancellationExceptionstate() silently returns a fallback error DTO instead of propagating cancellation
Incremental Review Notes

Since the previous review at a87906700, only 1 commit was added (1 file, +69 lines): a single changeset (.changeset/opencode-v1-15-4-to-v1-15-9.md) consolidating upstream v1.15.4→v1.15.9 release notes. No code changes in this increment, so all 4 prior findings are carried forward unchanged.

The changeset is documentation-only and LGTM.

Other Observations (not in diff)
File Line Issue
packages/opencode/src/kilo-sessions/remote-ws.ts 88-103 Watchdog doesn't treat outbound heartbeat activity as liveness proof — could falsely close connection when server receives but doesn't send application messages for 30s (pre-existing, not introduced by this PR)
Files Reviewed (1 file this increment)
  • .changeset/opencode-v1-15-4-to-v1-15-9.md — LGTM (docs/changeset only)

Previous findings on unchanged files carried forward: KiloBackendProviderSettingsManager.kt, ModelSelector.tsx, KiloProviderService.kt.

Fix these issues in Kilo Cloud

Previous review (commit a879067)

Status: 4 Issues Found | Recommendation: Address before merge

Overview

Severity Count
WARNING 3
SUGGESTION 1
Issue Details (click to expand)

WARNING

File Line Issue
packages/kilo-jetbrains/backend/.../KiloBackendProviderSettingsManager.kt 157 saveCustom always patches /global/config, ignoring input.directory — workspace-scoped custom providers are silently saved to global config
packages/kilo-vscode/.../ModelSelector.tsx 907 navigating state leak — clicking a treeitem row after keyboard navigation doesn't reset navigating, causing Left/Right arrow keys to be hijacked for tree navigation instead of cursor movement
packages/kilo-vscode/.../ModelSelector.tsx 479 e.stopImmediatePropagation() in capture-phase window Escape handler blocks all other capture-phase Escape listeners when popover is open

SUGGESTION

File Line Issue
packages/kilo-jetbrains/frontend/.../KiloProviderService.kt 57 catch (e: Exception) swallows CancellationException and TimeoutCancellationExceptionstate() silently returns a fallback error DTO instead of propagating cancellation
Incremental Review Notes

Since the previous review at 9c182afcd, ~120 commits (294 additional files, +12,916/-1,116) were merged from main into this branch. Key additions:

  • JetBrains provider settings (major) — New backend/frontend RPC layer for provider configuration (KiloBackendProviderSettingsManager, KiloProviderService, ProvidersSettingsUi, OAuth device flow, model fetch, disconnect/enable/save flows). One bug found: saveCustom always writes to global config (line 157). One style issue: state() swallows cancellation exceptions (line 57).
  • VS Code ModelSelector tree rewrite — Converted from role="listbox" to role="tree" with group headings, keyboard navigation (Left/Right), Home/End support, and group expand/collapse. Two bugs found: navigating state leak on mouse click (line 907) and stopImmediatePropagation in Escape handler (line 479).
  • Telemetry shutdown timeout — Removed unbounded client.flush() before shutdown, added configurable timeoutMs param threaded through Telemetry.shutdown()Client.shutdown()PostHog.shutdown(). Fixes CLI exit hang when PostHog endpoint is unreachable (CLI hangs after printing help when telemetry endpoint is unreachable #9788). Properly tested with isolated mock module. LGTM.
  • Remote WebSocket heartbeat deduplication — Heartbeat logic moved from kilo-sessions.ts into remote-ws.ts with beating/queued promise deduplication. The serial heartbeat chain correctly coalesces multiple callers. LGTM.
  • TUI terminal title status indicators — New KiloTerminalTitle service with session-state-driven indicators (working/attention/finished) using configurable unicode/emoji icons via tui.json title_icon setting. Forked from upstream, properly isolated in src/kilocode/. LGTM.
  • Forked TUI tips — Extracted Kilo-specific tips into src/kilocode/.../tips.ts from the shared upstream tips-view.tsx. Upstream tip array emptied with kilocode_change markers. LGTM.
  • Provider metadata sharing — New providerMetadata() utility in src/kilocode/provider/metadata.ts that maps provider IDs to icons, priorities, and localization note keys. ProviderMetadata type added to shared provider.ts Info struct with kilocode_change markers. ModelsDev.Provider.description field added. LGTM.
  • Config schema additionstitle_icon added to TUI config schema in config-console.ts and tui-config.tsx. Properly typed with KiloTitleIcon.Value Schema literal. LGTM.
  • Agent Manager remote session syncremote.ts → remote-ws.ts rename with offline/resilient reconnection, session dedup, and filtered local/remote merge. KiloSessions heartbeat refactored into connection. LGTM.
  • CLI shutdown hardeningKiloCli.shutdown() wraps telemetry in try/catch with 2s timeout, ensuring InstanceRuntime.disposeAllInstances() always runs in finally. LGTM.
  • JetBrains session copy/selection — Session copy buttons, hover overlay, context menu, and selection tracking for sharing (provider/category tracking). Tested with SessionSelectionCopyTest. LGTM.
  • VS Code tool preview polish — Unifies tool card rhythm, normalizes chat block output surfaces, softens tool output backgrounds, restores shell highlighting. LGTM.
  • Model selector a11y — Screen reader navigation from listbox to tree role, activeOptionID gated on browsing state. Minor regression: group headings lost explicit expand/collapse aria-label.
  • 18 README translations (+177 lines each), 22 changesets, 20+ i18n key additions, visual regression baseline updates — all boilerplate/no-op changes. LGTM.
  • PostHog SDK API — Verified posthog-node mock in test expects shutdown(timeoutMs?) parameter. The client.shutdown(timeoutMs) call at client.ts:79 is correct for this SDK version. LGTM.
  • No new empty catch blocks, no any types, no style violations in reviewed Kilo-owned code. Single-word naming compliant throughout.
Other Observations (not in diff)
File Line Issue
packages/opencode/src/kilo-sessions/remote-ws.ts 88-103 Watchdog doesn't treat outbound heartbeat activity as liveness proof — could falsely close connection when server receives but doesn't send application messages for 30s (pre-existing, not introduced by this PR)
Files Reviewed (40+ key files out of 324 total)
  • .changeset/*.md (22) — LGTM
  • README.*.md (18) — LGTM
  • packages/core/src/models-dev.ts — LGTM (description field, kilocode_change)
  • packages/kilo-jetbrains/backend/.../KiloBackendProviderSettingsManager.kt — 1 WARNING
  • packages/kilo-jetbrains/backend/.../KiloCliDataParser.kt — LGTM
  • packages/kilo-jetbrains/frontend/.../KiloProviderService.kt — 1 SUGGESTION
  • packages/kilo-jetbrains/frontend/.../ProvidersSettingsUi.kt — LGTM
  • packages/kilo-jetbrains/frontend/.../ProviderCatalog.kt — LGTM
  • packages/kilo-jetbrains/frontend/.../SettingsOverlayPanel.kt — LGTM
  • packages/kilo-telemetry/src/client.ts — LGTM
  • packages/kilo-telemetry/src/telemetry.ts — LGTM
  • packages/kilo-telemetry/.../telemetry-shutdown.test.ts — LGTM
  • packages/kilo-vscode/.../ModelSelector.tsx — 2 WARNING
  • packages/opencode/src/cli/cmd/tui/app.tsx — LGTM (kilocode_change)
  • packages/opencode/src/kilo-sessions/kilo-sessions.ts — LGTM
  • packages/opencode/src/kilo-sessions/remote-ws.ts — LGTM (1 pre-existing observation)
  • packages/opencode/src/kilocode/cli/cmd/tui/app.tsx — LGTM
  • packages/opencode/src/kilocode/cli/cmd/tui/terminal-title.ts — LGTM
  • packages/opencode/src/kilocode/cli/cmd/tui/title-icon.ts — LGTM
  • packages/opencode/src/kilocode/cli/cmd/tui/context/tui-config.tsx — LGTM
  • packages/opencode/src/kilocode/cli/cmd/tui/feature-plugins/home/tips.ts — LGTM
  • packages/opencode/src/kilocode/cli/setup.ts — LGTM
  • packages/opencode/src/kilocode/provider/metadata.ts — LGTM
  • packages/opencode/src/kilocode/server/httpapi/groups/config-console.ts — LGTM
  • packages/opencode/src/provider/provider.ts — LGTM (kilocode_change)
  • packages/sdk/js/src/v2/gen/types.gen.ts — LGTM (generated)
  • packages/ui/src/assets/icons/provider/kilo.svg — LGTM (icon update)
  • script/extract-source-links.ts — LGTM

Fix these issues in Kilo Cloud

Previous review (commit 9c182af)

Status: No Issues Found | Recommendation: Merge

Incremental Review Notes
  • Since the previous review at d5f1495f, 1 commit (30 files, +567/-257) adds provider ID isolation for custom configurations, Kilo account v2 migration, i18n translations, recording fixtures, and help-test refinements.
  • Provider plugins (llmgateway, nvidia, openrouter, vercel, zenmux) — Each now checks item.provider.id !== ProviderV2.ID.make(...) before applying custom headers/model overrides. This prevents built-in plugins from overwriting user-created custom providers that share the same endpoint. LGTM.
  • account.ts — Adds a migration path for Kilo's previous auth-v2.json multi-account store. Runs after the current account.json and legacy auth.json checks, writes with 0o600 permissions. Properly isolated with kilocode_change markers. LGTM.
  • account-auth-v2-migration.test.ts — Exercises the migration end-to-end: writes an auth-v2.json with two accounts and an active selection, then verifies AccountV2.Service loads them correctly and account.json is written. LGTM.
  • provider-isolation.test.ts — Creates custom providers with the same endpoints as official ones, runs the catalog transform, and asserts custom headers are preserved and model aliases remain enabled. LGTM.
  • sync/index.ts — Refactored kilocode_change marker boundaries to separate the structural publish pattern from the EventV2 encoding logic. No logic change. LGTM.
  • help-snapshots.test.ts / help.test.ts — Updated to verify ConsoleCommand is excluded from the Kilo barrel via expect(barrel).not.toContain('from "../cli/cmd/account"') and a normalize() function that strips lifecycle logs from help output. LGTM.
  • llm-native-recorded.test.ts — Uses KILO_FIXTURES_DIR for Kilo-specific cassette storage, consistent with the existing pattern. LGTM.
  • i18n (it, nl, uk) — Completes upstream usage-exceeded dialog translations for Italian, Dutch, and Ukrainian. Properly marked. LGTM.
  • Keyboard spec/docs, keymap error message, project/pty description markers, xAI patch removal, extract-source-links skip, package.json — All cleanup/consistency changes. No issues.
Files Reviewed (30 incremental files)
  • package.json — No new issues
  • packages/core/src/account.ts — No new issues
  • packages/core/src/plugin/provider/llmgateway.ts — No new issues
  • packages/core/src/plugin/provider/nvidia.ts — No new issues
  • packages/core/src/plugin/provider/openrouter.ts — No new issues
  • packages/core/src/plugin/provider/vercel.ts — No new issues
  • packages/core/src/plugin/provider/zenmux.ts — No new issues
  • packages/core/test/kilocode/account-auth-v2-migration.test.ts — No new issues
  • packages/core/test/kilocode/provider-isolation.test.ts — No new issues
  • packages/kilo-docs/source-links.md — No new issues
  • packages/opencode/specs/tui-plugins.md — No new issues
  • packages/opencode/src/cli/cmd/tui/keymap.tsx — No new issues
  • packages/opencode/src/kilocode/commands.ts — No new issues
  • packages/opencode/src/server/routes/instance/httpapi/groups/project.ts — No new issues
  • packages/opencode/src/server/routes/instance/httpapi/groups/pty.ts — No new issues
  • packages/opencode/src/sync/index.ts — No new issues
  • packages/opencode/test/cli/help/help-snapshots.test.ts — No new issues
  • packages/opencode/test/kilocode/help.test.ts — No new issues
  • packages/opencode/test/server/httpapi-sdk.test.ts — No new issues
  • packages/opencode/test/session/llm-native-recorded.test.ts — No new issues
  • packages/opencode/test/fixtures/recordings/kilocode/session/native-anthropic-tool-loop.json (new) — No new issues
  • packages/opencode/test/fixtures/recordings/kilocode/session/native-openai-oauth-tool-loop.json (new) — No new issues
  • packages/opencode/test/fixtures/recordings/kilocode/session/native-zen-tool-loop.json (new) — No new issues
  • packages/ui/src/i18n/it.ts — No new issues
  • packages/ui/src/i18n/nl.ts — No new issues
  • packages/ui/src/i18n/uk.ts — No new issues
  • patches/@ai-sdk%2Fxai@3.0.82.patch (deleted) — No new issues
  • script/extract-source-links.ts — No new issues
  • packages/opencode/test/cli/help/__snapshots__/help-snapshots.test.ts.snap — No new issues
  • packages/opencode/test/cli/help/__snapshots__/help-snapshots.test.ts.snap — No new issues

Fix these issues in Kilo Cloud

Previous review (commit d5f1495)

Status: No Issues Found | Recommendation: Merge

Incremental Review Notes
  • Since the previous review at abdef9a7, 1 commit (15 files) removes the sidecar models-snapshot.json distribution approach. The snapshot is now embedded in the binary directly.
  • .prettierignore — Removed no-longer-generated snapshot entries. LGTM.
  • .github/workflows/publish.yml — Updated error message from "sidecar" to "embedded". LGTM.
  • KiloBackendCliManager.kt — Removed snapshot extraction and cleanup from JetBrains backend. LGTM.
  • CheckCliTask.kt / PrepareLocalCliTask.kt — Removed snapshot existence checks from Gradle build tasks. LGTM.
  • build.ts (JetBrains) — Removed distSnapshotPath and snapshot copying from the JetBrains build pipeline. LGTM.
  • build.ts / local-bin.ts / watch-cli.ts (VS Code) — Removed snapshot handling from the extension build, local binary resolution, and file-watcher rebuild loop. dirname import correctly removed where no longer needed. LGTM.
  • .gitignore — Removed stale gitignore entries for generated snapshot artifacts. LGTM.
  • opencode/script/build.ts — Removed prepareModelsSnapshot import/call and the copyFile for the snapshot sidecar. Smoke test message updated. LGTM.
  • models-snapshot.ts (script + src) — Both the build-time preparation script and the runtime loader removed. LGTM.
  • models-snapshot.test.ts — Simplified to test only parseModelsSnapshot shape validation. No longer tests prepareModelsSnapshot or loadModelsSnapshotFrom (both deleted). LGTM.
  • extract-source-links.ts — Removed deleted snapshot files from SKIP_FILES. LGTM.
  • Previous CRITICAL (packages/core/src/plugin.ts:190-191) — Acknowledged by contributor as non-critical; the stray merge artifacts exist both upstream and locally.
Files Reviewed (15 incremental files)
  • .github/workflows/publish.yml — No new issues
  • .prettierignore — No new issues
  • packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/cli/KiloBackendCliManager.kt — No new issues
  • packages/kilo-jetbrains/build-tasks/src/main/kotlin/CheckCliTask.kt — No new issues
  • packages/kilo-jetbrains/build-tasks/src/main/kotlin/PrepareLocalCliTask.kt — No new issues
  • packages/kilo-jetbrains/script/build.ts — No new issues
  • packages/kilo-vscode/script/build.ts — No new issues
  • packages/kilo-vscode/script/local-bin.ts — No new issues
  • packages/kilo-vscode/script/watch-cli.ts — No new issues
  • packages/opencode/.gitignore — No new issues
  • packages/opencode/script/build.ts — No new issues
  • packages/opencode/script/kilocode/models-snapshot.ts (deleted) — No new issues
  • packages/opencode/src/kilocode/provider/models-snapshot.ts (deleted) — No new issues
  • packages/opencode/test/kilocode/provider/models-snapshot.test.ts — No new issues
  • script/extract-source-links.ts — No new issues

Fix these issues in Kilo Cloud

Previous review (commit abdef9a)

Status: 1 Issue Found | Recommendation: Fix before merge

Overview

Severity Count
CRITICAL 1
WARNING 0
SUGGESTION 0
Issue Details (click to expand)

CRITICAL

File Line Issue
packages/core/src/plugin.ts 190-191 Stray merge artifact text // opencode and // sdcok (opencode backwards)
Other Observations (not in diff)
File Line Issue
packages/core/src/plugin.ts 190-191 Stray merge artifacts // opencode and // sdcok persist from previous review. These cannot receive inline comments because they fall outside diff hunk boundaries.
Incremental Review Notes
  • Since the previous review at d2162d868a, 39 files changed with upstream OpenCode v1.15.9 merge.
  • codex-refresh.ts — New Flock.withLock cross-process serialization with AbortSignal/timeout. LGTM.
  • processor.ts — New metadata handler buffers tool metadata emitted before the tool transitions to running. LGTM.
  • llm/request.ts — Moved USER_AGENT to @/installation module for centralized Kilo branding. LGTM.
  • plugin/codex.ts — Added User-Agent: kilo/... header and AbortSignal pass-through to Codex OAuth refresh requests. LGTM.
  • tools.ts — Delegates tool metadata() calls to the processor instead of inline updateToolCall. LGTM.
  • permission/index.ts — Removes unnecessary [...set] spreads in evaluate calls since the target function accepts ReadonlyArray. LGTM.
  • remote-sender.ts — Changes reply return type from Promise<boolean> to Promise<void>; no callers depend on the boolean. LGTM.
  • diff.tsx / PermissionDiff.tsx — Enables line numbers on compact permission diffs via disableLineNumbers={false}. LGTM.
  • plugin/loader.ts — Prevents atomic-chat-plugin from triggering npm install (bundled plugin). LGTM.
  • kilocode/permission/rule.ts — Makes Ruleset readonly. LGTM.
  • SDK types.gen.ts — Auto-generated reordering of event types. No behavioral change.
  • virtua downgrade — 0.49.1 → 0.42.3 with matching API changes (bufferSizeoverscan, findItemIndexfindStartIndex). Upstream merge, intentional.
  • 4 changesets included for user-facing changes.
Files Reviewed (39 incremental files)
  • .changeset/fix-llm-user-agent.md — No new issues
  • .changeset/prevent-atomic-chat-install.md — No new issues
  • .changeset/show-edit-approval-line-numbers.md — No new issues
  • .changeset/steady-codex-refresh.md — No new issues
  • bun.lock — Dependency version change, no new issues
  • package.json — Dependency version change, no new issues
  • packages/kilo-docs/public/img/...png — Visual regression snapshot updates, no new issues
  • packages/kilo-docs/source-links.md — No new issues
  • packages/kilo-ui/src/components/diff.tsx — No new issues
  • packages/kilo-vscode/tests/permission-diff.spec.ts — No new issues
  • packages/kilo-vscode/tests/unit/kilo-ui-contract.test.ts — No new issues
  • packages/kilo-vscode/webview-ui/agent-manager/DiffPanel.tsx — No new issues
  • packages/kilo-vscode/webview-ui/diff-viewer/FullScreenDiffView.tsx — No new issues
  • packages/kilo-vscode/webview-ui/diff-viewer/VirtualDiffList.tsx — No new issues
  • packages/kilo-vscode/webview-ui/src/components/chat/MessageList.tsx — No new issues
  • packages/kilo-vscode/webview-ui/src/components/chat/PermissionDiff.tsx — No new issues
  • packages/opencode/src/kilo-sessions/remote-sender.ts — No new issues
  • packages/opencode/src/kilocode/permission/rule.ts — No new issues
  • packages/opencode/src/kilocode/provider/codex-refresh.ts — No new issues
  • packages/opencode/src/permission/index.ts — No new issues
  • packages/opencode/src/plugin/codex.ts — No new issues
  • packages/opencode/src/plugin/loader.ts — No new issues
  • packages/opencode/src/session/llm/request.ts — No new issues
  • packages/opencode/src/session/processor.ts — No new issues
  • packages/opencode/src/session/tools.ts — No new issues
  • packages/sdk/js/src/v2/gen/types.gen.ts — No new issues
  • perf/test-suite.md — Markdown table formatting, no new issues
  • script/check-opencode-promise-facades.ts — Ratchet threshold adjustments, no new issues
  • Tests (11 files) — No new issues

Fix these issues in Kilo Cloud

Previous review (commit d2162d8)

Status: 1 Issue Found | Recommendation: Fix before merge

Overview

Severity Count
CRITICAL 1
WARNING 0
SUGGESTION 0
Issue Details (click to expand)

CRITICAL

File Line Issue
packages/core/src/plugin.ts 190-191 Stray merge artifact text // opencode and // sdcok (opencode backwards)
Other Observations (not in diff)
File Line Issue
`packages/core/src/plu

[Snapshot truncated.]

Additional previous summary content was truncated to keep this comment within platform limits.


Reviewed by glm-5.2-20260616 · 195,810 tokens

Review guidance: REVIEW.md from base branch main

@imanolmzd-svg

Copy link
Copy Markdown
Contributor Author

The critical issue reported by the review bot is not critical and is present both upstream and locally

imanolmzd-svg and others added 8 commits June 17, 2026 14:03
…42.3

Introduce a `metadata` method on SessionProcessor.Handle that buffers
metadata emitted before tool-call registration, then applies it on the
running transition. This decouples metadata emission timing from
tool-call lifecycle.

Downgrade virtua from 0.49.1 to 0.42.3 and migrate the virtualizer API:
- Replace `findItemIndex(scrollOffset)` with `findStartIndex()`
- Replace `bufferSize` prop with `overscan` (count-based)

Additional changes:
- Change Permission.reply return type from Promise<boolean> to Promise<void>
- Make Ruleset type readonly and remove unnecessary array spreads
- Update nvidia provider headers to reference Kilo branding
- Reorder SDK event type definitions for installation events
- Reduce promise facade allowlist in check script
The models snapshot is now embedded directly in the compiled binary,
eliminating the need for a separate models-snapshot.json file alongside
the CLI executable.

- Delete script/kilocode/models-snapshot.ts build-time preparation
- Delete src/kilocode/provider/models-snapshot.ts runtime loader
- Remove snapshot copy steps from vscode, jetbrains, and opencode builds
- Remove snapshot existence checks from PrepareLocalCliTask/CheckCliTask
- Remove snapshot-related .gitignore and .prettierignore entries
- Simplify watch-cli, local-bin, and build scripts
- Update smoke test error messages to say "embedded" not "sidecar"
- Simplify models-snapshot tests to validate parsing only
- Remove models-snapshot from extract-source-links skip list
…urations

Provider plugins (llmgateway, nvidia, openrouter, vercel, zenmux) now
verify the provider ID before applying attribution headers, preventing
custom-defined providers sharing the same endpoint URL from being
mutated by built-in plugin logic.

Additional changes:
- Add auth-v2.json migration path for multi-account store continuity
- Remove obsolete @ai-sdk/xai patch and ConsoleCommand registration
- Add native LLM session recordings for anthropic, openai-oauth, and zen
- Update CLI help snapshots to reflect Kilo branding
- Expand i18n with usage-exceeded dialog strings (it, nl, uk)

@markijbema markijbema left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dont forget to generate the changeset after merging, and/or do it now in this pr

Document all incorporated upstream changes including native OpenAI
runtime preview, diff viewer redesign, Grok OAuth support, v2 HTTP API
error schemas, and numerous bugfixes across plugin loading, session
management, and TUI keybinds.
Comment thread .changeset/opencode-v1-15-4-to-v1-15-9.md Outdated
Comment thread .changeset/opencode-v1-15-4-to-v1-15-9.md Outdated
… changeset

Remove v2 HTTP API error-schema notes and `opencode login` default
that do not apply to the Kilo fork. Rename OPENCODE_PERMISSION to
KILO_PERMISSION to reflect the correct environment variable.
@imanolmzd-svg
imanolmzd-svg enabled auto-merge June 18, 2026 11:15
@imanolmzd-svg
imanolmzd-svg merged commit 036d1cf into main Jun 18, 2026
26 checks passed
@imanolmzd-svg
imanolmzd-svg deleted the imanolmaiztegui/kilo-opencode-v1.15.9 branch June 18, 2026 11:26
t7tran pushed a commit to t7tran/kilocode that referenced this pull request Aug 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.