OpenCode v1.17.4 - #12204
Merged
Merged
Conversation
…change shortcut; tab to cycle actions in dialog select (#30989)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
johnnyeric
force-pushed
the
johnnyeric/kilo-opencode-v1.17.4
branch
from
July 15, 2026 18:57
d7c6134 to
6d99713
Compare
johnnyeric
force-pushed
the
johnnyeric/kilo-opencode-v1.17.4
branch
from
July 15, 2026 19:15
6d99713 to
790affb
Compare
johnnyeric
force-pushed
the
johnnyeric/kilo-opencode-v1.17.4
branch
2 times, most recently
from
July 15, 2026 22:59
b3830fb to
d57b5fc
Compare
kirillk
approved these changes
Jul 16, 2026
johnnyeric
force-pushed
the
johnnyeric/kilo-opencode-v1.17.4
branch
from
July 16, 2026 10:44
d57b5fc to
e6d0427
Compare
…ode-v1.17.4 # Conflicts: # .github/workflows/test.yml # packages/opencode/src/session/processor.ts # packages/opencode/test/kilocode/session-prompt-permission-refresh.test.ts
…ode-v1.17.4 # Conflicts: # packages/opencode/src/cli/cmd/tui/plugin/internal.ts # packages/opencode/src/kilocode/cli/cmd/tui/component/dialog-memory.tsx # packages/opencode/src/kilocode/cli/cmd/tui/component/memory-sidebar.tsx # packages/opencode/src/kilocode/plugins/memory-status.tsx
…ode-v1.17.4 # Conflicts: # packages/opencode/src/cli/cmd/tui.ts # packages/opencode/src/cli/tui/worker.ts # packages/opencode/test/kilocode/cli/tui/thread.test.ts
…ode-v1.17.4 # Conflicts: # packages/opencode/test/session/compaction.test.ts
pandemicsyn
added a commit
to pandemicsyn/neondeck
that referenced
this pull request
Jul 17, 2026
## Summary - add a repeatable `npm run bench:pr-review` command for immutable revisions in registered repositories - measure backend cold/warm/local/fallback behavior and production-browser tree, thread, and first-patch readiness - reconcile the frontend audit and PR performance plan with phases 1–5 that already shipped - retain the original findings and document candidate fixes without changing production behavior ## Real target Measured open `Kilo-Org/kilocode#12204` at a fixed head/base revision: - 1,019 files, 45,053 additions, 23,744 deletions - 47 review threads; two unresolved paths - both target objects were absent before the first local request ## Results - cold local metadata: 4,978 ms, 295 kB, zero truncated files; misses the 3 second target - warm backend: 311 ms file list and 643 ms sequential first patch - production browser medians: 869 ms tree, 1,971 ms first patch, 2,183 ms threads - production rendering remained healthy: 876 ms LCP, 0.0012 CLS, zero long tasks - every browser sample started two review-thread requests as optimistic PR state settled to authoritative detail - four concurrent local patches took 1,952 ms because each patch path recomputes full 1,019-file metadata - GitHub fallback: 3,894 ms cold / 24 ms cached, 765 kB metadata, one truncated file ## Discussion gate This PR intentionally does not implement the measured production fixes. The plan now proposes, in order: 1. stabilize review-thread query identity while preserving explicit invalidation 2. reuse or single-flight immutable local metadata across patch reads 3. remeasure before delaying neighbor/unresolved prefetch or changing the cold-fetch target ## Verification - `npm run bench:pr-review -- ... --samples 3` - `npm run build:dashboard` - `npm run check` (84 files, 524 tests) - `npm run format:check` - standalone Oxlint and syntax checks for the new benchmark - direct Chrome DevTools production trace - `git diff --check`
marius-kilocode
approved these changes
Jul 17, 2026
pandemicsyn
added a commit
to pandemicsyn/neondeck
that referenced
this pull request
Jul 17, 2026
## What changed - cache metadata-only local PR diffs in a bounded 10-minute, eight-revision LRU keyed by repo path, merge-base, and head SHA - single-flight concurrent metadata misses and reuse one registry/ref resolution inside each per-file request - key mutable review threads by repo and PR number, while preserving mutation updates and authoritative activity invalidation - keep the original performance finding in the HTML report, mark the two approved fixes complete, and document the next active-patch-priority discussion - add a patch changeset ## Why The real registered-PR trace showed that every patch request recomputed metadata for all 1,019 files, while optimistic-to-authoritative PR settlement started a second review-thread request and could abandon/reissue unresolved-path patches. ## Measured impact Same immutable `Kilo-Org/kilocode#12204` target, three production-browser samples: - warm metadata: 311 ms → 90 ms (71.2% faster) - sequential patch: 643 ms → 303 ms (52.9% faster) - four-path fanout: 1,952 ms → 1,055 ms (46.0% faster) - browser first patch: 1,971 ms → 1,195 ms (39.4% faster) - review-thread requests: 2 → 1 in every sample - aborted patch reads: 2 in the reproduced complete trace → 0 in every final sample - duplicate-case API transfer: 1,122 kB → 743 kB (33.8% lower) The first patch remains 195 ms over the browser target, so neighbor/unresolved prefetch prioritization remains a discussion item rather than being added to this PR. ## Validation - `npm run verify` - `npm run bench:pr-review -- --origin http://127.0.0.1:3417 --repo Kilo-Org/kilocode --number 12204 --head 3e0d20c03d43124ac1bc7841ba4ba6aa503d96bd --base a4aceaa2b9ebc72b3fda807ed34da72f5e300872 --base-ref main --title "OpenCode v1.17.4" --samples 3` - direct Chrome DevTools trace: 551 ms LCP, 0 CLS, 39 ms forced reflow with no estimated savings
pandemicsyn
added a commit
to pandemicsyn/neondeck
that referenced
this pull request
Jul 18, 2026
## Summary - make the real-PR benchmark reject accidental Vite development runs and record aborted requests plus thread request/render timing - use a lean review-surface GraphQL query while preserving the full-fidelity Flue action - add a conservative 15-second, 16-entry in-memory cache with token-scoped keys, mutation invalidation, race protection, and caller cancellation - update the retained performance plan and HTML static-review report without removing prior findings or measurements - add a patch changeset ## Why The production review surface spent only about 11 ms rendering threads after the response, while the uncached GitHub GraphQL request took roughly 0.9–1.1 seconds and transferred 381 KB. The remaining bottleneck was the request path rather than React, TanStack Query, or Pierre. ## Measured result Real registered target: `Kilo-Org/kilocode#12204`, 1,019 files and 47 review threads. - warm thread visibility: **1,724 ms → 459 ms median** - thread response: **381,244 B → 58,240 B** (84.7% smaller) - total API transfer: **742,850 B → 400,821 B** - warm backend thread read: **6.8 ms median** - post-response React rendering: **6.5 ms median** - final trace: **530 ms LCP, 0.00 CLS**, zero aborted/failed API requests The initial uncached GitHub read remains about 655 ms, the tree median remains 642 ms, and both stay explicit follow-ups. ## Cache safety The cache is process-local only, capped at 16 entries, expires after 15 seconds, and uses a token fingerprint in its key. Successful review submissions, replies, and resolve/unresolve actions invalidate the target. A mutation racing an in-flight read prevents the stale result from being cached. In-flight calls are not shared, so one caller's cancellation cannot cancel another caller's work. ## Validation - `npm run verify` — lint, layers, database checks, types, 560 unit tests, 33 git tests, 129 integration tests, dashboard/docs builds, package validation, pack smoke, formatting - final `npm run check` after cancellation-semantics hardening — 561 unit tests - production `npm run bench:pr-review` against the immutable PR revision - Chrome DevTools production trace and accessibility-tree smoke check
t7tran
pushed a commit
to t7tran/kilocode
that referenced
this pull request
Aug 14, 2026
…ode-v1.17.4 OpenCode v1.17.4
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
OpenCode v1.17.4
Core
Improvements
cwdsupport for local MCP servers so they can start from a workspace-relative directory.Bugfixes
OpenCode v1.17.3
No notable changes.
OpenCode v1.17.2
Core
Bugfixes
Desktop
Bugfixes
OpenCode v1.17.1
Core
Improvements
@autocomplete when needed.Bugfixes
referenceconfig entries continue to load under the newerreferencesconfig key.Desktop
Improvements
/new-sessionroute with draft tabs that keep your prompt and project selection together until you start the session.Bugfixes
OpenCode v1.17.0
Core
Improvements
fff-backed search tools.X-Session-Idheaders for proxy setups that need sticky routing.reasoningas an interleaved field option for vLLM providers.mcp addnow works in non-interactive flows.auth logoutnow supports search when choosing an account.Bugfixes
pom.xml.TUI
Improvements
Bugfixes
Desktop
Improvements
Bugfixes
SDK
Improvements