Commit Graph

4558 Commits

Author SHA1 Message Date
Imanol Maiztegui faebb41b74 Merge pull request #9034 from Kilo-Org/imanol/snapshot
Add heap snapshot command to VSCode extension
2026-04-16 13:49:09 +02:00
Catriel Müller 28aebeb157 Merge pull request #8986 from Kilo-Org/catrielmuller/fix-memory-webfetch-test
fix: Flaky tests
2026-04-16 08:31:29 -03:00
Imanol Maiztegui 71852f2466 feat(vscode): add heap snapshot command for bundled CLI
Introduce a "Take Heap Snapshot" command in the VS Code Command Palette
that triggers the bundled CLI process to write a V8 heap snapshot to the
log directory. This includes:

- New server route POST /kilocode/heap/snapshot in opencode
- HeapSnapshot module using node:v8 writeHeapSnapshot
- VS Code command registration and client-side fetch logic
- Generated SDK types and client methods for the new endpoint
2026-04-16 12:58:37 +02:00
kiloconnect[bot] 0885367a3d fix(cli): add pnpm-lock.yaml and yarn.lock to .kilo/.gitignore
The .gitignore generated in .kilo/ config directories was missing
pnpm-lock.yaml and yarn.lock patterns, causing these lockfiles to
appear as untracked files in users' projects.
2026-04-16 09:28:46 +00:00
kiloconnect[bot] 2c25720ec3 fix(cli): restore model.prompt-based system prompt selection
The switch(model.prompt) block in SystemPrompt.provider() was
accidentally dropped during merge conflict resolution in fa2c979ac.
This meant the prompt property set by the Kilo gateway (e.g. codex,
anthropic, beast) was stored on the model but never read, causing all
Kilo-routed models to fall back to model.api.id string matching.
2026-04-15 19:29:17 +00:00
Catriel Müller 3faed47516 fix: fix git test 2026-04-15 13:51:05 -03:00
Marius d4ab3331c8 revert: remove suggest tool feature (#8994)
Reverts PR #6404 (feat: suggest code review tool) and PR #8988 (fix: dismiss suggestions on new message).
2026-04-15 16:13:42 +00:00
Alex Alecu 3b96485dc1 fix(cli): dismiss suggestions on new message to prevent stuck session 2026-04-15 17:47:25 +03:00
Marius c584eec1db fix(cli): remap child session references on fork to prevent subagent state leaks (#8956)
* fix(cli): remap child session references on fork to prevent subagent state leaks

When forking a session, task tool parts referencing child sessions were
copied verbatim, causing both original and forked sessions to share the
same subagent references. This led to SSE events and permission prompts
leaking across sessions in the Agent Manager.

* fix: remove redundant recursive remapChildren call

Session.fork() already calls remapChildren via the hook, so the explicit
recursive call inside remapChildren was double-forking nested descendants.
2026-04-15 11:12:35 -03:00
Marius 581bbbb319 feat(cli,vscode): add custom commit message prompt setting (#8974)
* feat(cli,vscode): add custom commit message prompt setting

Support user-configurable system prompt for AI commit message generation.
Adds a dedicated Commit Message tab in VS Code settings with a toggle
to override the built-in conventional commits prompt.

* fix: add missing kilocode_change annotation and fix i18n formatting

* refactor: move Config reading to route handler, add textarea max-height

Move kilo-specific Config.get() from shared generate.ts to the route
handler. The generator now accepts an optional prompt param instead.
Cap textarea height at 300px with scroll for long prompts.

* fix: resolve annotation gaps and prompt clear serialization bug

Add kilocode_change markers to JSDoc comment and extend block to
cover the generateCommitMessage call. Use empty string instead of
undefined when clearing the prompt so JSON serialization persists
the removal to disk.

* refactor(cli): move commit-message module to kilocode paths

Move src/commit-message/ to src/kilocode/commit-message/, route to
src/kilocode/server/routes/, and tests to test/kilocode/commit-message/.
Extract CommitMessageSchema to KilocodeConfig and reference it from
the main Config.Info. Removes all kilocode_change markers from moved
files since they are now in exempt paths.

* test(cli): fix moved commit-message tests
2026-04-15 16:09:05 +02:00
Marian Alexandru Alecu e8fd495708 Merge pull request #8972 from Kilo-Org/kilocode-auto-approve-permissions
fix(cli): fix disable auto-approve leaving stale config and UI
2026-04-15 16:49:39 +03:00
Marian Alexandru Alecu 6b77077167 Merge pull request #8971 from Kilo-Org/kilocode-worktree-session-list
fix(cli): worktree session list shows all worktrees
2026-04-15 16:47:18 +03:00
Marian Alexandru Alecu 5f7954c43f Merge pull request #6404 from Kilo-Org/feat/suggest-code-review
feat: Suggest code review after implementation
2026-04-15 15:30:29 +03:00
Alex Alecu 5062339220 docs(cli): clarify stripNulls jsdoc 2026-04-15 15:09:33 +03:00
Alex Alecu 3fd8357af4 fix(cli): propagate suggestion accept failure to remote clients 2026-04-15 14:59:09 +03:00
Alex Alecu ef435ebba1 fix(cli): restrict suggest tool to code-review-only
Narrow suggest tool prompts so the LLM only uses it to offer local
code review, not generic next steps like committing, pushing, or
running tests.
2026-04-15 14:53:36 +03:00
Alex Alecu e937894829 fix(cli): fix type errors from accept return type 2026-04-15 14:42:13 +03:00
Alex Alecu c61846b618 fix(cli): return 404 when suggestion accept no-ops 2026-04-15 14:35:21 +03:00
Alex Alecu 61c0105565 fix(cli): reject promise on invalid action index 2026-04-15 14:35:21 +03:00
Alex Alecu 1b5832ce3f fix(cli): limit concurrent git processes for untracked files 2026-04-15 14:35:21 +03:00
Alex Alecu 3d74441b7e fix(cli): delete only nested sentinel to preserve other wildcard rules 2026-04-15 14:31:39 +03:00
Alex Alecu 624be2310d fix(cli): fix disable auto-approve leaving stale config and UI 2026-04-15 14:09:24 +03:00
Marius 9dd1f631b4 revert: restore patch fields for diff compatibility (#8970)
Reverts #8967 and #8953. OpenCode is migrating to use patch strings as
the primary diff transport — dropping them breaks forward compatibility
with upstream's SessionReview rendering pipeline, which falls back to
patch when before/after are absent.
2026-04-15 13:05:44 +02:00
Alex Alecu 74288ef0c2 fix(cli): worktree session list ignoring SDK-injected directory filter
The SDK rewrite interceptor injects directory=<cwd> into every GET request.
The experimental session list endpoint was passing this to listGlobal even
when worktrees=true, restricting results to only the current directory.
Skip the directory filter when worktrees is active so all worktree sessions
are returned. Add regression test that includes directory in query params.
2026-04-15 13:54:49 +03:00
Christiaan Arnoldus cada8a95bc Fix typecheck 2026-04-15 11:55:17 +02:00
Christiaan Arnoldus ee66ba1984 Merge branch 'main' into session/agent_9864f1dc-ca7c-4243-877b-14d089b66f92 2026-04-15 11:49:58 +02:00
Christiaan Arnoldus e01716a2d8 Pick variants from the model 2026-04-15 11:48:57 +02:00
Marian Alexandru Alecu 9df0dbea22 Merge branch 'main' into feat/suggest-code-review 2026-04-15 12:48:31 +03:00
Alex Alecu ee12fb5283 fix(cli): skip output truncation for suggest tool to fix test failures 2026-04-15 12:07:12 +03:00
Alex Alecu 543660bc8d fix(cli): parallelize git diff for untracked files in review
Sequential git diff --no-index per untracked file was slow in repos
with many untracked files (e.g. after build or codegen). Run all
diffs concurrently with Promise.all.
2026-04-15 11:56:48 +03:00
Marius 22806d4966 fix(cli): avoid worktree diff patch generation (#8953) 2026-04-15 10:41:00 +02:00
Marius 7939a021cb fix(cli): re-apply dead-stream detection to SSE endpoints to prevent memory leak on Windows (#8952)
* fix(cli): re-apply dead-stream detection to SSE endpoints to prevent memory leak on Windows

The upstream OpenCode v1.3.0 merge rewrote SSE routes with AsyncQueue but
dropped our dead-stream detection. On Windows, stream.onAbort() may never
fire after client disconnect (IOCP delays TCP RST detection), leaking a
GlobalBus listener, heartbeat interval, and AsyncQueue per dead connection.
Wrap writeSSE in try/catch to clean up eagerly on write failure.

* fix(cli): log dead-stream cleanup in SSE endpoints
2026-04-15 10:40:20 +02:00
Marian Alexandru Alecu bab81482a9 Merge branch 'main' into feat/suggest-code-review 2026-04-15 11:40:13 +03:00
Marian Alexandru Alecu 5182ea6a44 Merge pull request #8919 from Kilo-Org/fix/internal-skills
fix(cli): restore built-in skill registration
2026-04-15 11:35:36 +03:00
Marius 9a0f30ecbd chore(cli): untrack models-snapshot files (#8947)
These files are already in .gitignore but were committed before the
rule was added. Remove them from tracking so the gitignore takes
effect and build-generated changes stop appearing in diffs.
2026-04-15 07:59:51 +00:00
Marian Alexandru Alecu c22eee3aba Merge branch 'main' into feat/suggest-code-review 2026-04-15 10:42:13 +03:00
Marian Alexandru Alecu b0a658ed11 Merge pull request #8671 from Kilo-Org/fix/skill-read-config-protection
fix(cli): stop config protection from blocking skill reads
2026-04-15 10:38:04 +03:00
Alex Alecu 4146932278 Merge remote-tracking branch 'origin/main' into feat/suggest-code-review
# Conflicts:
#	packages/opencode/src/cli/cmd/tui/routes/session/index.tsx
#	packages/opencode/src/kilocode/tool/registry.ts
#	packages/opencode/src/session/processor.ts
#	packages/opencode/src/tool/registry.ts
2026-04-15 10:30:35 +03:00
Christiaan Arnoldus 7d932c347d Merge branch 'main' into session/agent_9864f1dc-ca7c-4243-877b-14d089b66f92 2026-04-15 09:07:22 +02:00
Marian Alexandru Alecu b882d352e6 Merge branch 'main' into fix/internal-skills 2026-04-15 09:45:43 +03:00
Catriel Müller 87ca280011 fix: typechecks 2026-04-14 17:25:37 -03:00
Catriel Müller 1c67e0fe71 resolve merge conflicts 2026-04-14 17:05:48 -03:00
Catriel Müller c9e0060e2a refactor: kilo compat for v1.4.3 2026-04-14 14:46:57 -03:00
Catriel Müller f3bc6e04f4 Merge pull request #8923 from Kilo-Org/imanolmaiztegui/kilo-opencode-v1.4.0
OpenCode v1.4.0
2026-04-14 14:42:45 -03:00
Marian Alexandru Alecu 5b98391dd5 Merge branch 'main' into tui-usage-info 2026-04-14 20:13:07 +03:00
Catriel Müller 7df2904b60 fix: vscode read tool align title 2026-04-14 13:52:10 -03:00
Alex Alecu 316a6473b6 fix(cli): add kilocode_change markers 2026-04-14 19:41:50 +03:00
Imanol Maiztegui 7ccf624a82 feat(vscode): resolve diff content from patch field in UI components
Update DiffVirtualApp and PermissionDiff to reconstruct before/after
content from the patch field when explicit before/after values are not
provided. Export the `text` helper from kilo-ui session-diff and add
`patch` to the PermissionFileDiff type.

In message-v2, refine stripMessageMetadata to only strip oversized
patches (exceeding MAX_DIFF_SIZE) rather than all patches, preserving
small patches so the UI can render inline diffs without additional
fetches.
2026-04-14 18:39:59 +02:00
Alex Alecu c1aca9a0cc fix(cli): log error in catch block 2026-04-14 19:27:13 +03:00
Alex Alecu 7cf2b36ba0 fix(cli): resolve merge conflicts with main 2026-04-14 19:26:28 +03:00