Commit Graph
14352 Commits
Author SHA1 Message Date
Mark IJbema ae97759d4d fix(vscode): stop trimming edit mode fields on every keystroke
Removes .trim() from onChange handlers for description, prompt, and
model fields so spaces can be typed without being stripped. The create
mode form still trims on submit which is correct for one-shot actions.
2026-03-25 09:20:43 +01:00
Mark IJbema c5fd59e3f2 feat(vscode): add back-to-list button at bottom of edit mode view 2026-03-25 09:00:55 +01:00
Mark IJbema 9ee65ef2bf refactor(vscode): remove Done/Back buttons from edit mode, save on every change
All edit mode fields now write to the ConfigContext draft immediately on
change, making the Save Bar appear as soon as any edit is made. The
user navigates back via the existing back arrow in the header. Discard
is available via the Save Bar.
2026-03-25 08:53:27 +01:00
Mark IJbema daf8d219b2 feat(vscode, i18n): rename edit mode Save button to Done across all 16 languages 2026-03-25 08:37:50 +01:00
Mark IJbema f672924c6b refactor(vscode): route mode create/edit through ConfigContext instead of separate handlers
Create and edit mode now accumulate changes in the ConfigContext draft
like all other settings, persisted via the Save Bar. This removes the
inconsistency where create/update bypassed the draft and triggered
immediate CLI restarts, while model/temperature/top_p/steps batched.

- Remove session.createMode() and session.updateMode()
- Remove handleCreateMode/handleUpdateMode from KiloProvider
- Remove CreateModeMessage/UpdateModeMessage types
- Add description and mode fields to AgentConfig type
- handleCreate uses updateAgentConfig with mode/description/prompt
- handleSaveEdit uses updateAgentConfig uniformly for all mode types
2026-03-24 19:06:06 +01:00
Mark IJbema 7bf8575f49 fix(vscode): navigate back to list after saving mode edits 2026-03-24 17:27:09 +01:00
Mark IJbema 04ad7b62d0 feat(vscode): make edit/create mode fields full-width and auto-sizing 2026-03-24 17:18:07 +01:00
github-actions[bot] 8626a8a0a1 chore: update kilo-vscode visual regression baselines 2026-03-24 16:07:41 +00:00
Mark IJbema f5d9198e10 test(vscode): add screenshot story for edit custom mode screen 2026-03-24 17:05:20 +01:00
Mark IJbema 815085d3d0 feat(vscode): port improvements from #7226 into modes management screen
- Add empty state card when no custom modes exist in the agents list
- Post configUpdated immediately after config.update() in handleCreateMode
  and handleUpdateMode so the webview reflects changes without waiting for
  the full dispose+refetch cycle
- Tighten name validation regex to /^[a-z][a-z0-9-]*$/ (must start with
  letter, hyphens only, no underscores)
- Add createMode/editMode i18n translations to all 15 non-English locales
  (ar, br, bs, da, de, es, fr, ja, ko, no, pl, ru, th, zh, zht)
2026-03-24 16:50:54 +01:00
github-actions[bot] 62654ded2f chore: update kilo-vscode visual regression baselines 2026-03-24 16:50:54 +01:00
kiloconnect[bot] c44b45f7d8 feat(vscode): add create, edit, and delete functionality for custom modes
Add full CRUD management for custom modes in the Agent Behaviour settings
tab, matching the functionality from the legacy extension (kilocode-legacy).

Changes:
- Add createMode/updateMode message types and handlers in KiloProvider
  that write to config.agent and refresh the CLI backend state
- Rewrite agents subtab with interactive list (click to edit), create
  mode form, and inline edit view with description/prompt/model/temp
- Add createMode/updateMode to session context for webview-to-extension
  communication
