Commit Graph

6955 Commits

Author SHA1 Message Date
VastCosmic eede3e46c8 fix: minimize OpenAI responses params conflict resolution 2026-05-06 18:36:22 +08:00
VastCosmic 9f81004c2b fix: resolve OpenAI responses params merge conflicts 2026-05-06 18:06:50 +08:00
Mark IJbema 82fc494cdd Merge pull request #9911 from Kilo-Org/markijbema/kilo-opencode-v1.14.30
Merge opencode v1.14.30
2026-05-06 11:20:42 +02:00
kilo-maintainer[bot] b1349843c8 release: v7.2.42 2026-05-06 09:05:30 +00:00
Mark IJbema f3efadfe62 Merge branch 'main' into markijbema/kilo-opencode-v1.14.30 2026-05-06 09:48:59 +02:00
Mark IJbema aa59e70660 test(cli): fix TUI sync provider setup 2026-05-06 09:22:21 +02:00
kiloconnect[bot] 1a3a53f881 Merge remote-tracking branch 'origin/main' into fix/encoding-flat-exports
# Conflicts:
#	packages/opencode/src/kilocode/encoding.ts
2026-05-06 07:01:29 +00:00
Christiaan Arnoldus d0d5296e6d Merge pull request #9920 from Kilo-Org/simplify-bom-detection
refactor(cli): dedupe BOM byte sequences in encoding module
2026-05-06 08:58:12 +02:00
Christiaan Arnoldus 3f968d00b7 Merge pull request #9923 from Kilo-Org/chore/replace-jschardet-with-chardet
chore(cli): replace jschardet with chardet
2026-05-06 08:57:16 +02:00
Mark IJbema 1fcd9a6a40 Merge branch 'main' into markijbema/kilo-opencode-v1.14.30 2026-05-06 08:53:54 +02:00
Mark IJbema 8d63212fb9 Merge pull request #9908 from Kilo-Org/catrielmuller/test-stability
test(cli): stabilize flaky unit test CI
2026-05-06 08:45:37 +02:00
Catriel Müller f3e156cc96 fix: fix test on windows 2026-05-05 16:30:24 -03:00
Mark IJbema 05d5061653 fix(cli): align HttpApi auth default with Hono and skip un-migrated parity tests
The HttpApi authorization middleware defaulted the username to
"opencode", while the Hono AuthMiddleware already defaulted to "kilo"
(kilocode_change). The parity tests added by upstream in
packages/opencode/test/server/httpapi-sdk.test.ts exposed the
inconsistency. Align the HttpApi middleware to also default to "kilo"
and update the pre-existing basic-auth test creds that hit it.

