Commit Graph

11417 Commits

Author SHA1 Message Date
maphew d703ee482f fix: update broken contributing docs link in CONTRIBUTING.md
Fixes #465
2026-02-20 23:29:36 -07:00
Marius 6b610bb9a2 fix(agent-manager): add missing NotificationsProvider to provider chain (#551)
The notifications merge (PR #437) added KiloNotifications to ChatView and
NotificationsProvider to the sidebar App.tsx but missed the Agent Manager's
AgentManagerApp.tsx. When ChatView renders inside the Agent Manager, the
useNotifications() call throws because there is no provider — silently
crashing the component tree via SolidJS error boundaries and preventing
session tabs from rendering.
2026-02-20 21:21:55 +00:00
Catriel Müller b39006f562 Merge pull request #125 from pschiel/question-tool-description
fix: add length constraint in question tool prompt
2026-02-20 14:18:35 -03:00
Igor Šćekić 2f394242ad Merge pull request #542 from Kilo-Org/feat/172-toggle-thinking
feat(vscode): add thinking effort toggle to prompt input
2026-02-20 18:14:21 +01:00
Catriel Müller e909f207f1 Merge branch 'dev' into question-tool-description 2026-02-20 14:14:05 -03:00
Catriel Müller d475be7662 Merge pull request #543 from Kilo-Org/catrielmuller/skip-inconsistente-2e-test
refactor: skip internmitent e2e test
2026-02-20 14:13:51 -03:00
Igor Šćekić 7c6a526b7e refactor(vscode): remove undefined from variant persistence types 2026-02-20 18:08:03 +01:00
Igor Šćekić d66054e958 refactor(vscode): remove Default option from thinking selector
First variant from the provider is implicitly the default.
selectVariant now only accepts string values.
2026-02-20 18:06:45 +01:00
Catriel Müller a06c331017 refactor: skip internmitent e2e test 2026-02-20 14:05:44 -03:00
Igor Šćekić 4f9f7c3483 refactor(vscode): replace thinking cycle button with popover dropdown
Replaces the single cycle button with a ThinkingSelector popover
component matching the ModeSwitcher pattern. Lists all available
variants plus a Default option to disable thinking.
2026-02-20 18:02:22 +01:00
Catriel Müller aac2685e92 Merge branch 'dev' into question-tool-description 2026-02-20 13:55:15 -03:00
Igor Šćekić 1416ebc174 feat(vscode): add thinking effort toggle to prompt input
Adds a variant cycle button to the VS Code extension's prompt input
that lets users toggle the thinking effort level (e.g. high/max) for
models that support reasoning, matching the TUI app behaviour.

- Extend ProviderModel types to expose variants and capabilities.reasoning
- Thread variant through the full send-message pipeline (webview → extension → CLI)
- Persist variant selections via VS Code globalState
- Render a thinking toggle button next to the model selector (only
  visible when the selected model supports reasoning variants)

Closes #172
2026-02-20 17:42:27 +01:00
Marian Alexandru Alecu c7c401a55b Merge pull request #520 from Kilo-Org/fix/fix-orphan-sub-agents
fix: Close sub-agents, preventing them from becoming orphan processes
2026-02-20 18:14:37 +02:00
Igor Šćekić b6739440af Merge pull request #528 from Kilo-Org/feat/349-permission-session-hint
feat(vscode): add session-lifetime hint to permission auto-approve dialog
2026-02-20 17:14:02 +01:00
Marius 993ba69c0e feat(vscode): add Cmd+Shift+M keybinding to open Agent Manager (#511) 2026-02-20 13:13:15 -03:00
Marius 309bcaa297 feat(agent-manager): non-blocking worktree setup with unified busy state (#532)
Show new worktrees in the sidebar immediately after creation with a
spinner icon, allowing users to switch to other worktrees while the
setup script runs instead of being blocked by a full-screen overlay.

- Add worktreeId to worktreeSetup messages so the webview can track
  which worktree each setup event belongs to
- Push state to sidebar immediately after git worktree creation so the
  entry appears before the setup script runs
- Replace separate deletingWorktrees/settingUpWorktrees signals with a
  unified busyWorktrees map (WorktreeBusyState with reason field) for
  consistent loading behavior across setup and deletion
- Scope the setup overlay to only show when the setting-up worktree is
  selected; switching away hides it, switching back restores it
- Hide the delete button on busy worktrees instead of showing a second
  spinner
- Ensure failed session creation cleans up stale sidebar entries via
  pushState() after removeWorktree()
2026-02-20 16:10:54 +00:00
Catriel Müller e2e4520be3 Merge pull request #538 from Kilo-Org/fix/remove-redundant-copy-button
fix(ui): remove redundant copy button from TextPartDisplay
2026-02-20 13:10:23 -03:00
Igor Šćekić 72e9bd2ec1 Merge pull request #479 from Kilo-Org/feat/clickable-filenames-461-404
feat(vscode): make filenames in chat clickable to open editor tab
2026-02-20 17:07:36 +01:00
Marius 594fb4b5d6 fix(vscode): prevent UI blocking when switching sessions rapidly (#533)
* fix(vscode): prevent UI blocking when switching sessions rapidly

- Show loading spinner in MessageList during session switch instead of blank screen
- Fire handleLoadMessages without await so rapid switches aren't serialized
- Abort stale getMessages requests via AbortController when switching away
- Scope error messages with sessionID so stale 404s don't clear wrong session's loading state
- Silence expected 404s on cross-worktree getSession calls via silent HTTP option

* fix: replace empty catch block with warning log for getSession errors
2026-02-20 16:05:15 +00:00
Marius 485fa9db52 fix(agent-manager): resolve sessionsLoaded race condition with webview mount (#539)
The loading skeleton gates (worktreesLoaded && sessionsLoaded) could
permanently block the Agent Manager UI. initializeState() called
refreshSessions() which sent sessionsLoaded before the webview's
onMount handlers registered, so the signal was lost. Since sessions
were already populated, the MessageList backup effect never triggered
a retry.

Add refreshSessions() to the requestState handler which fires from
the webview's onMount, guaranteeing all message listeners are ready.
2026-02-20 16:02:29 +00:00
Catriel Müller 8dcc40f01b refactor: simplify pr 2026-02-20 12:55:17 -03:00
Halil İbrahim ceylan cb5e3cea23 refactor(ui): remove unused text part copy wrapper styles 2026-02-20 12:55:17 -03:00
Marian Alexandru Alecu 8ddabbf84a Merge branch 'dev' into fix/fix-orphan-sub-agents 2026-02-20 17:52:59 +02:00
Marius c520e4523a fix(agent-manager): add am- prefix to prompt-input CSS classes (#535)
The agent-manager-arch test enforces that all CSS class selectors in
agent-manager.css use the am- prefix. The NewWorktreeDialog was reusing
unprefixed prompt-input-* classes from the sidebar chat CSS, which
violated this rule and broke the test-vscode CI pipeline.
2026-02-20 15:48:50 +00:00
Igor Šćekić 043c37ab7e Merge pull request #531 from Kilo-Org/fix/vscode-notification-absolute-position
fix(vscode): absolutely position notification bar to not push content down
2026-02-20 16:44:09 +01:00
Marius 3b7d0721f3 fix(agent-manager): reset stale body styles when webview regains focus (#530)
Kobalte modal dropdowns set pointer-events:none and overflow:hidden on
document.body. When the user opens the setup script editor from the
settings dropdown, VS Code steals focus before the dropdown cleanup
runs, leaving the body permanently unclickable. Clear these stale
styles in the existing window focus handler so the UI recovers when
the user returns to the agent manager tab.
2026-02-20 16:40:09 +01:00
Marius 57ea8f1185 fix(agent-manager): show "not a git repository" instead of infinite loading spinner (#529)
When the Agent Manager opens in a non-git folder, initializeState()
returned early without pushing state to the webview, leaving the
skeleton loader spinning forever. Now pushes empty state with
isGitRepo: false so the UI can display a clear message and hide
worktree action buttons.
2026-02-20 16:39:06 +01:00
Alex Alecu a514530139 fix: ensure abort fires even if shutdown throws in web.ts
Wrap Instance.disposeAll() and server.stop() in try/finally so
abort.abort() always fires, preventing the process from hanging
if either call rejects.
2026-02-20 17:38:40 +02:00
Alex Alecu 7f94b83893 fix: ensure abort fires even if shutdown throws in serve.ts
Wrap Instance.disposeAll() and server.stop() in try/finally so
abort.abort() always fires, preventing the process from hanging
if either call rejects.
2026-02-20 17:38:35 +02:00
Igor Šćekić 29a6495d88 Merge pull request #521 from Kilo-Org/add-vscode-tests
add extension tests
2026-02-20 16:01:58 +01:00
Catriel Müller f2b60c81dd Merge pull request #454 from haliliceylan/fix-406
fix(ui): show horizontal scrollbar on code blocks in markdown
2026-02-20 11:46:05 -03:00
Igor Šćekić 00fa743efa fix(vscode): absolutely position notification bar to not push content down 2026-02-20 15:43:51 +01:00
Brendan O'Leary 8401ff4b70 Merge pull request #500 from Kilo-Org/florian/docs/changelog
Add quick docs for KiloClaw's changelog
2026-02-20 09:41:35 -05:00
Igor Šćekić 776402da13 fix: correct translation mismatches and add hint to message-part.tsx permission prompts
- Fix quoted button label in br, pl, ru, zht to match their allowAlways values
- Add permission-hint to both permission prompt locations in message-part.tsx
2026-02-20 15:38:47 +01:00
Igor Šćekić 43ae6b2425 feat(vscode): add session-lifetime hint to permission auto-approve dialog
Clarifies that 'Allow always' only applies for the duration of the current
session, not globally. Adds translated hint text below the permission
action buttons in all supported locales.
2026-02-20 15:27:42 +01:00
Catriel Müller c66c3118c3 Merge pull request #437 from Kilo-Org/catrielmuller/320-notifications-vscode
feat(vscode): add Kilo notifications banner to VS Code extension
2026-02-20 11:11:40 -03:00
Marius 0d1a1e1c2a feat(agent-manager): multi-version worktree creation (#525)
* tmp

* feat(agent-manager): add multi-version worktree creation with grouping and loading states

* feat(agent-manager): reuse prompt-input UI in dialog, fix model/agent persistence, polish

* fix(agent-manager): restore Tooltip import lost during merge, fixing dialog open

* fix(agent-manager): address PR review — validate msg.text, remove dead labels, run setup script for multi-version worktrees

* fix(agent-manager): address PR review round 2 — error notification, remove dead code, type extension messages, fix loading race condition
2026-02-20 15:09:14 +01:00
Marius 9fbfb7ec34 feat(agent-manager): add keyboard shortcuts dialog to settings menu (#524)
Add a Keyboard Shortcuts item to the settings gear dropdown in the
Agent Manager sidebar. Opens a kilo-ui Dialog showing all available
shortcuts grouped by category (Sidebar, Tabs, Terminal, Global) with
platform-appropriate key rendering (Mac symbols / Windows key names).

Also exposes the global agentManagerOpen keybinding so it appears in
the dialog alongside the agent-manager-scoped shortcuts.
2026-02-20 15:08:05 +01:00
Marius daee6b292e feat(agent-manager): collapsible sessions section with persisted state (#522)
Make the SESSIONS header in the Agent Manager sidebar clickable to
collapse/expand the session list. When collapsed, the worktrees section
takes the full vertical space. The collapsed state is persisted to
.kilocode/agent-manager.json so it survives VS Code restarts.
2026-02-20 15:07:04 +01:00
Marius a471173c9b test(agent-manager): improve test coverage for provider routing, concurrent saves, and terminal manager (#527)
Add 23 new tests across 4 files covering previously untested code paths:

- AgentManagerProvider: static-analysis tests for message routing, ordering
  constraints (setup before session, state before ready), cleanup on failure
- WorktreeStateManager: concurrent save serialization, corrupt/partial JSON
- WorktreeManager: branch collision retry path, safety guard for removals
- SessionTerminalManager: new test file for structural invariants (exit
  cleanup ordering, CWD fallback, context key lifecycle)
2026-02-20 15:06:22 +01:00
Marius ed34c9f010 fix(agent-manager): dismiss setup overlay on script error (#523)
The catch block in runSetupScriptForWorktree only logged to the output
channel but never posted a status error to the webview. Since the setup
overlay only dismisses on ready or error status, any exception during
script execution left the overlay covering the entire UI permanently.
2026-02-20 15:00:38 +01:00
Marius 03e6adaaec fix(vscode): route focusChatInput (Cmd+Shift+A) to active panel (#526)
* fix(vscode): route focusChatInput (Cmd+Shift+A) to active panel

The focusChatInput command was hardcoded to always target the sidebar
KiloProvider. When the Agent Manager panel was focused, the shortcut
had no effect. Now the command checks which panel is active at
invocation time and routes the message accordingly.

* fix(vscode): route addToContext setChatBoxMessage through target() too

Both setChatBoxMessage and focusInput in the addToContext handler now
use target() so the context text and focus always go to the same panel.
2026-02-20 15:00:17 +01:00
Catriel Müller 85aeb6f6a6 refactor: fix undefined 2026-02-20 10:59:57 -03:00
Catriel Müller 9fb453a9af refactor: add console to catch 2026-02-20 10:59:57 -03:00
Catriel Müller 3a0ef619ed refactor: prune old notifications 2026-02-20 10:59:57 -03:00
Catriel Müller aa52b851fd Merge branch 'dev' into catrielmuller/320-notifications-vscode 2026-02-20 10:59:50 -03:00
kilo-maintainer[bot] 6b9f23ff00 chore: generate 2026-02-20 13:54:12 +00:00
Marian Alexandru Alecu b3eab31a54 Merge pull request #459 from Kilo-Org/feat/suggestions-after-plan-end 2026-02-20 15:53:12 +02:00
Marian Alexandru Alecu 6337e0d517 Merge branch 'dev' into feat/suggestions-after-plan-end 2026-02-20 15:28:35 +02:00
Igor Šćekić 71a0187412 style(vscode): format telemetry-proxy-utils test 2026-02-20 14:23:24 +01:00