Commit Graph

19365 Commits

Author SHA1 Message Date
Mark IJbema f3efadfe62 Merge branch 'main' into markijbema/kilo-opencode-v1.14.30 2026-05-06 09:48:59 +02:00
Mark IJbema 045a9b3291 fix versions 2026-05-06 09:34:48 +02:00
Mark IJbema 68b2725f22 Merge pull request #9942 from Kilo-Org/mark/check-workflow-allowlist
ci: guard against upstream workflow additions
2026-05-06 09:27:07 +02:00
Mark IJbema aa59e70660 test(cli): fix TUI sync provider setup 2026-05-06 09:22:21 +02:00
kiloconnect[bot] 37af1bc751 check-workflows: drop disabled list, only check runnable workflows 2026-05-06 07:11:04 +00:00
kilo-maintainer[bot] 71d091b6bc chore: update nix node_modules hashes 2026-05-06 07:09:04 +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
kiloconnect[bot] 0c21808597 fix(check-workflows): also catch .yaml files 2026-05-06 06:48:06 +00: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
kiloconnect[bot] ed973a93c0 annotate kilocode_change markers 2026-05-06 06:40:25 +00:00
kiloconnect[bot] 34959bfaac ci: guard against upstream workflow additions
Hardcodes the list of active and disabled workflows and fails CI when
.github/workflows/ drifts. Wired into check-opencode-annotations so we
don't add a new workflow file for this.
2026-05-06 06:38:28 +00:00
Thomas Brugman 40a4d5eae2 fix(ui): keep settings select within viewport (#9910)
Co-authored-by: Marius <marius@kilocode.ai>
2026-05-05 21:43:48 +00: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 ec57cd450c refactor: fix opencode annotations when rollback a kilocode change 2026-05-05 15:29:06 -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 ee3270ce1c ci: bump github actions to versions that natively target Node 24
Covers the "Node.js 20 is deprecated" warning emitted by actions/checkout,
actions/setup-node, actions/cache, actions/upload-artifact and
actions/download-artifact on their older releases.

Every bumped line carries an inline `# kilocode_change` marker since these
workflow files are shared with upstream OpenCode. When upstream bumps its
own action versions we just drop the markers on merge.
2026-05-05 13:03:12 -03:00
Catriel Müller 20428f2630 Revert bumps in upstream-shared workflows to minimize merge conflicts
Keeps the 4vcpu host change in test.yml (already annotated with
# kilocode_change). The Node 20 deprecation warning stays for now;
`FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true` already forces the v4 actions to
Node 24 at runtime, so the warning is informational and CI still works.
Bumping all actions would require 40+ kilocode_change markers across
shared upstream workflows and invite conflicts on every upstream merge —
we'll pick up the version bumps when upstream does.
2026-05-05 12:53:03 -03: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
Imanol Maiztegui 54b2c4dbd3 Merge pull request #9929 from Kilo-Org/imanol/fix-diff-hover-styling
fix(vscode): preserve diff tint on hover
2026-05-05 17:48:51 +02:00
Mark IJbema 9eff48304f Merge pull request #9930 from Kilo-Org/mark/fully-disable-stale-workflows
chore: fully disable stale workflows
2026-05-05 17:48:11 +02:00
Mark IJbema 4d14811e63 Merge pull request #9925 from Kilo-Org/chore/zdiff3-conflict-style
chore: enforce zdiff3 conflict style via postinstall
2026-05-05 17:37:01 +02:00
kiloconnect[bot] 2bf876a6cc docs(cli): clarify that normalize() is for canonicalization, not iconv 2026-05-05 15:35:24 +00:00
kiloconnect[bot] dff7761aac chore: move stale-disabled workflows to disabled folder
Consolidate workflow disabling: the six workflows previously soft-disabled
via `if: false` / `&& false` are now moved and renamed alongside the
other `.disabled` workflows so the disabling mechanism is consistent.
2026-05-05 15:34:31 +00:00
kiloconnect[bot] 5525f471d0 chore: reset stale-disabled workflows to upstream
Reset six workflow files that were soft-disabled via `if: false` / `&& false`
to the last merged upstream (v1.14.29) before moving them to the disabled folder
in a follow-up commit.
2026-05-05 15:34:21 +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 91ee8ea438 Merge pull request #9927 from Kilo-Org/mark/reset-to-upstream-round1
chore(upstream): drop stale kilocode_change markers + minor cosmetic drift
2026-05-05 17:26:18 +02:00
Imanol Maiztegui d49b5b005c fix(vscode): consolidate diff theme CSS variables into shared utility class
Extract duplicated Pierre diff CSS custom properties from multiple
stylesheets into a single shared `.kilo-diff-theme` class in
`webview-ui/src/styles/diff.css`. Apply the class to all diff container
elements (DiffPanel, FullScreenDiffView, DiffVirtualApp, PermissionDiff)
so hover overrides are consistently defined.

This fixes diff hover styling by adding the missing
`--diffs-bg-addition-hover-override` and
`--diffs-bg-deletion-hover-override` variables and eliminates ~130 lines
of duplicated CSS variable declarations across the codebase.
2026-05-05 17:22:42 +02: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] 05fabd3f1f chore: mark script/setup-git.ts with kilocode_change marker 2026-05-05 15:11:02 +00:00
Mark IJbema b5c584ceac Merge pull request #9916 from Kilo-Org/mark/sync-upstream-versions
chore: add sync-versions script for upstream merges
2026-05-05 17:05:13 +02:00
kiloconnect[bot] c239a6bb22 chore(config): enforce zdiff3 conflict style via postinstall
Add a new setup script to configure `merge.conflictStyle=zdiff3` locally
within the repository. This ensures that the common ancestor is visible
during merge conflicts, which is required for structural resolution by
`mergiraf` and simplifies manual conflict resolution.

The configuration is applied during `bun install` via the `postinstall`
hook and remains as a fallback for the upstream merge utilities.
2026-05-05 14:49:50 +00: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
Mark IJbema 6cff7212b3 Merge pull request #9902 from Kilo-Org/mark/find-reset-candidates
chore(upstream): add find-reset-candidates helper
2026-05-05 15:56:20 +02:00
Christiaan Arnoldus 37be66b0f2 Merge pull request #9909 from Kilo-Org/feat/utf-32-bom-encoding
feat(cli): support UTF-32 with BOM for file encoding detection
2026-05-05 15:50:48 +02:00
kiloconnect[bot] 3618565040 chore: annotate sync-versions.ts as kilocode new file 2026-05-05 13:45:44 +00:00
kiloconnect[bot] 6a989dc6bc chore: add sync-versions script for upstream merges
Upstream opencode stamps its own version into shared files (the Zed extension toml + any package.json it bumps), which leaves the tree pointing at an upstream release tag that doesn't exist on Kilo's pipeline — Zed download URLs silently 404 as a result.

script/sync-versions.ts rewrites every top-level package.json version and the Zed extension toml (version + 5 download URLs) to a single target in one shot. Defaults to the root package.json version, accepts an explicit version argument, and skips packages/kilo-jetbrains/ which tracks its own cadence.

Documented in .kilo/command/upstream-manual-merge.md as a dedicated step-10 commit after 'resolve merge conflicts' so version churn stays out of the behavioural merge commit.
2026-05-05 13:43:54 +00:00
Christiaan Arnoldus 7fa306c01e Merge branch 'main' into feat/utf-32-bom-encoding 2026-05-05 15:40:19 +02:00
Mark IJbema db1cffb744 fix(core): remove duplicate rotating-file-stream dep
Auto-merge left two entries for rotating-file-stream in @opencode-ai/core's
dependencies block. bun install rejected the JSON, failing every CI job
(typecheck, unit tests, visual regression) at the install step.
2026-05-05 15:38:45 +02:00