Commit Graph
13451 Commits
Author SHA1 Message Date
Ligia Zanchet 23c8e5c745 Update webhook trigger for feat PRs 2026-03-16 14:38:31 +01:00
Ligia Zanchet a17a5de954 Add auto-docs workflow for merged feat PRs
This workflow triggers a webhook when a pull request is closed and merged, specifically for branches containing 'feat'. It sends relevant PR data to a specified webhook URL.
2026-03-16 13:30:18 +01:00
Mark IJbema 531ae44377 Merge pull request #7084 from Kilo-Org/mark/i18n-settings-command-interpolation
refactor: pass settings command URI as i18n interpolation variable
2026-03-16 13:05:59 +01:00
Mark IJbema cc12e8d9c7 Merge pull request #7081 from Kilo-Org/mark/fix-settings-panel-reload
fix(vscode): restore settings view and active tab after webview reload
2026-03-16 13:03:07 +01:00
Mark IJbema 0b42d8aec6 feat: open autocomplete tab directly from status bar settings link
The settingsButtonClicked command now accepts an optional tab argument,
and the autocomplete status bar passes "autocomplete" via the command
URI so clicking the settings link deep-links to the autocomplete tab.
2026-03-16 13:00:27 +01:00
kiloconnect[bot] 91c3c6683f refactor: pass settings command URI as i18n interpolation variable instead of hardcoding in locale files
The command URI (command:kilo-code.new.settingsButtonClicked) was hardcoded in all 23 i18n locale files, making it fragile and error-prone to update. This moves the command string to a single constant in AutocompleteStatusBar.ts and passes it as a {{command}} interpolation variable to the translation strings.
2026-03-16 12:58:10 +01:00
Mark IJbema 95221c995d feat(vscode): persist active settings tab across webview reloads
Track the active settings tab so it survives 'Reload Webviews' and can
be targeted from external navigation.

- Extend NavigateMessage with optional `tab` field
- Add settingsTabChanged webview→extension message
- Switch Settings Tabs to controlled mode with tab prop
- SettingsEditorProvider remembers the last active tab and re-sends it
  on every webviewReady
- openPanel() accepts an optional tab param for deep-linking from
  extension commands
2026-03-16 12:54:49 +01:00
Mark IJbema 775a87e8c8 fix(vscode): restore settings view after webview reload
The SettingsEditorProvider disposed its webviewReady listener after the
first fire, so when VS Code's 'Reload Webviews' command re-created the
JS context, no navigate message was re-sent and the panel fell back to
the default newTask view despite still being titled 'Kilo Settings'.

