Commit Graph

6377 Commits

Author SHA1 Message Date
Imanol Maiztegui 258fe2c8a3 Merge branch 'main' into imanolmaiztegui/kilo-opencode-v1.14.17 2026-04-24 13:31:41 +02:00
kilo-maintainer[bot] ad1cdb550c release: v7.2.22 2026-04-24 10:20:41 +00:00
Imanol Maiztegui a2ae026f50 test(tui): trim verbose backstory from slot reactivity test header
Remove implementation history paragraph from the test file's doc
comment, keeping only the concise description of what the test
validates.
2026-04-24 11:24:02 +02:00
Imanol Maiztegui 07024a0341 fix(tui): preserve SolidJS prop reactivity in Slot wrapper
Replace object spread (`{...props}`) with `mergeProps` when forwarding
props through the plugin Slot wrapper. Spreading props in SolidJS
evaluates each prop once at mount time, freezing reactive values like
`ref`, `visible`, `disabled`, and `on_submit`. This caused handlers to
bind against stale closures after overlay transitions, breaking Enter
submission on the session_prompt slot.

Add regression tests verifying the wrapper uses `mergeProps` (not
spread) and that reactive prop tracking is preserved at runtime.
2026-04-24 11:22:30 +02:00
Imanol Maiztegui 93a1a00361 refactor: adapt kilo compat layer for v1.14.17 API changes
- Switch ConfigCommand validation from Zod to Effect Schema using
  StandardSchemaV1 interface