- Add i18n strings for create/edit mode UI
- Update StoryProviders mock with new session context methods
2026-03-24 16:50:53 +01:00
Marius a6e525477f fix(agent-manager): preserve review comments when switching session tabs (#7538)
* fix(agent-manager): preserve review comments when switching session tabs

DiffPanel resolved diffs via a direct session-ID lookup into diffDatas,
which returned [] when switching to a tab whose diffs hadn't been fetched
yet. The sanitize effect then wiped all worktree-scoped comments against
the empty diff set.

Use reviewDiffs() (which falls back to any session in the same worktree)
so the diffs source matches the worktree-level comment storage.

* test(agent-manager): remove misleading regression test

The test only re-asserted existing sanitizeReviewComments behavior
(comments + empty diffs → empty) which already had coverage. It did
not exercise the actual fix (DiffPanel wiring to reviewDiffs) and
would pass regardless of whether the fix was reverted.
2026-03-24 16:46:38 +01:00
Mark IJbema d45370c71d Merge pull request #7530 from Kilo-Org/fix-windows-cmd-popups
fix: prevent cmd.exe windows from appearing on Windows
2026-03-24 15:33:05 +01:00
Mark IJbema 00aa44579f refactor(vscode): centralise process spawning in util/process.ts to enforce windowsHide
Add src/util/process.ts with spawn() and exec() wrappers that always set
windowsHide: true, preventing cmd.exe console popups on Windows.

Replace direct child_process imports in GitOps, shell-env, installer, and
server-manager with the new wrappers. Document the pattern in both
packages/kilo-vscode/AGENTS.md and packages/opencode/AGENTS.md so future
contributors know to use the wrappers instead of raw child_process calls.
2026-03-24 15:10:15 +01:00
Catriel Müller 7441339a7f Merge pull request #7535 from Kilo-Org/catrielmuller/kilo-custom-modes-support
feat(gateway): add organization custom modes support
2026-03-24 11:07:19 -03:00
Catriel Müller 12652ee349 fix: vscode lint 2026-03-24 10:36:17 -03:00
Catriel Müller a8e0da3da7 feat: Kilo gateway custom modes 2026-03-24 10:22:54 -03:00
Mark IJbema 80aacd6518 fix: scope process.type shim to vscode context via KILO_PLATFORM env var 2026-03-24 14:11:39 +01:00
Marius 04d0175d55 fix(vscode): fix file path drop mentions to work with attachment system (#7477)
* feat(vscode): support file path drops as @-mentions in chat input (#7476)

Dragging files from VS Code's explorer or editor tabs into the chat
prompt now inserts them as @/relative/path mentions (matching the legacy
extension behavior). Image drops from the OS file manager continue to
work as image attachments.

Adds convertToMentionPath utility with full test coverage including
protocol stripping, URI decoding, Windows paths, and vscode-remote.

* fix(vscode): fix file path drop mentions to work with attachment system

Three bugs from #7476:

1. Dropped mentions were never registered in mentionedPaths, so
   buildFileAttachments could not resolve them into file attachments.
   Fix: expose addPaths() on useFileMention, call it from the drop handler.

2. convertToMentionPath returned @/relative (with @ prefix and leading /)
   but the mention system expects bare relative paths like src/index.ts
   with callers adding the @ prefix. Fix: return bare relative path.

3. handleDragOver accepted text/plain, which intercepted normal text drags
   from the editor. extractDropPaths also treated any text as file paths.
   Fix: only accept application/vnd.code.uri-list in dragover; fall back
   to text/plain in extractDropPaths only when every line is a file path.
2026-03-24 13:45:39 +01:00
MariusandMark IJbema d6d082ea80 fix(vscode): use correct SCM repository for commit message generation (#7528)
When multiple git repositories are present (e.g. worktrees), the
command always used repositories[0] regardless of which SCM panel
the user clicked. Now accepts the SourceControl argument passed by
VS Code from scm/title and scm/input menus to match the correct
repository.

Co-authored-by: Mark IJbema <mark@kilocode.ai>
2026-03-24 13:12:40 +01:00
Mark IJbema 53ab8e9652 fix: prevent cmd.exe windows from appearing on Windows
- Set process.type in mcp/index.ts so MCP SDK's StdioClientTransport
  uses windowsHide:true when spawning MCP servers on Windows (the SDK
  only enables this in Electron, checking 'type' in process)
- Add windowsHide:true to GitOps.ts git execFile calls
- Add windowsHide:true to marketplace installer tar execFile call
2026-03-24 13:11:56 +01:00
Scott Breitenother 1f7d869ec9 Merge pull request #7519 from Kilo-Org/docs/fix-auto-balanced-model-m27
docs(kilo-docs): update Auto Balanced model from M2.5 (free) to M2.7 (paid)
2026-03-24 07:58:24 -04:00
kilo-code-bot[bot]andkiloconnect[bot] c87457ba5a fix(cli,vscode): consume stream explicitly to prevent commit message infinite loading (#7434)
* fix(cli,vscode): prevent infinite loading in commit message generation

Add timeout-based AbortController to both server-side LLM stream (30s)
and client-side HTTP request (35s) so the SCM progress spinner cannot
hang indefinitely. Make the VS Code progress indicator cancellable so
users can abort manually. Also fix outdated test mocks that referenced
the removed getHttpClient API instead of the current SDK getClient.

* fix(cli,vscode): consume stream explicitly to prevent infinite loading

Replace `await stream.text` with `for await (chunk of stream.textStream)`
so that stream-level errors surface immediately instead of leaving the
promise hanging indefinitely. With some providers and Vercel AI SDK
versions, the `.text` promise never resolves when the underlying stream
errors out early, causing the spinner to load forever (fixes #7345).

Add a catch block that distinguishes timeout aborts from other errors
and re-throws with a human-readable message (partially addresses #6568).

In the VS Code extension, log the actual error in the getClient catch
block instead of silently discarding it.

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-03-24 12:25:17 +01:00
kiloconnect[bot] a08905f568 docs(kilo-docs): update Auto Balanced model from M2.5 (free) to M2.7 (paid)
The Auto Balanced tier now uses Minimax M2.7 (paid) for implementation
modes instead of Minimax M2.5 (Free). Update references in the user-facing
auto-model docs and the gateway models-and-providers page.
2026-03-24 11:00:43 +00:00
kilo-maintainer[bot] b20cedb571 release: v7.1.3 v7.1.3 2026-03-24 10:45:11 +00:00
Mark IJbema 7c22d6ffef Merge pull request #7496 from Kilo-Org/mark/autocomplete-credit-exhaustion-backoff
fix(vscode): add circuit breaker and backoff for autocomplete API errors
2026-03-24 11:25:40 +01:00
Mark IJbema 9fbb312080 fix(vscode): restrict extractStatus regex to 4xx/5xx status codes
We only care about client (4xx) and server (5xx) errors. Tightening
the regex from [1-5] to [45] avoids matching 1xx/2xx/3xx numbers that
could appear in error messages.
2026-03-24 11:15:35 +01:00
Mark IJbema 682f800113 fix(vscode): reset fatalNotified alongside backoff on auth changes
After a reconnect or global.disposed, only backoff state was reset but
fatalNotified stayed true. A subsequent 402 would block autocomplete
without showing the warning notification again. Add resetBackoff()
method that resets both, and use it from all external call sites.
2026-03-24 11:13:55 +01:00
Mark IJbema c7f1286236 Merge pull request #7516 from Kilo-Org/revert-7439-mark/bash-default-ask
Revert "feat(cli,vscode): change default bash auto-approve rule to ask"
2026-03-24 11:12:04 +01:00
Mark IJbema a637715a5e Revert "feat(cli,vscode): change default bash auto-approve rule to ask" 2026-03-24 11:09:37 +01:00
Mark IJbema 84d6fa553e fix(vscode): anchor extractStatus regex to colon to avoid false matches
The previous regex /\b([1-5]\d{2})\b/ matched the first 3-digit number
in range, so 'after 128 retries: 429' would extract 128 instead of 429.
Anchor to colon with /:\s*([1-5]\d{2})\b/ since our error messages
always use the 'SSE failed: 402' / 'FIM request failed: 429' format.
2026-03-24 11:08:47 +01:00
Marius bf07e75ef0 feat(agent-manager): add right-click context menus for worktrees and sessions (#7515)
Add context menus to worktree sidebar items (Rename, Delete, Open in
VS Code, Copy Path) and unassigned session items (Open in worktree).
Restyle context menus via am-ctx-menu class to match dropdown-menu
visuals. Show keyboard shortcuts in menu items. Extract shared
parseBindingTokens into keybind-tokens.ts. Translate new keys across
all 18 locales.
2026-03-24 10:59:30 +01:00
Mark IJbema d047d492a2 Merge pull request #7494 from Kilo-Org/mark/fix-read-before-write-tool-error
feat(ui): render tool hints for common non-critical tool errors
2026-03-24 10:58:50 +01:00
Mark IJbema 501d67e567 fix(vscode): use balance check instead of FIM probe for 402 recovery
Instead of sending a wasted FIM request every 5 minutes to check if
credits are back, call the lightweight /kilo/profile endpoint to check
balance. If balance > 0, reset the backoff so autocomplete resumes.
Only applies to 402 (credits depleted) — auth errors (401/403) are
handled by the global.disposed reset on login.
2026-03-24 10:50:49 +01:00
Mark IJbema 630282ae58 Merge pull request #7511 from Kilo-Org/mark/agents-source-links
docs: add source-links freshness check to AGENTS.md
2026-03-24 10:44:02 +01:00
Mark IJbema 5974d89527 fix(vscode): use app.kilo.ai/credits URL for add credits link 2026-03-24 10:42:37 +01:00
Mark IJbema 67b34b0fad fix: exclude models-snapshot.ts from source link extraction
The models-snapshot.ts file contains hundreds of provider API endpoint
URLs that are not user-facing links. Regenerate source-links.md with
the correct 76 URLs.
2026-03-24 10:34:52 +01:00
Mark IJbema 1caacec101 Merge pull request #7509 from Kilo-Org/mark/telemetry-debug-logging
feat(vscode): add debug logging for telemetry events
2026-03-24 10:33:17 +01:00
Mark IJbema aa87d75933 docs: add source-links freshness check to AGENTS.md 2026-03-24 10:29:14 +01:00
Mark IJbema a5ac781557 chore: regenerate source-links.md 2026-03-24 10:29:04 +01:00
Mark IJbema cf61c4b907 feat(vscode): add debug logging for telemetry events
Log telemetry event names and properties to the Extension Host output
channel. The legacy extension had this logging and it is useful for
debugging which events are firing and with what data.
2026-03-24 10:28:09 +01:00
github-actions[bot] 1791554987 chore: update visual regression baselines 2026-03-24 09:27:57 +00:00
Mark IJbema c251911444 Merge branch 'main' into mark/fix-read-before-write-tool-error 2026-03-24 10:25:48 +01:00
Mark IJbema 77400329d6 Merge pull request #7506 from Kilo-Org/mark/tool-error-screenshot-baseline
feat(ui): add tool hint errors visual regression baseline
2026-03-24 10:25:33 +01:00
Mark IJbema c33235bea3 Merge branch 'main' into mark/tool-error-screenshot-baseline 2026-03-24 10:23:07 +01:00
Mark IJbema 9f37feeda1 fix(vscode): reset autocomplete backoff on auth changes and add probe interval
Reset ErrorBackoff immediately when the CLI emits global.disposed (login,
logout, org switch). For credit purchases that happen outside the extension,
allow a single probe request every 5 minutes so autocomplete self-heals
without requiring a reconnect.
2026-03-24 10:20:38 +01:00
Mark IJbema c20438b0a8 Merge pull request #7502 from Kilo-Org/mark/remove-holefiller
refactor(vscode): remove dead HoleFiller autocomplete code
2026-03-24 10:20:37 +01:00
github-actions[bot] 55fdac3b4a chore: update visual regression baselines 2026-03-24 09:14:31 +00:00
Mark IJbema f281597333 feat(ui): add ToolHintErrors story for visual regression baseline
Add a story showing all 5 tool error types that PR #7494 will restyle
as hints: read-before-write, modified-since-read, identical-strings,
whitespace-mismatch, and multiple-matches. The visual regression CI
will auto-generate a baseline screenshot so the PR can show the diff.
2026-03-24 10:12:06 +01:00