Commit Graph

19854 Commits

Author SHA1 Message Date
Mark IJbema 08a3e0a099 Merge pull request #10131 from Kilo-Org/mark/opencode-version-file
feat(upstream): record last merged tag in .opencode-version
2026-05-11 11:31:28 +02:00
Mark IJbema 8155e3a50f Merge pull request #10003 from Kilo-Org/mark/fix-root-pkgjson-regressions
fix: restore root package.json entries dropped by upstream-compat
2026-05-11 11:31:03 +02:00
Imanol Maiztegui c11f63391d Fix cursor positioning when text ends with newline (#10133)
* fix(vscode): fix cursor positioning when text ends with newline

A trailing newline is collapsed in a <div> with white-space: pre-wrap
but renders as a real empty line in the <textarea>. Without an extra
<br>, the overlay ends up one line shorter than the textarea, which
desyncs scrollTop and makes the visible caret appear one line off from
where the textarea actually inserts text.

* docs(vscode): simplify comment explaining trailing newline br element
2026-05-11 10:59:43 +02:00
kiloconnect[bot] 5b8121ea5c fix(upstream): rename shadowing path local in writeVersion 2026-05-11 08:51:59 +00:00
Marius d8582521c3 fix(vscode): keep revert checkpoints accessible (#10129)
* fix(vscode): keep revert checkpoints accessible

* fix(vscode): format revert checkpoint guard
2026-05-11 10:30:01 +02:00
Marius 1988db53e3 chore: ignore generated Kilo config artifacts (#10128)
* chore: ignore generated Kilo config artifacts

* chore: ignore Kilo config node modules
2026-05-11 10:29:20 +02:00
Marius 5482cc0d09 fix(vscode): improve review comment icon contrast (#10130) 2026-05-11 10:13:36 +02:00
kiloconnect[bot] 8710e9d9de feat(upstream): record last merged tag in .opencode-version
Avoids the ls-remote + merge-base --is-ancestor walk in last() for the
common case by reading the recorded tag from .opencode-version. merge.ts
writes the file as part of the pre-merge compat commit so future runs of
fix-kilocode-markers, reset-to-upstream, and find-reset-candidates can
resolve the base tag instantly. Seeded with v1.14.33 (PR #9978).
2026-05-11 08:11:40 +00:00
Mark IJbema ee3ee5b06b fix(upstream-merge): always reconcile package.json post-merge
git rerere learns conflict resolutions from past upstream merges and
replays them on the next merge. When past resolutions used the buggy
mergeWithNewestVersions ordering, rerere auto-resolves package.json
files with stale content before transformConflictedPackageJson ever
gets a chance to run — so the fixed merge logic never reaches the
file.

Add reconcileAllPackageJson, which runs after every merge (clean,
auto-resolved, or partially conflicted) and rewrites every package.json
that the merge touched from the kilo branch's pre-merge HEAD and the
opencode compat branch using the same merge logic. Files that are
still conflicted are skipped so manual resolution isn't silently
overwritten.

This makes our merge logic the source of truth for package.json
content, regardless of what rerere or git's textual merge produced.
2026-05-11 10:02:35 +02:00
Mark IJbema d79664f084 fix(upstream-merge): preserve ours' key order in package.json dep merge
Seeding the result with theirs' keys and appending ours-only keys at the
end caused kilo-only deps (e.g. rotating-file-stream in packages/core)
to relocate from the middle of the deps block to the end during the
pre-merge transform. Git's textual 3-way merge then saw ours keeping
the line in place and theirs adding the same key elsewhere, producing
a duplicate JSON key in the merged file.

Iterate ours first so kilo-only deps stay in their original position,
then append any theirs-only keys at the end.
2026-05-11 10:02:34 +02:00
Mark IJbema a156e7a98d chore(upstream): preserve & prune root package.json entries on merge
The transform that materialises the 'kilo compat for vX.Y.Z' commit during
an upstream merge takes upstream's package.json wholesale and re-applies a
hand-picked list of Kilo scripts. That list was incomplete: it only covered
`extension`, `changeset`, `changeset:version`, `test`, and `test:ci`, so
every merge silently dropped Kilo's `postinstall` tail (`&& bun run
script/setup-git.ts`) and the `dev-setup` root shortcut, and it never
pruned upstream-only scripts (`dev:desktop` / `dev:web` / `dev:console`)
or upstream-only catalog entries (`@sentry/solid`,
`@sentry/vite-plugin`) whose target packages Kilo doesn't ship.

- replace the per-script if-blocks with data-driven PRESERVE_SCRIPTS
- add DELETE_UPSTREAM_SCRIPTS for scripts that reference packages Kilo
  doesn't ship
- add DELETE_UPSTREAM_CATALOG for catalog entries with zero Kilo consumers
- apply the same policy in both transformPackageJson (conflict path) and
  transformAllPackageJson (pre-merge sweep path) — previously the
  pre-merge sweep was missing `changeset` / `changeset:version`
  preservation
- new tests covering preservation, deletion, opencode test scripts, and
  the catalog pruning
2026-05-11 10:02:34 +02:00
Mark IJbema 27da09614e fix: restore root package.json entries dropped by upstream-compat
The automated kilo compat transform keeps upstream's root scripts/catalog
wholesale and only re-applies a handful of Kilo-specific scripts, which
silently dropped:

- postinstall's `&& bun run script/setup-git.ts` tail (needed to set
  merge.conflictStyle=zdiff3 locally, which upstream merges rely on)
- the `dev-setup` script shorthand
- kept dead `dev:desktop` / `dev:web` / `dev:console` scripts whose
  target packages aren't tracked in Kilo
- kept `@sentry/solid` / `@sentry/vite-plugin` catalog entries that
  have zero consumers in our tree
2026-05-11 10:02:34 +02:00
Mark IJbema 2d37f83daa Merge pull request #9852 from Kilo-Org/mark/upstream-compat-base
fix: preserve upstream compat merge bases
2026-05-11 09:59:59 +02:00
Marius 3259008074 fix(vscode): stabilize shell command streaming (#10127) 2026-05-11 09:27:41 +02:00
Marius fc6ce735c9 fix(vscode): hide empty task header graph (#10125) 2026-05-11 09:21:37 +02:00
Kirill Kalishev ac25381afb Merge pull request #10082 from Kilo-Org/kaput-peach
Fix Agent Manager tab bar controls
2026-05-10 11:21:55 -04:00
kirillk 44e466173b Merge remote-tracking branch 'origin/main' into kaput-peach 2026-05-09 20:05:27 -04:00
kirillk d5b8ff3a9f fix(vscode): keep Agent Manager add tab adjacent 2026-05-09 19:48:32 -04:00
kilo-maintainer[bot] 9d37a1aead release: v7.2.49 v7.2.49 2026-05-09 20:12:04 +00:00
Kirill Kalishev f8da29ce58 Merge branch 'main' into kaput-peach 2026-05-08 17:20:11 -04:00
Christiaan Arnoldus 045fa89133 Merge pull request #10077 from Kilo-Org/fix/read-stream-utf8
fix(cli): stream UTF-8 reads in read tool again
2026-05-08 22:10:45 +02:00
kirillk a1ffc7751a Merge remote-tracking branch 'origin/main' into kaput-peach 2026-05-08 16:04:05 -04:00
Catriel Müller 48ea18e613 Merge pull request #10083 from Kilo-Org/horn-taurus
fix(cli): handle broken symlinks and junctions for config directories on Windows
2026-05-08 17:02:25 -03:00
Catriel Müller 7d730e2fb7 fix(cli): remove silent error swallowing in ensureRealDir 2026-05-08 16:49:53 -03:00
kirillk 706691d390 style(vscode): format Agent Manager tab rendering 2026-05-08 15:48:01 -04:00
Catriel Müller 86287939e6 Merge pull request #10080 from Kilo-Org/foam-log
fix: robust provider handling when credentials are misconfigured
2026-05-08 16:46:22 -03:00
Catriel Müller 53ef0be6b9 fix(cli): handle broken symlinks and junctions for config directories on Windows 2026-05-08 16:45:49 -03:00
kiloconnect[bot] 67e9fdc2cf fix(cli): destroy raw fs read stream on consumer teardown
When the consumer (readLines) hits the line/byte cap and destroys the
PassThrough, the underlying createReadStream had no link back and would
keep reading chunks to EOF in the background, defeating the early-exit
optimisation for large files.
2026-05-08 19:39:45 +00:00
kiloconnect[bot] 1cf09437f9 fix(cli): stream UTF-8 reads in read tool again
Optimistically stream the file as UTF-8 -- the common case -- using a
fatal-mode TextDecoder so the read tool can stop pulling bytes from
disk once the line / 50KB byte cap is hit. Only fall back to a
full-buffer iconv decode when the bytes turn out not to be valid UTF-8.

The streaming + retry logic lives in a new kilo helper
(packages/opencode/src/kilocode/text-stream.ts) so the read tool's
`lines` function stays close to upstream OpenCode shape.
2026-05-08 19:30:48 +00:00
github-actions[bot] abf2e2a20b chore: update kilo-vscode visual regression baselines 2026-05-08 19:03:30 +00:00
kirillk 1c12c0be9e fix(vscode): address Agent Manager tab review 2026-05-08 15:00:00 -04:00
github-actions[bot] ccc556e79c chore: update kilo-vscode visual regression baselines 2026-05-08 18:50:47 +00:00
Kirill Kalishev e884c3509e Merge branch 'main' into kaput-peach 2026-05-08 14:48:33 -04:00
kirillk eb4ae71b66 fix(vscode): align Agent Manager tab tooltips 2026-05-08 14:47:27 -04:00
Christiaan Arnoldus cc2f986033 Merge pull request #10076 from Kilo-Org/fix/apply-patch-update-encoding
fix(cli): use encoding-aware read in apply_patch update case
2026-05-08 20:44:49 +02:00
kirillk 0aa908c7af fix(vscode): keep Agent Manager add tab visible 2026-05-08 14:17:53 -04:00
kiloconnect[bot] 8651bdceac test(cli): assert apply_patch returns non-mojibake diff for non-UTF-8 files
The existing apply_patch encoding test only checked final file bytes,
which were correct because Patch.deriveNewContentsFromChunks does its
own encoding-aware read. The diff and additions/deletions counts
returned to the user (and shown in the permission prompt) were
nonetheless garbled because the surrounding tool reused a hard-coded
UTF-8 decoder. Pin the diff metadata to catch that regression.
2026-05-08 18:00:29 +00:00
Catriel Müller cd67db9501 fix: kilocode markers 2026-05-08 14:54:30 -03:00
Catriel Müller 71067656e2 fix: address PR review feedback on provider failed-state filtering and JSON parse safety 2026-05-08 14:38:43 -03:00
kirillk 78e40436b6 fix(vscode): stabilize Agent Manager tab tooltips 2026-05-08 13:19:07 -04:00
kirillk a5f2fbc9fd feat(vscode): move Agent Manager tab bar new/search controls to left with separators 2026-05-08 12:52:00 -04:00
Catriel Müller b961ed3ca1 refactor: address the comments 2026-05-08 13:46:04 -03:00
Catriel Müller ff31c68adc fix: add failed field to provider story fixture 2026-05-08 13:35:34 -03:00
Catriel Müller 11297e4c5a fix: fix providers with wrong credentials 2026-05-08 13:32:35 -03:00
kiloconnect[bot] c48b31c3ec fix(cli): use encoding-aware read in apply_patch update case
Bom.readFile uses a hard-coded UTF-8 TextDecoder, so the oldContent
captured for the diff, additions/deletions counts, and permission-prompt
metadata was mojibake for any non-UTF-8 file. The actual bytes written
were correct because deriveNewContentsFromChunks already does
encoding-aware reads, but the user-visible diff did not reflect the real
file contents. Switch to EncodedIO.read to match.
2026-05-08 15:35:27 +00:00
Kirill Kalishev c0c232ae9a Merge pull request #10073 from Kilo-Org/fix/agent-manager-tab-tooltip-instant
fix(vscode): set instant tooltip open delay on agent manager tabs
2026-05-08 10:58:47 -04:00
arrrkady e184492e4d Merge pull request #10061 from Kilo-Org/docs/enrich-openai-chatgpt-subscription
docs: enrich OpenAI and ChatGPT Plus/Pro provider pages
2026-05-08 16:40:03 +02:00
arrrkady f671ea5e7c Merge branch 'main' into docs/enrich-openai-chatgpt-subscription 2026-05-08 16:30:10 +02:00
arrrkady d8f375c7a1 Update packages/kilo-docs/pages/ai-providers/openai-chatgpt-plus-pro.md
Co-authored-by: Rietie <job@kilocode.ai>
2026-05-08 16:29:54 +02:00
Catriel Müller 1658949891 Merge pull request #10075 from Kilo-Org/quiver-lotus
fix(cli): preserve model selector sections while filtering
2026-05-08 11:26:15 -03:00