Keep the listener alive for the panel's lifetime so every webviewReady
(including reloads) re-sends the navigate message to the correct view.
2026-03-16 12:35:18 +01:00
Marius 488f726674 feat(vscode): replace message queuing with promptAsync and queued UI indicator (#7029)
* feat(vscode): replace message queuing with promptAsync and queued UI indicator

* ci: re-trigger Kilo Code Review

* fix: message ID monotonicity and image restoration on failed sends

- Extract Identifier.ascending() utility with proper monotonic counter
  instead of hardcoded counter=1 that broke same-millisecond ordering
- Restore image attachments (not just text) when sendMessageFailed fires
- Add filename to FileAttachment type for round-trip preservation
- Add replace() to useImageAttachments hook

* fix: create optimistic file parts for image attachments in queued messages

Add FilePart type to Part union so optimistic messages include image
previews immediately. Previously, queued image messages only showed
text until the server echoed back the real parts.

* fix: clear optimistic parts when server confirms message

The server's message.updated SSE event does NOT include parts — they
arrive individually via part.updated events. Without clearing optimistic
parts on confirmation, both optimistic and real parts coexist, causing
duplicate images/text in the UI.

* fix: truncate message ID hex to 12 chars matching server's 6-byte format

The server's Identifier.ascending() writes 6 bytes big-endian (48 bits)
producing 12 hex chars. Our .toString(16) produced 14 hex chars (full
53-bit value), causing client IDs to sort BEFORE server assistant IDs
("18bdf..." < "f7b3..."). This triggered the server's loop exit
condition (lastUser.id < lastAssistant.id) after the first turn,
silently dropping all queued messages.

* fix: scope failed draft restore to the active session

Prevent sendMessageFailed from clobbering a new draft if the user
switched sessions between sending and the failure arriving.
2026-03-16 12:22:08 +01:00
Mark IJbema 20edbff4fb Merge pull request #7073 from Kilo-Org/fix/login-popup-persistence
fix: remove redundant vscode.env.openExternal call during login flow
2026-03-16 11:47:49 +01:00
Mark IJbema ada05c7585 Merge pull request #7072 from Kilo-Org/ci/check-kilocode-change-markers
Add CI check to prevent kilocode_change markers in kilo packages
2026-03-16 11:24:22 +01:00
Marius f1f949844b fix: consistent icon button sizing in prompt input actions (#7076) 2026-03-16 11:19:19 +01:00
Mark IJbema 1dd8a45e5e Exclude node_modules and dist from kilocode_change check, allow backtick-quoted references 2026-03-16 11:16:59 +01:00
Marius c69b210708 fix(vscode): align filename next to directory path in diff headers (#7075) 2026-03-16 11:16:02 +01:00
kiloconnect[bot] f5ac4ca526 Move kilocode_change check to package.json script following knip pattern
- Add check-kilocode-change script in packages/kilo-vscode/package.json
- Update CI to use the script instead of inlined grep
- Document the check in root AGENTS.md alongside knip
2026-03-16 09:55:26 +00:00
kiloconnect[bot] 8875fc700d Move kilocode_change check into existing test-vscode workflow instead of separate workflow 2026-03-16 09:26:06 +00:00
kiloconnect[bot] 3751bc3492 Add CI check to prevent kilocode_change markers in kilo packages 2026-03-16 09:23:30 +00:00
Mark IJbema a594cb89b2 Merge pull request #7066 from Kilo-Org/mark/fix-mcp-command-display
fix: handle array-format MCP command in settings display
2026-03-16 09:19:20 +01:00
Mark IJbema fdf95032cf fix: handle array-format MCP command in settings display 2026-03-16 09:16:17 +01:00
Imanol Maiztegui 146da40471 chore(sdk): regenerate endpoints (#7062) 2026-03-15 20:18:18 +01:00
Kirill Kalishev b668b9c2d2 Merge pull request #7036 from Kilo-Org/kirillk/model-dropdown-6997
fix(vscode): fix ModelSelector hover lag and search debounce (#6997)
2026-03-15 14:55:02 -04:00
Imanol Maizteguiandgithub-actions[bot] 72a2963f1d Permission prompt style improvements (#7050)
* feat(kilo-vscode): Removed check-all icon

* fix(kilo-vscode): reorder permission buttons and left-align actions

* fix(kilo-vscode): simplify permission text display

* style(kilo-vscode): move permission rules chevron next to label

* fix(kilo-vscode): wrap permission action buttons on narrow viewports

* style(kilo-vscode): match permission warning icon size to tool icons

* style(kilo-vscode): left-align permission session hint text

* style(kilo-vscode): move pattern toggle buttons to left of text

* fix(kilo-vscode): remove permission session hint text and unused styles

* style(kilo-vscode): align pattern toggle icons with permission rules chevron

* chore(kilo-vscode): typecheck

* chore: update kilo-vscode visual regression baselines

* chore(kilo-vscode): Formatting

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-14 20:48:47 +01:00
Imanol Maizteguiandgithub-actions[bot] 673ab875c5 Improved permission prompt layout (#7037)
* feat(kilo-vscode): Improved styles on permissions prompt

* feat(kilo-vscode): Translations and style fixes

* chore: update kilo-vscode visual regression baselines

* feat(kilo-vscode): Renamed auto-approved rules section and added new icon

* feat(kilo-vscode): Renamed permission rules field on permission prompt

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-14 16:13:02 +01:00
Kirill Kalishev 5097cf2fac Merge branch 'main' into kirillk/model-dropdown-6997 2026-03-13 15:52:32 -04:00
kirillk 41e6e36b2e fix(vscode): debounce ModelSelector search input by 250ms
Prevents re-filtering the model list on every keystroke by deferring
the filter until 250ms after the user stops typing. Uses SolidJS
onCleanup to cancel pending timers on each new keystroke.
2026-03-13 14:59:37 -04:00
kirillk f26004b3ac fix(vscode): fix laggy hover in ModelSelector, clarify naming
- Replace O(n) indexOf per hover with a pre-computed flatIndexMap memo
- Use createSelector for fine-grained reactivity so only 2 items
  re-render per hover instead of the entire list (fixes ~9 FPS issue)
- Rename: selectedModel→activeModel, activeIndex→selectedIndex,
  CSS .active→.selected (hover highlight), CSS .selected→.active
  (committed choice) for consistent semantics

Fixes #6997
2026-03-13 14:34:53 -04:00
Andrew Storms 6dbacc15ff Merge pull request #7033 from Kilo-Org/docs/kiloclaw-github-integration
docs(kiloclaw): add GitHub integration page and nav entry
2026-03-13 11:20:49 -07:00
St0rmz1 066ff6cb1a docs(kiloclaw): add GitHub integration page and nav entry 2026-03-13 11:08:06 -07:00
Imanol Maizteguiandgithub-actions[bot] 9e84e952ac Permissions: styling and tooltips (#7025)
* feat(kilo-vscode): Improved permission styling

* chore(kilo-vscode): Added translations for permission tooltips

* fix(kilo-vscode): Formatting

* chore: update kilo-vscode visual regression baselines

* feat(kilo-vscode): Improved border styles for permissions

* chore: update kilo-vscode visual regression baselines

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-13 16:19:24 +01:00
kiloconnect[bot] 876959f84b fix: remove redundant vscode.env.openExternal call during login flow
The login flow had two browser-opening mechanisms firing simultaneously:
1. The backend's authenticateWithDeviceAuthTUI() opens the browser via the
   'open' npm package during authorize()
2. handleLogin() called vscode.env.openExternal() which shows a VS Code
   trust dialog AND opens a second browser tab

The trust dialog from vscode.env.openExternal() persisted after the user
completed authentication in the browser, since nothing dismissed it.

Remove the vscode.env.openExternal() call. The backend already opens the
browser, and the DeviceAuthCard webview provides an 'Open Browser' button
as a user-initiated fallback.

Closes #7026
2026-03-13 15:12:54 +00:00
Alex Gold 8ff7f2d029 Merge pull request #7016 from Kilo-Org/docs/teams-billing-auto-topup
docs: add Automatic Top-Up section to Teams billing page
2026-03-13 10:16:54 -04:00
Ligia Zanchet ea5258c1b5 Merge pull request #7015 from Kilo-Org/docs/kiloclaw-ssh-faq
docs: add SSH FAQ and Version Status Indicators to KiloClaw docs
2026-03-13 14:51:24 +01:00
Marius ec9c4dc0c4 feat(vscode): add fork session context menu to Agent Manager tabs (#7019)
* feat(vscode): add fork session context menu to Agent Manager tabs

Add right-click context menu on session tabs with Fork Session and Close
options. Forking creates a new session copying the full conversation
history via the CLI session.fork() API, supporting both worktree and
local sessions. Pending tabs only show Close (no fork).

* fix: address CI failures — remove unused CSS class, bump maxLines cap, add forkSession to routing test

* fix: bump AgentManagerProvider maxLines cap to 2000 (formatter adds lines in CI)

* refactor: extract fork logic into fork-session.ts, revert maxLines cap to 1900

Move session fork orchestration into a vscode-free module to keep
AgentManagerProvider under its maxLines cap. Improve the arch test
failure message to explicitly state the file needs modularization.

* refactor(vscode): extract keybinding map builder and share PLATFORM constant

- Extract buildKeybindingMap() from AgentManagerProvider into format-keybinding.ts
  (pure data transformation, no vscode dependency)
- Import shared PLATFORM constant from constants.ts in both AgentManagerProvider
  and fork-session.ts instead of duplicating the literal
- Reduces AgentManagerProvider.ts from 1922 to 1893 lines (under 1900 cap)

* docs(vscode): add maxLines policy to AGENTS.md
2026-03-13 14:37:02 +01:00
Kevin van Dijk 83cef06f0d Merge pull request #6989 from Kilo-Org/kevinvandijk/kilo-opencode-v1.2.17
OpenCode v1.2.17
2026-03-13 14:06:54 +01:00
Kevin van Dijk 55f8389472 Disable electron build in publish script 2026-03-13 14:01:46 +01:00
Imanol Maizteguiandgithub-actions[bot] a913731700 Permission toggles per-pattern in permission dock (#6977)
* feat(kilo-vscode): Granular permission layout

* formatting

* chore: update kilo-vscode visual regression baselines

* fix: Make sure pattern permissions are correctly saved

* fix: Only save patterns originally sent

* chore: Moved pattern permission logic to its own endpoint

* tests: Unit tests for pattern permissions handling

* fix: Avoid race conditions on permission reply messages

* fix: Handle missing requestId on pattern permission request

* fix: Return NotFoundError when input.requestID missing

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-13 13:56:57 +01:00
Kevin van Dijk 4e227ca318 Merge branch 'main' into kevinvandijk/kilo-opencode-v1.2.17 2026-03-13 13:55:22 +01:00
kilo-maintainer[bot] 702c27a8d2 release: v7.0.47 v7.0.47 2026-03-13 12:45:52 +00:00
marius-kiloclawandmarius-kiloclaw 7473015ef9 fix(mcp-migrator): handle malformed JSON in legacy .kilocode/mcp.json (#7012)
readMcpSettings() called JSON.parse() without try/catch. In migrate(),
if .kilocode/mcp.json existed but contained malformed JSON, the uncaught
exception propagated out of the dual-read loop, preventing .kilo/mcp.json
from ever being read. The outer loadMcpConfig() catch returned {} instead
of the valid config — silently losing MCP server configuration.

Wrap the file read + parse in try/catch, log a warning, and return null
so the loop continues to the next config directory.

Regression tests added for both readMcpSettings (unit) and migrate
(integration) to prove the bug and verify the fix.

Refs: #6881

Co-authored-by: marius-kiloclaw <marius-kiloclaw@users.noreply.github.com>
2026-03-13 13:26:37 +01:00
Marius 0e90bc1ed5 fix(vscode): restore Agent Manager panel on VS Code restart (#7017)
* fix(vscode): restore Agent Manager panel on VS Code restart

Register a WebviewPanelSerializer for the Agent Manager so VS Code
automatically reopens the panel when the window is restored. Extract
panel setup into a shared attachPanel() method used by both openPanel()
and the new deserializeWebviewPanel() entry point.

* fix: add activation event and reapply webview options for deserialized panels

Address review bot feedback:
- Add onWebviewPanel activation event to package.json so VS Code
  activates the extension during window restore
- Reapply enableScripts and localResourceRoots in attachPanel() for
  deserialized panels that don't carry over creation options
2026-03-13 10:58:09 +01:00
Mariusandgithub-actions[bot] 755c1a1301 fix: show localized error when git is not installed on Windows (#6817)
* fix: show localized error when git is not installed on Windows

* fix: add git pre-flight check to PR import flow

* chore: update kilo-vscode visual regression baselines

* fix: add errorCode to WorktreeSetupMessage type

* fix: add errorCode to import branch/PR error paths

* revert: remove unrelated package.json sorting changes

* Fix localization of error message

* fix: use typed errorCode in import result messages and dialog toast

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-13 10:41:48 +01:00
Ligia Zanchetandkilo-code-bot[bot] d41edadbe6 Update packages/kilo-docs/pages/kiloclaw/dashboard.md
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
2026-03-13 09:56:41 +01:00
Ligia Zanchet 0074cc6d23 docs: add Automatic Top-Up section to Teams billing page 2026-03-13 09:54:48 +01:00
Ligia Zanchet e696866492 docs: add SSH FAQ and Version Status Indicators to KiloClaw docs 2026-03-13 09:53:57 +01:00
Christiaan Arnoldus b7fcb6dd6f Merge pull request #6739 from apoorvumang/feat/inception-mercury2-reasoning-effort
feat: add reasoning effort support for Inception Mercury-2
2026-03-13 09:48:12 +01:00
Christiaan Arnoldus 24ff41a268 Apply suggestions from code review
Co-authored-by: Christiaan Arnoldus <christiaan.arnoldus@outlook.com>
2026-03-13 09:45:16 +01:00
Evan Jacobson bb6383559c Merge pull request #7005 from Kilo-Org/improvement/posthog-reverse-proxy-kilo-docs
feat(kilo-docs): add PostHog reverse proxy via Next.js rewrites
2026-03-13 02:44:46 -06:00
Kirill Kalishev a85ac5819e Merge pull request #7007 from Kilo-Org/kirillk/chat-options-truncate-6988
fix: wrap long text in question option descriptions and mode descriptions
2026-03-12 17:43:00 -04:00
Kirill Kalishev 8f27b5fdf5 Merge pull request #7008 from Kilo-Org/kirillk/model-selector-ui
fix(vscode): improve mode switcher item sizing and description overflow
2026-03-12 17:42:48 -04:00
kirillk 757c25ed41 fix(vscode): selected mode description inherits active selection foreground 2026-03-12 17:06:12 -04:00