Two new httpapi-sdk parity tests also hit Kilo overlay routes
(/config/providers, /agent) that aren't yet wired onto the Effect
HttpApi bridge, returning 500. Skip those two with kilocode_change
markers pointing at the same "migrate Kilo overlay routes onto the
HttpApi bridge" follow-up the existing httpapi-bridge.test.ts comment
references.
2026-05-05 21:23:09 +02:00
Catriel Müller 8002771629 fix: fix flasky test 2026-05-05 15:58:37 -03:00
Catriel Müller 4b03814092 refactor: enabled skiped test 2026-05-05 14:44:11 -03:00
Josh Holmer 520922ff39 fix(indexing): prevent indexing home directory when no project is open (#9928) 2026-05-05 18:46:40 +02:00
Josh Holmer 914bbdfd05 fix(core): restore Skill tool as allow by default (#9924) 2026-05-05 18:21:48 +02:00
Catriel Müller 0de07760a7 ci: bump actions to Node 24 and surface flaky tests to the UI
- Bump all active workflows to action versions that natively target Node 24:
  checkout@v6, setup-node@v6, cache@v5, upload-artifact@v7, download-artifact@v8.
  Resolves the "Node.js 20 is deprecated" warning in CI logs. The kept
  `FORCE_JAVASCRIPT_ACTIONS_TO_NODE24` env stays as a no-op safety net (also
  in upstream OpenCode).
- test-runner: when running under GitHub Actions, emit a `::warning::`
  annotation per flaky file and append a markdown table to
  `$GITHUB_STEP_SUMMARY`. mikepenz/action-junit-report already surfaces
  failures from the JUnit XML, but flakies pass cleanly on retry and were
  invisible in the UI.
2026-05-05 12:53:03 -03:00
Catriel Müller 3f5ed52cd3 refactor: include quarantine on the same runner file 2026-05-05 12:53:03 -03:00
Catriel Müller c21a1b855f fix(cli): produce well-formed JUnit when bun emits nested testsuites
The per-file JUnit merge was walking `<testsuite>` tags by hand and closing
on the first `</testsuite>` it found. Bun's junit reporter nests one
`<testsuite>` per `describe` block inside an outer `<testsuite>` for the
file itself, so the inner close was matched and the outer one got dropped.
Every file contributed one unclosed `<testsuite>` to the merged output,
pushing XML depth up until mikepenz/action-junit-report's sax parser
failed with "Unexpected close tag" (and xmllint with "Excessive depth").

Switch to grabbing everything between the outer `<testsuites ...>` and
`</testsuites>` of each file's XML — nested structure is preserved
verbatim, no custom walking needed. Read aggregate counts from the root
`<testsuites>` attributes so nested `tests="..."` attrs don't get
double-counted either.

Validated locally: `xmllint --noout` passes on the merged output for a
mix of files with and without nested describes.
2026-05-05 12:53:03 -03:00
Catriel Müller 3d063eb47f test(cli): stabilize flaky unit test CI
- Lower default runner concurrency from `os.cpus().length` to `min(4, cpus)`.
  The bottleneck in CI is shared resources (OAuth callback ports, global
  filesystem like `~/.local/share/kilo`), not CPU, so eight parallel Bun
  processes were triggering port/FS races instead of going faster.
- Raise per-test timeout from 30s to 60s. Slow `spawn` on Windows was
  tripping the 30s limit on tests that were just slow, not broken
  (e.g. `session/prompt.test.ts` at ~86s, `provider/provider.test.ts` at ~54s).
- Retry failing files once and surface them as FLAKY in the summary plus a
  dedicated section. Bugs still fail on every attempt; contention recovers.
- Drop CI runners from 8vcpu to 4vcpu to match upstream OpenCode — with
  concurrency capped at 4, the extra cores bought us nothing.
2026-05-05 12:53:03 -03:00
kiloconnect[bot] 2bf876a6cc docs(cli): clarify that normalize() is for canonicalization, not iconv 2026-05-05 15:35:24 +00:00
kiloconnect[bot] b7172b40f7 refactor(cli): drop normalize entries for labels chardet never emits
jschardet produced labels like "ascii", "gb2312", "MacCyrillic", "IBM855/866",
and "TIS-620". chardet's supported encoding set does not include any of
these (ASCII folds into UTF-8; Chinese is emitted as GB18030), so the
mappings were dead code.
2026-05-05 15:33:20 +00:00
Mark IJbema f083bc44aa chore(upstream): drop stale kilocode_change markers + minor cosmetic drift
Result of running find-reset-candidates.ts across the repo and hand-
reviewing each candidate.

- mcp/oauth-provider.ts: kilocode_change markers were stale — the
  branding (Kilo, kilo.ai) already lives in the translate transforms,
  so the marker annotations no longer point at any Kilo-specific code.
- acp/session.ts: matches upstream's import order.
- tui/ui/dialog.tsx: matches upstream's prettier line-wrap on a long
  onMouseUp prop.

No behavior change.
2026-05-05 17:16:39 +02:00
kiloconnect[bot] cedf008ff3 test(cli): document why chardet's short-sample weakness is acceptable 2026-05-05 14:48:57 +00:00
kiloconnect[bot] c662ada566 test(cli): pad Shift_JIS sample so chardet can identify it
chardet is less aggressive than jschardet on short CJK samples; a
12-byte Shift_JIS phrase now collides with the windows-1252 profile.
Reuse the longer Shift_JIS sample the rest of the suite relies on.
2026-05-05 14:43:43 +00:00
kiloconnect[bot] 869088b882 chore(cli): replace jschardet with chardet
Swap jschardet for the actively-maintained chardet library for text
encoding detection. chardet ships with TypeScript definitions, so the
local jschardet module shim is no longer needed.
2026-05-05 14:39:38 +00:00
kiloconnect[bot] 02415384df refactor(cli): dedupe BOM byte sequences in encoding module
Consolidate the UTF-8/16/32 BOM byte literals into a single lookup table
and share a startsWith helper across detection and encoding. Pure
refactor in a Kilo-only file; upstream diff unchanged.
2026-05-05 14:16:05 +00:00
kiloconnect[bot] 4528aa5cf0 refactor(cli): flatten Encoding/EncodedIO namespaces to module exports
Replace `export namespace Encoding`/`EncodedIO` wrappers with top-level
exports and switch consumers to `import * as Encoding`/`EncodedIO`.
The module itself acts as the namespace, avoiding the TS-namespace
wrapper that tree-shakers and some module resolvers handle awkwardly.
2026-05-05 14:12:51 +00:00
Christiaan Arnoldus 7fa306c01e Merge branch 'main' into feat/utf-32-bom-encoding 2026-05-05 15:40:19 +02:00
Marian Alexandru Alecu fd6c4658a8 Merge pull request #9844 from Kilo-Org/track-code-reviews
fix(cli): track local reviews
2026-05-05 16:38:43 +03:00
Marius d9d4dcd37c fix(cli): recover dangling assistant turns (#9907) 2026-05-05 10:22:45 -03:00
Mark IJbema 1ba2980cad resolve merge conflicts 2026-05-05 15:11:52 +02:00
kilo-agent 988d080f96 remove redundant wide-UTF BOM gate from detect()
Users that hand us BOM-less UTF-16/32 are violating the documented
contract; trust jschardet + iconv.encodingExists and let the result
be whatever it is.
2026-05-05 13:06:57 +00:00
kilo-agent 9ffd047962 feat(cli): support UTF-32 with BOM for file encoding detection
UTF-16 and UTF-32 without a BOM remain unsupported (ambiguous).

Aligns with upstream opencode PR chrarnoldus/opencode#1.
2026-05-05 13:02:21 +00:00
Catriel Müller 7c59d31ec5 Merge pull request #9901 from Kilo-Org/determined-oxygen
test(cli): quarantine flaky MCP OAuth browser tests
2026-05-05 09:44:44 -03:00
Catriel Müller b37808d123 Merge pull request #9881 from Kilo-Org/catrielmuller/fix-9511
fix(vscode): route Kilo Gateway sign-in through Profile view
2026-05-05 09:22:35 -03:00
Marian Alexandru Alecu 490df21393 Merge pull request #9887 from Kilo-Org/fix/queued-compaction-marker
fix(cli): process queued compaction markers
2026-05-05 15:05:25 +03:00
Marius 59e8effc3d Make codebase indexing setting project-specific (#9855)
* fix: make indexing enablement project-specific

* chore: annotate indexing config changes

* fix: save TUI indexing toggle per project

* fix: move indexing scope logic to Kilo config
2026-05-05 14:04:56 +02:00
kilo-code-bot[bot] 008387a8ac fix(cli): restore kilo branding in MCP auth toast and client name (#9892)
* fix(cli): restore kilo branding in MCP auth toast and client name

The 'Run: opencode mcp auth' popup / toast and the MCP protocol client
'name' field were reverted to 'opencode' by an upstream refactor
(opencode PR #22913, pulled in via Kilo PR #9346). Re-apply the
Kilo-branded strings with narrow kilocode_change markers and add a
regression test in packages/opencode/test/kilocode/ so the next upstream
merge fails a Kilo-owned test instead of shipping an 'opencode' popup.

* fix: use kilocode_change block markers for startAuth signature

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: marius-kilocode <marius@kilocode.ai>
2026-05-05 14:04:37 +02:00
marius-kilocode c0c982befd test(cli): allow explicit quarantined test runs 2026-05-05 13:47:34 +02:00
marius-kilocode 279a86c2b6 test(cli): quarantine flaky MCP OAuth browser tests 2026-05-05 13:43:00 +02:00
Catriel Müller 6b9b659b96 refactor: disable flasky windows test 2026-05-05 08:42:14 -03:00
Mark IJbema 2701776e21 refactor: kilo compat for v1.14.30 2026-05-05 12:50:48 +02:00
Christiaan Arnoldus 12d2c08e8f Merge pull request #8732 from shssoichiro/cli-cost
feat(cli): show model costs in model picker
2026-05-05 11:54:44 +02:00
Marius 27d14d432c fix(cli): keep env reads behind ask (#9843)
* fix(cli): keep env reads behind ask

* fix(cli): protect pending env reads

* fix(cli): share permission rule helpers
2026-05-05 11:24:34 +02:00
kilo-maintainer[bot] 8fcc77a2ae release: v7.2.40 2026-05-05 09:05:27 +00:00
Marius f392debf0f fix(cli): serialize OAuth callback port tests (#9870)
* fix(cli): serialize OAuth callback port tests

* fix(cli): close MCP OAuth browser test listener race

The mock subprocess emitted its error via setTimeout(10ms), which raced the error listener attachment on slow Windows CI and left BrowserOpenFailed unpublished. Emit on newListener('error') via a microtask so the listener is always attached first. Revert the unrelated test-runner serialization.

* fix(cli): deliver MCP OAuth mock error to listener directly

Override subprocess.on in the mock so the error is queued to the registered listener as soon as it attaches. The previous newListener + emit chain still lost events on slow Windows CI because EventEmitter dispatch can race microtask draining.
2026-05-05 11:04:53 +02:00
kilo-maintainer[bot] 4e1bae01ae release: v7.2.39 2026-05-05 08:30:11 +00:00
Imanol Maiztegui 6cd26f31c6 fix(cli): skip web UI embed when packages/app is missing
The upstream build script tries to bundle packages/app/ which was removed in #9845. Guard the embed step so the CLI build still works, and revert the --skip-embed-web-ui workaround from #9885 since it is no longer needed.
2026-05-05 10:10:03 +02:00