Commit Graph

14208 Commits

Author SHA1 Message Date
Mark IJbema 239bb41cc2 chore(vscode): run bun install before F5 compile task
Add a VSCode - Install task that runs bun install from the workspace
root, and make VSCode - Compile depend on it. This ensures dependencies
are up to date when launching the extension with F5.
2026-03-23 12:03:50 +01:00
Mark IJbema 63a9e9f6e9 Merge pull request #7425 from Kilo-Org/mark/fix-ghost-text-under-placeholder
fix(vscode): prevent ghost text from showing over placeholder in empty input
2026-03-23 11:43:13 +01:00
Mark IJbema 3fb9d5aaaa Merge pull request #7422 from Kilo-Org/mark/source-link-checker
ci: add source link checker as PR gate with committed links file
2026-03-23 11:27:22 +01:00
Mark IJbema eb30dc217a refactor(vscode): simplify ghost text fix — rely on state invalidation only
Remove the syncInternal empty-text guard added in the previous commit.
Instead, rely solely on the createEffect state invalidation (clearing
saved/savedPrefix/prefix and bumping counter) when text is empty. This
prevents completions from ever being stored for empty text, rather than
adding display-side guards.
2026-03-23 11:26:55 +01:00
Mark IJbema 8a2ba1bc16 fix(vscode): prevent ghost text from showing over placeholder in empty input
Add guards to prevent ghost text (AI autocomplete) from appearing when
the chat textarea is empty. The native placeholder text and ghost text
overlay would overlap because the textarea has transparent text color
with the ghost text rendered in an absolute-positioned layer behind it.

Two changes:
- Add empty-text guard in syncInternal so ghost text is never shown
  when the input is empty
- When text is cleared, fully invalidate ghost state (saved, savedPrefix,
  prefix) and increment request counter to reject stale in-flight
  completion responses
2026-03-23 11:26:16 +01:00
Mark IJbema 0d6df96372 Merge pull request #7424 from Kilo-Org/mark/fix-ghost-text-line-breaking
fix(vscode): prevent ghost text from re-wrapping preceding visible text
2026-03-23 11:24:17 +01:00
Mark IJbema 54e14d7f87 fix: remove dead docs link from github setup wizard output 2026-03-23 11:22:27 +01:00
Mark IJbema 1461b57952 fix: replace dead docs/github link, exclude vercel.link from lychee
- kilo.ai/docs/github/#usage-examples was a 404 (page never created).
  Replaced with kilo.ai/docs/automate/integrations in github.ts:245.
- vercel.link redirects to a login page that blocks bots — added to
  lychee.toml exclusions.
2026-03-23 11:22:07 +01:00
Mark IJbema 891067a7f7 fix(vscode): prevent ghost text from re-wrapping preceding visible text
The chat input uses a transparent-textarea-over-overlay pattern where visible
text comes from the overlay div but the cursor follows the textarea. Ghost
text only exists in the overlay, so when it's long enough to trigger wrapping,
the browser re-wraps preceding visible text — but the cursor doesn't move
because the textarea has no ghost text.