- Fix toConfig permission merging to avoid mutating shared object
- Wrap saveAlwaysRules route handler with jsonRequest/Effect generator
- Update Typescript.spawn call sites to pass InstanceContext parameter
- Fix Npm import path in config-gitignore test
2026-04-24 10:30:50 +02:00
Imanol Maiztegui 7d1c046f10 resolve merge conflicts 2026-04-24 10:06:31 +02:00
Marian Alexandru Alecu ccb02d8e10 Merge pull request #9455 from Kilo-Org/fix/cli-sync-ready-debug-leftover
fix(cli): fix slow CLI startup
2026-04-24 10:27:54 +03:00
Alex Alecu 3d6db134f0 docs(cli): keep ready debug note 2026-04-24 10:19:58 +03:00
Marian Alexandru Alecu 1f4d238436 Merge pull request #9425 from Kilo-Org/fix/input-text-dismiss-question
fix(cli): preserve prompt text on dismiss
2026-04-24 09:51:19 +03:00
Alex Alecu 567ca0d341 fix(cli): remove unreachable return true in sync.ready
Drop a debug short-circuit shipped upstream in #23037 that flipped `sync.ready` before sync actually finished, producing a 1-2s delay before home content (agents, news, tips) appeared in the TUI. Bisected from origin/main.
2026-04-24 09:43:41 +03:00
Alex Alecu 33b90038f2 fix(cli): guard autocomplete dismiss 2026-04-24 06:04:36 +03:00
Alex Alecu 8b52600836 chore(cli): fix annotation markers 2026-04-24 05:13:34 +03:00
Josh Lambert fa9be90915 feat(cli): allowlist gpt-5.5 in Codex OAuth plugin 2026-04-23 17:48:04 -04:00
Kirill Kalishev a16799d7c3 Merge branch 'main' into legend-trombone 2026-04-23 15:00:33 -04:00
kilo-maintainer[bot] 9bbef8756e release: v7.2.21 2026-04-23 18:58:18 +00:00
kirillk fd9d5ca739 fix(cli): add local jschardet module declaration for typecheck
Add a minimal ambient module declaration for jschardet so the repo
pre-push typecheck hook passes in worktrees where upstream dependency
typings are not resolved by tsgo.
2026-04-23 13:22:53 -04:00
Christiaan Arnoldus 415dc311fd Merge pull request #9424 from Kilo-Org/tests/expand-encoding-coverage
test(cli): expand encoding preservation coverage
2026-04-23 17:38:31 +02:00
Alex Alecu 852eb58c75 fix(cli): dismiss hidden autocomplete 2026-04-23 18:12:49 +03:00
Alex Alecu 6ee160f89c fix(cli): preserve prompt text on dismiss 2026-04-23 17:56:56 +03:00
kiloconnect[bot] bde1a4ae88 test(cli): expand encoding preservation coverage
Add unit tests for the Encoding namespace and extend the tool integration
suite with ApplyPatch delete and EditTool replaceAll paths for non-UTF-8
files.
2026-04-23 14:49:05 +00:00
kiloconnect[bot] c4df6b80cb chore(cli): refine kilocode_change markers on encoding-preservation code
Narrow overly-broad blocks, combine adjacent single-line markers, and
expand inline comments to note what the replaced upstream code did.
2026-04-23 14:28:12 +00:00
Christiaan Arnoldus 529c3a57f3 Merge pull request #8587 from Kilo-Org/feat/encoding-preservation
feat(cli): preserve original text encoding when editing files
2026-04-23 16:20:23 +02:00
Marian Alexandru Alecu dbe0f920a8 Merge pull request #9332 from Kilo-Org/fix/queue-messages
fix(cli): fix queued messages
2026-04-23 17:18:37 +03:00
Alex Alecu a22d65e0d7 Merge branch 'main' into fix/queue-messages
Resolve conflicts in question/index.ts, session/prompt.ts, and KiloProvider.ts to pull in upstream's flattened namespace refactor while preserving the queued-messages feature: Question.dismissAll, KiloQuestion.guardFollowup on ask, and the mid-turn 'break out when a follow-up is queued' check in runLoop. VS Code abortSession keeps its queue-preserving signature (no queuedMessageIDs delete); new autocomplete settings helpers from main are wired in unchanged.
2026-04-23 16:45:54 +03:00
Marian Alexandru Alecu 5b5425cc32 Merge pull request #9408 from Kilo-Org/fix/suggest-review-prompt
fix(cli): narrow when suggest offers review
2026-04-23 16:39:10 +03:00
kiloconnect[bot] fd04901452 Merge remote-tracking branch 'origin/main' into feat/encoding-preservation
# Conflicts:
#	packages/opencode/src/patch/patch.ts
#	packages/opencode/src/tool/edit.ts
#	packages/opencode/src/tool/write.ts
2026-04-23 13:38:19 +00:00
Imanol Maiztegui 3f507b9427 refactor: kilo compat for v1.14.17 2026-04-23 15:22:41 +02:00
Christiaan Arnoldus 3be1cd6e42 Merge branch 'main' into feat/encoding-preservation 2026-04-23 14:33:07 +02:00
Imanol Maiztegui d8b9b6fb4b test(lsp): enable experimental flag in spawn tests to bypass TsClient short-circuit
Set and restore `Flag.KILO_EXPERIMENTAL_LSP_TOOL` around the two
`.live` LSP spawn tests so they actually reach the `spawn()` call
instead of being short-circuited by the TsClient guard.
2026-04-23 14:25:03 +02:00
Imanol Maiztegui f99974e9c5 Merge branch 'main' into imanolmaiztegui/kilo-opencode-v1.4.9 2026-04-23 14:15:54 +02:00
Imanol Maiztegui c7c1e17352 feat(opencode): include filediff metadata in edit tool permission ask
Add `filediff` field to the edit tool's permission-ask metadata so the
VS Code extension's PermissionDock can render inline diff previews.
Sort and deduplicate dependency entries in package.json. Include a
comprehensive test suite verifying filediff presence across new file
creation, existing file edits, and multi-line replacements.
2026-04-23 14:13:46 +02:00
Imanol Maiztegui 77566d3027 refactor: update imports, fix bugs, and align with v1.4.9 upstream changes
- Fix import paths in kilocode server instance to use routes directory
- Convert relative imports to path aliases in experimental and session routes
- Fix variable name bug in fromModelsDevModel (m -> base) for patchKiloModel
- Add null guard for VITE_KILO_CHANNEL in titlebar before calling includes
- Simplify model schema by replacing safeEnum with direct Schema.Literals
- Remove unused fullSyncedSessions set from sync context
- Add blocking option to question ask interface
- Remove FileTime dependency from read-directory and session-compaction tests
- Remove unnecessary @ts-expect-error comments for Flag overrides in tests
- Fix Account import path in config-gitignore test
- Regenerate SDK with new session list params (projectID, worktrees),
  deduplicated Console class, and updated timeout default to 300000ms