Make the ghost text span an atomic inline box (display: inline-flex) so it
either fits on the current line or wraps to the next line as a unit, without
pulling preceding words with it. This matches the legacy extension behavior
where the wrapping difference was hidden by the inverted z-order (overlay text
was transparent there).
2026-03-23 11:21:19 +01:00
Darkatek7 c9f30d3a11 fix(docs): correct kilocode-docs path reference in contributing guide (#7390)
- Changed 'apps/kilocode-docs' to 'packages/kilo-docs'
- Changed 'pnpm start' to 'pnpm dev' (correct dev command)

Related to #7387

Co-authored-by: Kilo Fix Automation <fix-automation@kilo.ai>
2026-03-23 10:19:59 +00:00
Mark IJbema 6d994786a9 fix: exclude dev.kilo.ai from source link extraction
Internal dev/mock URL used only when isMock is true in github.ts:486.
Not a real user-facing endpoint.
2026-03-23 11:12:35 +01:00
Mark IJbema 9ea84978cb fix: remove unnecessary path triggers from docs-check-links.yml
source-links.md lives in packages/kilo-docs/ so changes to it already
trigger the docs link checker. The source code path triggers belong
only in source-check-links.yml (the freshness gate).
2026-03-23 11:08:14 +01:00
Mark IJbema 3e1cb0030b Merge pull request #7410 from Githubguy132010/feat/add-dutch-language
[FEATURE]: Add Dutch language support
2026-03-23 11:01:17 +01:00
Mark IJbema 35a84e1c0a fix: extract external URLs instead of excluding them from source link checker
The extraction script was overly aggressive in excluding URLs (GitHub,
archives, JSON endpoints, images). These are real user-facing links
that should be validated by lychee. Removed the blanket exclusions
and reverted the lychee.toml additions — the docs checker already
handles external link validation.

Now extracts 77 URLs (up from 59).
2026-03-23 10:59:13 +01:00
Thomas Brugman 80494d3388 Merge branch 'main' into feat/add-dutch-language 2026-03-23 10:54:52 +01:00
kiloconnect[bot] c3e820d9eb fix: revert snoozed translation to gepauzeerd per Mark's feedback 2026-03-23 09:50:40 +00:00
Mark IJbema 0bb072ea9d Merge pull request #7302 from Kilo-Org/mark/chat-autocomplete-improvement-plan
refactor(vscode): centralize chat autocomplete state and cache per-request objects
2026-03-23 10:49:41 +01:00
Mark IJbema 927e5f536c fix(vscode): align textarea word-wrapping with ghost text overlay
The textarea used browser-default wrapping while the highlight overlay used
white-space: pre-wrap + overflow-wrap: break-word. This mismatch caused the
cursor position to diverge from the rendered ghost text when long content
(like URLs) triggered different line breaks in each element.

Add white-space: pre-wrap and overflow-wrap: break-word to the textarea so
both elements use identical wrapping rules. Also normalize the overlay from
the deprecated word-wrap to overflow-wrap for consistency.
2026-03-23 10:49:07 +01:00
Mark IJbema 9628faab62 fix(vscode): avoid disposing ignore controller while in-flight requests use it
On invalidation, just null out the reference instead of calling dispose().
In-flight requests that hold a reference to the old controller can finish
safely; the instance will be garbage collected afterward.
2026-03-23 10:41:30 +01:00
Mark IJbema 33f73067d7 fix(vscode): invalidate cached ignore rules when ignore files change
Watch .kilocodeignore and .gitignore for changes, creations, and deletions.
When either file changes, the cached FileIgnoreController is disposed so the
next autocomplete request rebuilds it with fresh rules.
2026-03-23 10:34:35 +01:00
Mark IJbema 3d787346a9 fix(vscode): dispose chatAutocomplete in KiloProvider.dispose()
The ChatTextAreaAutocomplete holds its own FileIgnoreController internally.
Without disposing it, the file watchers would leak when the provider is torn
down.
2026-03-23 10:33:48 +01:00
Mark IJbema 9af65d91df fix(vscode): sync highlight scroll after accepting autocomplete suggestion
Accepting a long suggestion can cause the textarea to grow or scroll. Without
syncing the highlight overlay, @mention spans and ghost text would be visually
misaligned.
2026-03-23 10:33:34 +01:00
kiloconnect[bot] 9c69621d89 ci: rework source link checker into PR gate with committed file
- Move generated source-links.md into packages/kilo-docs/ so the
  existing docs link-checker (docs-check-links.yml) validates URLs
- Add --check flag to extract-source-links.ts for CI freshness check
- Replace lychee step in source-check-links.yml with freshness check
- Merge source-link exclusions into packages/kilo-docs/lychee.toml
- Remove standalone source-links-lychee.toml (no longer needed)
- Remove source-links.md from .gitignore (file is now committed)
- Add source code path triggers to docs-check-links.yml
2026-03-23 09:22:32 +00:00
kiloconnect[bot] f1d43995fc ci: add link checker for extension and CLI source code URLs
Extract user-facing URLs from packages/kilo-vscode/ and packages/opencode/src/
into a markdown file that lychee can check for broken links. Reuses the same
Kilo-Org/lychee-action used by the docs link checker.

- script/extract-source-links.ts: Bun script that greps TS/TSX/JS/JSX source
  files and filters out API endpoints, localhost, examples, templates, vendored
  code, tests, and stories
- script/source-links-lychee.toml: lychee config with exclusions for sites that
  block automated checks (GitHub, OpenAI, etc.)
- .github/workflows/source-check-links.yml: CI job that runs on PRs touching
  extension or CLI code, plus weekly scheduled runs
2026-03-23 08:54:44 +00:00
Kirill Kalishev a2ae35e1e3 Merge pull request #7413 from Kilo-Org/kirillk/min-version-cursor
feat(vscode): lower minimum VS Code version to 1.105.1 for Cursor compatibility
2026-03-22 16:51:42 -04:00
kirillk 79a87aee04 feat(vscode): lower minimum VS Code version to 1.105.1 for Cursor compatibility 2026-03-22 16:38:50 -04:00
Thomas Brugman ae40ce13ea chore: format nl.ts 2026-03-22 16:52:41 +01:00
Thomas Brugman 7b2bcae57d fix: complete Dutch language registrations 2026-03-22 16:49:22 +01:00
Thomas Brugman b8bb0e50af fix: add nl to desktop i18n index files 2026-03-22 16:40:13 +01:00
Thomas Brugman ad0fa2b4bd feat: add Dutch language support
Adds Dutch (Nederlands) translations across the app, UI, desktop, and VS Code extension. Updates language selection menus and contexts.
2026-03-22 16:38:53 +01:00
Catriel Müller 6d4d7328f6 Merge pull request #7379 from Kilo-Org/catrielmuller/refresh-vscode-panels-on-update
fix(vscode): restore webview panels on extension restart/update
2026-03-20 16:40:07 -03:00
kilo-maintainer[bot] 52426b4738 chore: update nix node_modules hashes 2026-03-20 18:54:21 +00:00
Catriel Müller 05d606ad07 fix(vscode): restore webview panels on extension restart/update
Register WebviewPanelSerializer for all panel types (Tab, Settings,
Profile, Marketplace, DiffViewer, SubAgentViewer) so VS Code can
deserialize them with fresh HTML after an extension restart or update.
Previously only the sidebar and Agent Manager survived restarts.
2026-03-20 15:49:56 -03:00
Marius 82f47b51a0 fix(nix): remove stale TEAM_MEMBERS reference from node_modules fileset (#7378)
The .github/TEAM_MEMBERS file was deleted in 990170320e but the nix
reference survived a later upstream merge, breaking nix hash computation.
2026-03-20 19:42:24 +01:00
kilo-maintainer[bot] ef16ae7fb7 release: v7.1.0 v7.1.0 2026-03-20 18:20:58 +00:00
Marius bcac6ac7e5 fix(kilo-ui): fix reasoning display regression — ordering, collapse, and animation (#7376) 2026-03-20 15:00:16 -03:00
Kirill Kalishev 17ddf84d43 Merge pull request #7283 from Kilo-Org/kirillk/model-picker
feat(vscode): model picker UX improvements — expanded mode, preview panel, keyboard nav, splitter
2026-03-20 13:46:28 -04:00
Kirill Kalishev dd86b02b16 Merge branch 'main' into kirillk/model-picker 2026-03-20 13:42:45 -04:00
kirillk a9e8d197b7 feat(i18n): add dialog.model.select translation key for model picker select button 2026-03-20 13:41:47 -04:00
Marius 93e45fb6c7 fix(vscode): improve question dock visual design (#7375) 2026-03-20 13:36:15 -04:00
Thomas Brugman 3af7b46582 docs(kilo-docs): add VS Code rollback install guidance (#7372) 2026-03-20 18:34:21 +01:00
Marius 296f5271ab feat(vscode): add agent cycling keyboard shortcuts (Ctrl+./Ctrl+Shift+.) (#7374) 2026-03-20 18:30:28 +01:00
Imanol Maiztegui 64442519b4 Improved subagent permissions handling (#7348)
* feat(vscode): handle subagent permissions

* fix(vscode): formatting

* fix(permission): preserve original ruleset in pending requests for drainCovered evaluation

* style(permission): shorten inline comments on kilocode_change markers

* refactor(permission): extract drainCovered into dedicated module
2026-03-20 18:08:11 +01:00
kirillk 4999d5f81c style(vscode): fix prettier formatting in PopupSelector 2026-03-20 12:59:52 -04:00
Kirill Kalishev 43af9a2c33 Merge branch 'main' into kirillk/model-picker 2026-03-20 12:55:06 -04:00
Kirill Kalishev f15897f39a Update packages/kilo-vscode/webview-ui/src/components/shared/ModelSelector.tsx
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
2026-03-20 12:53:38 -04:00
kirillk 9fbfef1578 fix(vscode): remove empty state text from model preview panel 2026-03-20 12:50:17 -04:00
kirillk 0299d8d933 fix(vscode): account for picker chrome in splitter max height calculation 2026-03-20 12:45:27 -04:00
kirillk 8194c30c95 feat(vscode): add keyboard focus outline to model and mode pickers 2026-03-20 12:29:53 -04:00
kirillk a87055a188 feat(vscode): increase expanded model picker width to 450px 2026-03-20 12:13:57 -04:00