2026-04-23 13:51:49 +02:00
Alex Alecu 2285bd0831 fix(cli): align suggest gate with commands 2026-04-23 13:12:08 +03:00
kiloconnect[bot] eb52bda015 fix(cli): prevent double BOM when content starts with U+FEFF
Strip a leading U+FEFF from text before prepending a UTF-8/UTF-16 BOM so
round-tripping content that already carries a BOM character emits exactly
one BOM. Also clarifies the changeset that new files default to UTF-8.
2026-04-23 10:04:01 +00:00
Alex Alecu c214d63afb fix(cli): narrow when suggest offers a local code review
Stops the suggest tool from surfacing a local-review prompt after PR-comment replies, reactive fixes, trivial edits, non-implementation work, or review-adjacent turns. Tool description and system prompt now share one explicit gate: only suggest when the user initiated implementation and the diff is substantial.
2026-04-23 12:41:07 +03:00
Imanol Maiztegui 9cde05f934 resolve merge conflicts 2026-04-23 11:25:43 +02:00
Marian Alexandru Alecu 1d0318b294 Merge branch 'main' into fix/queue-messages 2026-04-23 12:17:39 +03:00
Alex Alecu d0e109dcb6 refactor(cli): move question dismissAll to kilocode file 2026-04-23 11:29:37 +03:00
Alex Alecu a9107539e3 refactor(cli): move question tool dismissed helpers to kilocode file 2026-04-23 11:29:30 +03:00
Vishal Kumar Singh 03a1285c69 fix(cli): stop doubling the log directory in rotating-file-stream history path
On every kilo CLI startup the process writes an error like:

    log stream error: ENOENT: no such file or directory, open
    '<log-dir>/<log-dir>/.log-history'

Log rotation is effectively disabled because rotating-file-stream cannot
open its history file.

Root cause: rotating-file-stream (3.2.x) treats the `history` option as
a filename resolved against the `path` option. In
`packages/opencode/src/util/log.ts` we were passing an absolute path
(`path.join(dir, '.log-history')`) for `history` while also setting
`path: dir`, so the library concatenated the two and produced the
`<dir>/<dir>/.log-history` path that ENOENTs.

Passing the relative filename `.log-history` lets the library resolve
the history file under the configured `path` directory, matches the
docs, and restores the 50 MB / 10-file rotation cap.

Fixes #8252
Fixes #8275
Fixes #9321
2026-04-23 13:07:01 +05:30
Josh Holmer 10e8ebb5e1 fix(cli): log stream error on log rotation 2026-04-22 21:05:29 -04:00
Marius 48c0553bb7 feat(vscode): xterm.js terminal tabs in agent manager (#9268)
Click the chevron next to the + tab button and pick 'New Terminal' (or hit Cmd+Shift+T / Ctrl+Shift+T) to spawn a real shell inside the selected worktree or Local directory. Each terminal runs via the Kilo CLI's PTY backend, streamed over a direct loopback WebSocket so raw bytes bypass postMessage. Tabs mirror the worktree split-button pattern, support mixed drag-reorder with session tabs, and survive worktree-context switches without losing xterm state (slots are opacity-toggled in a persistent absolute-positioned layer, never unmounted). The legacy Cmd+/ integrated-terminal shortcut and console icon are preserved so existing muscle memory keeps working.
2026-04-22 16:20:40 +00:00
kiloconnect[bot] e84ea3afc6 refactor(cli): self-review post-merge cleanup in apply_patch
- Drop the dead 'encoding = pre.encoding' initial value that was only
  read if deriveNewContentsFromChunks threw, and that code path
  returns before encoding is ever used.
- Inline pre.text into the read line so we don't bind a 'pre' local
  just to destructure it once.
2026-04-22 16:05:46 +00:00
kiloconnect[bot] 8c47af8af4 refactor(cli): reapply encoding changes after main merge
Main moved the Patch namespace out of packages/opencode/src/patch/index.ts
into patch/patch.ts and switched tool imports to the new
@opencode-ai/shared/filesystem and ../../src/tool barrels. Reapply the
encoding-aware read/write changes on top of the refactored patch.ts, and
update the integration test imports to match the new module layout.
2026-04-22 15:59:41 +00:00
kiloconnect[bot] 5a4aa91bfb Merge remote-tracking branch 'origin/main' into feat/encoding-preservation 2026-04-22 15:54:11 +00:00
Alex Alecu 310343e7ce chore(cli): mark blockingSuggestion as kilocode change 2026-04-22 18:05:16 +03:00
Alex Alecu d5492f4765 fix(cli): mark dismissed question as blocked 2026-04-22 17:58:33 +03:00
Alex Alecu 6f5dbe050e Merge remote-tracking branch 'origin/main' into cli-suggest-non-blocking
# Conflicts:
#	packages/opencode/src/cli/cmd/tui/routes/session/index.tsx
2026-04-22 17:54:46 +03:00
Alex Alecu f4c70554e8 Merge branch 'main' into fix/queue-messages 2026-04-22 17:54:33 +03:00
Alex Alecu 6d45e33efb core: auto-dismiss suggestion and question prompts once a new user message is queued, so a queued follow-up runs immediately instead of stalling behind a tool waiting on esc 2026-04-22 17:49:44 +03:00